/******************************************************************************************************************* * ******************************************************************************************************************/ private static void log (final @Nonnull String message, final @Nonnull BrowseResult browseResult) { log.info("{} BrowseResult(..., {}, {}, {})", message, browseResult.getCountLong(), browseResult.getTotalMatchesLong(), browseResult.getContainerUpdateIDLong()); if (log.isDebugEnabled()) { Stream.of(xmlPrettyPrinted(browseResult.getResult()).split("\n")) .forEach(s -> log.debug("{} {}", message, s)); } } }
@Override public void received (final @Nonnull ActionInvocation actionInvocation, final @Nonnull DIDLContent didl) { try { log.info("received() - {}", actionInvocation); final String fileName = String.format("%s/%s/%s/%s-%03d.txt", clientDeviceName, testSetName, sequenceName, sequenceName, n.getAndIncrement()); final Path expectedFile = EXPECTED_PATH.resolve(fileName); final Path actualFile = ACTUAL_PATH.resolve(fileName); Files.createDirectories(actualFile.getParent()); final String header = String.format("%s(%s)", actionInvocation.getAction().getName(), actionInvocation.getInputMap()); final DIDLParser parser = new DIDLParser(); final String baseUrl = resourceServer.absoluteUrl(""); final String result = xmlPrettyPrinted(parser.generate(didl)).replaceAll(baseUrl, "http://<server>/"); final String queries = String.format("QUERY COUNT: %d", RepositoryTrackFinder.getQueryCount()); Files.write(actualFile, (header + "\n" + result + "\n" + queries).getBytes(UTF_8)); assertSameContents(normalizedPath(expectedFile), normalizedPath(actualFile)); } catch (Throwable e) { log.error("", e); error.set(e); } latch.countDown(); }
@Test public void must_properly_generate_DIDL_content() throws Exception { // given final MediaFolder mediaFolder = mock(MediaFolder.class); when(mediaFolder.getPath()).thenReturn(Paths.get("/folder")); final PhotoItem photoItem = new PhotoItem(mediaFolder, "20150524-0034", "description"); final PhotoItemDIDLAdapter underTest = new PhotoItemDIDLAdapter(photoItem); // when final DIDLContent content = new DIDLContent(); content.addObject(underTest.toObject()); // then final DIDLParser parser = new DIDLParser(); final String xml = xmlPrettyPrinted(parser.generate(content)); final Path actualResult = Paths.get("target", "test-results", "didl.xml"); final Path expectedResult = Paths.get("target", "test-classes", "expected-results", "didl.xml"); Files.createDirectories(actualResult.getParent()); Files.write(actualResult, xml.getBytes(StandardCharsets.UTF_8)); assertSameContents(expectedResult.toFile(), actualResult.toFile()); } }