@Test
	public void testCheckOut() throws Exception {
		// add program to version control
		GTreeNode node = getNode(PROGRAM_A);
		addToVersionControl(node, false);

		selectNode(node);
		DockingActionIf action = getAction("CheckOut");
		SwingUtilities.invokeLater(() -> action.actionPerformed(getDomainFileActionContext(node)));
		waitForSwing();
		waitForTasks();
		DomainFile df = ((DomainFileNode) node).getDomainFile();
		assertTrue(df.isCheckedOut());
		Icon icon = df.getIcon(false);
		assertTrue(icon instanceof MultiIcon);
		Icon[] icons = ((MultiIcon) icon).getIcons();
		Icon checkOutIcon = ResourceManager.loadImage("images/checkex.png");
		URL checkOutIconUrl = getURL(checkOutIcon);
		boolean found = false;
		for (Icon element : icons) {
			URL elementUrl = getURL(element);
			if (Objects.equals(checkOutIconUrl, elementUrl)) {
				found = true;
				break;
			}
		}
		if (!found) {
			Assert.fail("Did not find checkout icon!");
		}
	}
Tests for version control (not multi user).
Ghidra/Test/IntegrationTest/src/test.slow/java/ghidra/framework/main/datatree/VersionControlAction2Test.java