@Test
	public void testImportTool() throws Exception {
		// action for import a tool
		final ToolChest tc = frontEndTool.getToolServices().getToolChest();
		int count = tc.getToolCount();

		String toolNamePrefix = "TestCodeBrowser";
		final File cbFile = ResourceManager
				.getResourceFile("defaultTools/" + toolNamePrefix + ToolUtils.TOOL_EXTENSION);
		assertNotNull(cbFile);

		DockingActionIf importAction = getAction("Import Tool");
		performAction(importAction, false);

		GhidraFileChooser chooser = waitForDialogComponent(GhidraFileChooser.class);

		setSelectedFile(chooser, cbFile);

		pressButtonByText(chooser, "Import");
		waitForSwing();
		assertEquals(count + 1, tc.getToolCount());

		ToolTemplate[] configs = tc.getToolTemplates();
		final ArrayList<String> list = new ArrayList<>();
		for (ToolTemplate config : configs) {
			if (config.getName().startsWith(toolNamePrefix + "_")) {
				list.add(config.getName());
			}
		}
		assertTrue(list.size() > 0);
		Collections.sort(list);
		runSwing(() -> tc.remove(list.get(list.size() - 1)));
	}
Tests for tool actions on the front end (Ghidra project window)
Ghidra/Test/IntegrationTest/src/test.slow/java/ghidra/framework/main/ToolActionManagerTest.java