@Test public void write_project_basedir() throws Exception { String path = "some/dir"; Path relativePathFromScmRoot = Paths.get(path); when(scmProvider.relativePathFromScmRoot(any(Path.class))).thenReturn(relativePathFromScmRoot); File outputDir = temp.newFolder(); underTest.publish(new ScannerReportWriter(outputDir)); ScannerReportReader reader = new ScannerReportReader(outputDir); ScannerReport.Metadata metadata = reader.readMetadata(); assertThat(metadata.getRelativePathFromScmRoot()).isEqualTo(path); }
@Test public void should_not_crash_when_scm_provider_does_not_support_revisionId() throws IOException { String relativePathFromScmRoot = "some/path"; ScmProvider fakeScmProvider = new ScmProvider() { @Override public String key() { return "foo"; } @Override public Path relativePathFromScmRoot(Path path) { return Paths.get(relativePathFromScmRoot); } }; when(scmConfiguration.provider()).thenReturn(fakeScmProvider); File outputDir = temp.newFolder(); underTest.publish(new ScannerReportWriter(outputDir)); ScannerReportReader reader = new ScannerReportReader(outputDir); ScannerReport.Metadata metadata = reader.readMetadata(); assertThat(metadata.getRelativePathFromScmRoot()).isEqualTo(relativePathFromScmRoot); } }
@Override public void execute() { try (DbSession dbSession = dbClient.openSession(false)) { ScannerReport.Component reportProject = reportReader.readComponent(analysisMetadataHolder.getRootComponentRef()); ComponentKeyGenerator keyGenerator = loadKeyGenerator(); ComponentKeyGenerator publicKeyGenerator = loadPublicKeyGenerator(); // root key of branch, not necessarily of project String rootKey = keyGenerator.generateKey(reportProject, null); // loads the UUIDs from database. If they don't exist, then generate new ones ComponentUuidFactory componentUuidFactory = new ComponentUuidFactory(dbClient, dbSession, rootKey); String rootUuid = componentUuidFactory.getOrCreateForKey(rootKey); SnapshotDto baseAnalysis = loadBaseAnalysis(dbSession, rootUuid); ComponentTreeBuilder builder = new ComponentTreeBuilder(keyGenerator, publicKeyGenerator, componentUuidFactory::getOrCreateForKey, reportReader::readComponent, analysisMetadataHolder.getProject(), analysisMetadataHolder.getBranch(), baseAnalysis); String relativePathFromScmRoot = reportReader.readMetadata().getRelativePathFromScmRoot(); Component project = builder.buildProject(reportProject, relativePathFromScmRoot); treeRootHolder.setRoot(project); analysisMetadataHolder.setBaseAnalysis(toAnalysis(baseAnalysis)); } }
analysisMetadataHolder.getBranch(), baseAnalysis, issueRelocationToRoot); String relativePathFromScmRoot = metadata.getRelativePathFromScmRoot();