public QProfile build() { return new QProfile(key, name, language, rulesUpdatedAt); } }
private static Collection<String> getKeys(QualityProfiles qProfiles) { List<String> keys = new ArrayList<>(qProfiles.findAll().size()); for (QProfile qp : qProfiles.findAll()) { keys.add(qp.getKey()); } return keys; } }
@VisibleForTesting void execute(Logger logger) { String defaultName = config.get(QualityProfiles.SONAR_PROFILE_PROP).orElse(null); boolean defaultNameUsed = StringUtils.isBlank(defaultName); for (String lang : store.languages()) { QProfile profile = profiles.findByLanguage(lang); if (profile == null) { logger.warn("No Quality profile found for language {}", lang); } else { logger.info("Quality profile for {}: {}", lang, profile.getName()); if (isNotEmpty(defaultName) && defaultName.equals(profile.getName())) { defaultNameUsed = true; } } } if (!defaultNameUsed && !store.languages().isEmpty()) { throw MessageException.of("sonar.profile was set to '" + defaultName + "' but didn't match any profile for any language. Please check your configuration."); } } }
@Test public void testEquals() { QProfile q1 = new QProfile("k1", "name1", null, null); QProfile q2 = new QProfile("k1", "name2", null, null); QProfile q3 = new QProfile("k3", "name3", null, null); assertThat(q1).isEqualTo(q2); assertThat(q1).isNotEqualTo(q3); assertThat(q2).isNotEqualTo(q3); assertThat(q1).isNotEqualTo(null); assertThat(q1).isNotEqualTo("str"); assertThat(q1.hashCode()).isEqualTo(q2.hashCode()); assertThat(q1.hashCode()).isNotEqualTo(q3.hashCode()); assertThat(q2.hashCode()).isNotEqualTo(q3.hashCode()); } }
builder.putQprofilesPerLanguage(qp.getLanguage(), ScannerReport.Metadata.QProfile.newBuilder() .setKey(qp.getKey()) .setLanguage(qp.getLanguage()) .setName(qp.getName()) .setRulesUpdatedAt(qp.getRulesUpdatedAt().getTime()).build());
builder.putQprofilesPerLanguage(qp.getLanguage(), ScannerReport.Metadata.QProfile.newBuilder() .setKey(qp.getKey()) .setLanguage(qp.getLanguage()) .setName(qp.getName()) .setRulesUpdatedAt(qp.getRulesUpdatedAt().getTime()).build());
@Before public void before() throws Exception { store = new InputComponentStore(mock(BranchConfiguration.class)); profiles = mock(QualityProfiles.class); QProfile javaProfile = new QProfile("p1", "My Java profile", "java", null); when(profiles.findByLanguage("java")).thenReturn(javaProfile); QProfile cobolProfile = new QProfile("p2", "My Cobol profile", "cobol", null); when(profiles.findByLanguage("cobol")).thenReturn(cobolProfile); }
private static Collection<String> getKeys(QualityProfiles qProfiles) { List<String> keys = new ArrayList<>(qProfiles.findAll().size()); for (QProfile qp : qProfiles.findAll()) { keys.add(qp.getKey()); } return keys; } }
@VisibleForTesting void execute(Logger logger) { String defaultName = config.get(QualityProfiles.SONAR_PROFILE_PROP).orElse(null); boolean defaultNameUsed = StringUtils.isBlank(defaultName); for (String lang : store.languages()) { QProfile profile = profiles.findByLanguage(lang); if (profile == null) { logger.warn("No Quality profile found for language {}", lang); } else { logger.info("Quality profile for {}: {}", lang, profile.getName()); if (isNotEmpty(defaultName) && defaultName.equals(profile.getName())) { defaultNameUsed = true; } } } if (!defaultNameUsed && !store.languages().isEmpty()) { throw MessageException.of("sonar.profile was set to '" + defaultName + "' but didn't match any profile for any language. Please check your configuration."); } } }
@Test public void write_metadata() throws Exception { Date date = new Date(); when(qProfiles.findAll()).thenReturn(asList(new QProfile("q1", "Q1", "java", date))); when(pluginRepository.getPluginsByKey()).thenReturn(ImmutableMap.of( "java", new ScannerPlugin("java", 12345L, null), "php", new ScannerPlugin("php", 45678L, null))); File outputDir = temp.newFolder(); ScannerReportWriter writer = new ScannerReportWriter(outputDir); underTest.publish(writer); ScannerReportReader reader = new ScannerReportReader(outputDir); ScannerReport.Metadata metadata = reader.readMetadata(); assertThat(metadata.getAnalysisDate()).isEqualTo(1234567L); assertThat(metadata.getProjectKey()).isEqualTo("root"); assertThat(metadata.getModulesProjectRelativePathByKeyMap()).containsOnly(entry("module", "modulePath"), entry("root", "")); assertThat(metadata.getQprofilesPerLanguageMap()).containsOnly(entry("java", org.sonar.scanner.protocol.output.ScannerReport.Metadata.QProfile.newBuilder() .setKey("q1") .setName("Q1") .setLanguage("java") .setRulesUpdatedAt(date.getTime()) .build())); assertThat(metadata.getPluginsByKey()).containsOnly(entry("java", org.sonar.scanner.protocol.output.ScannerReport.Metadata.Plugin.newBuilder() .setKey("java") .setUpdatedAt(12345) .build()), entry("php", org.sonar.scanner.protocol.output.ScannerReport.Metadata.Plugin.newBuilder() .setKey("php") .setUpdatedAt(45678) .build())); }
public QProfile build() { return new QProfile(key, name, language, rulesUpdatedAt); } }