FilePersister implements Persister { @Override public void saveTargetResults(PersistMetadata metadata, List<TargetResult> results) { File file = checkParentFileAvailable(getTargetResultsFile(metadata)); LOG.debug("[Save TargetResults] ({})", file); LOG.trace("[Save TargetResults] (results: {}; meta: {})", results, metadata); try { JSONUtils.writeValueWithIndent(file, results); } catch (JSONException e) { LOG.debug("Failed to save TargetResults.", e); throw e; } } FilePersister();  FilePersister(FilePersisterConfig config); @Override void saveDiffImage(PersistMetadata metadata, BufferedImage image); @Override BufferedImage loadDiffImage(PersistMetadata metadata); @Override void saveScreenshot(PersistMetadata metadata, BufferedImage image); @Override InputStream getImageStream(PersistMetadata metadata); @Override BufferedImage loadScreenshot(PersistMetadata metadata); @Override void saveTargetResults(PersistMetadata metadata, List<TargetResult> results); @Override List<TargetResult> loadTargetResults(final PersistMetadata metadata); @Override void saveTestResult(PersistMetadata metadata, TestResult result); @Override TestResult loadTestResult(PersistMetadata metadata); @Override void saveExpectedIds(Map<String, Map<String, String>> expectedIds); @Override Map<String, Map<String, String>> loadExpectedIds(); File getResultDirectoryFile(); File getExpectedIdsFile(); File getTestResultFile(PersistMetadata metadata); File getTargetResultsFile(PersistMetadata metadata); File getScreenshotImageFile(PersistMetadata metadata); File getDiffImageFile(PersistMetadata metadata); String getExpectedIdsFileName(); String getTestResultFileName(); String getTargetResultsFileName(PersistMetadata metadata); String getScreenshotImageFileName(PersistMetadata metadata); String getDiffImageFileName(PersistMetadata metadata); static final String DEFAULT_EXPECTED_IDS_FILE_NAME; static final String DEFAULT_TEST_RESULT_FILE_NAME; }
@Test public void testSaveTargetResults() throws Exception { List<TargetResult> expected = JSONUtils.readValue( getClass().getResourceAsStream("FilePersister_TargetResults.json"), new TypeReference<List<TargetResult>>() { }); Map<String, Object> map = new HashMap<String, Object>(); map.put("platform", "WINDOWS"); map.put("browserName", "firefox"); map.put("version", "38"); PtlCapabilities capabilities = new PtlCapabilities(map); PersistMetadata metadata = new PersistMetadata("testId", "testClass", "testMethod", "scId", capabilities); persister.saveTargetResults(metadata, expected); File file = new File(BASE_DIRECTORY + "/testId/testClass/testMethod_scId_WINDOWS_firefox_38.json"); List<TargetResult> result = JSONUtils.readValue(file, new TypeReference<List<TargetResult>>() { }); assertThat(result, is(expected)); }