@Test
	public void testRemoteCabAlreadyExistLocal() throws IOException, CancelledException {

		SymbolServerService symbolServerService =
			new SymbolServerService(localSymbolStore1,
				List.of(new DummySymbolServer(smallCabFileBytes, true)));

		List<SymbolFileLocation> results =
			symbolServerService.find(SymbolFileInfo.fromValues("test.pdb", "11223344", 1),
				FindOption.of(FindOption.ALLOW_UNTRUSTED), TaskMonitor.DUMMY);

		assertEquals(1, results.size());
		System.out.println(results.get(0).getLocationStr());

		// cheese the file into the local symbol store after the remote file has been found
		// but before it has been downloaded
		mkFile(new File(localSymbolStore1Root, "test.pdb/112233441/test.pdb"),
			"nottest".getBytes());

		// normally this would download the remote file and decompress it
		File pdbFile = symbolServerService.getSymbolFile(results.get(0), TaskMonitor.DUMMY);

		// ensure that the original file wasn't overwritten by the new file
		assertEquals("nottest\n" /* extra \n because FileUtilities.getText() adds it */,
			FileUtilities.getText(pdbFile));
	}
Tests for Pdb SymbolServer stuff that need to be in the Integration module because they depend 
on FileFormat's file system stuff to decompress .cab files
Ghidra/Test/IntegrationTest/src/test/java/pdb/symbolserver/SymbolServerService2Test.java