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

		selectNode(node);
		final DockingActionIf action = getAction("CheckOut");
		runSwing(() -> action.actionPerformed(getDomainFileActionContext(node)), false);
		waitForSwing();

		waitForTasks();
		final DockingActionIf undoAction = getAction("UndoCheckOut");
		runSwing(() -> undoAction.actionPerformed(getDomainFileActionContext(node)));

		waitForSwing();
		waitForTasks();

		DomainFile df = ((DomainFileNode) node).getDomainFile();
		assertTrue(!df.isCheckedOut());
		Icon icon = df.getIcon(false);
		Icon[] icons = ((MultiIcon) icon).getIcons();
		Icon checkOutIcon = ResourceManager.loadImage("images/checkex.png");
		for (Icon element : icons) {
			if (checkOutIcon.equals(element)) {
				Assert.fail("Found unexpected check out icon!");
			}
		}
	}
Tests for version control (not multi user).
Ghidra/Test/IntegrationTest/src/test.slow/java/ghidra/framework/main/datatree/VersionControlAction1Test.java