@Test public void identifyZipFileTest() throws CommandExecutionException { zipIdentifierEngine.setRequestFactory(requestFactory); zipContainerContentIdentifier.setIdentifierEngine(zipIdentifierEngine); Object object = zipContainerContentIdentifier.getIdentifierEngine(); assertEquals(object.getClass(), zipIdentifierEngine.getClass()); try { InputStream in = new FileInputStream(containerSignatures); ContainerSignatureSaxParser parser = new ContainerSignatureSaxParser(); containerSignatureDefinitions = parser.parse(in); } catch (SignatureParseException e) { throw new CommandExecutionException("Can't parse container signature file"); } catch (Exception e) { throw new CommandExecutionException(e); } zipContainerContentIdentifier.init(containerSignatureDefinitions, "ZIP"); object = zipContainerContentIdentifier.getContainerIdentifierInit(); assertEquals(object.getClass(), containerIdentifierInit.getClass()); object = zipContainerContentIdentifier.getFormats(); assertEquals(object.getClass(), formats.getClass()); String fileName; File file = new File(zipFile); if (!file.exists()) { fail("ZIP test file not found"); } URI uri = file.toURI(); RequestIdentifier identifier = new RequestIdentifier(uri); identifier.setParentId(1L); try { fileName = file.getCanonicalPath(); RequestMetaData metaData = new RequestMetaData(file.length(), file.lastModified(), fileName); FileSystemIdentificationRequest request = new FileSystemIdentificationRequest(metaData, identifier); IdentificationResultCollection results = new IdentificationResultCollection(request); request.open(file); results = zipContainerContentIdentifier.process(request.getSourceInputStream(), results); if (results.getResults().isEmpty()) { fail("ZIP file not identified"); } String fmtExpected = ""; for (IdentificationResult identResult : results.getResults()) { if (identResult.getPuid().equals("fmt/189")) { fmtExpected = identResult.getPuid(); } } assertEquals(fmtExpected, "fmt/189"); } catch (IOException e) { throw new CommandExecutionException(e); } }