### Question:
JobDependencies { public static Collection<URI> get(RunnerJob job) throws ExecutionException { Collection<URI> uris = getDependencyUris(job); if (uris.isEmpty()) { return Collections.emptyList(); } Map<String, String> versions = getDependencyVersions(job); if (versions.isEmpty()) { return uris; } return updateVersions(job, uris, versions); } private  JobDependencies(); static Collection<URI> get(RunnerJob job);  }### Answer:
@Test public void test() throws Exception { Path payloadDir = Files.createTempDirectory("test"); Path versionsFile = payloadDir.resolve(Constants.Files.CONCORD_SYSTEM_DIR_NAME) .resolve(Constants.Files.DEPENDENCY_VERSIONS_FILE_NAME); Files.createDirectories(versionsFile.getParent()); try (InputStream in = JobDependenciesTest.class.getResourceAsStream("versions.properties")) { Files.copy(in, versionsFile); } Map<String, Object> cfg = new HashMap<>(); cfg.put(Constants.Request.DEPENDENCIES_KEY, Arrays.asList( "file: "mvn: "mvn: "mvn: "mvn: "mvn: )); RunnerJob j = mock(RunnerJob.class); when(j.getProcessCfg()).thenReturn(cfg); when(j.getPayloadDir()).thenReturn(payloadDir); RunnerLog log = mock(RunnerLog.class); when(j.getLog()).thenReturn(log); Collection<URI> uris = JobDependencies.get(j); assertEquals(6, uris.size()); assertContains("mvn: assertContains("mvn: assertContains("mvn: assertContains("mvn: verify(log, times(1)).warn(anyString(), any()); }