@Test @UseDataProvider("all") public void hasAlertStatus_returns_false_for_all_value_types_when_not_set(Measure measure) { assertThat(measure.hasQualityGateStatus()).isFalse(); }
@Test @UseDataProvider("all_types_MeasureDtos") public void toMeasure_creates_no_MeasureVariation_if_dto_has_none_whichever_the_ValueType(MeasureDto measureDto, Metric metric) { assertThat(underTest.toMeasure(measureDto, metric).get().hasVariation()).isFalse(); }
@Test @UseDataProvider("stringsWithChar0") public void setStacktrace_filters_out_char_zero(String withChar0, String expected) { underTest.setErrorStacktrace(withChar0); assertThat(underTest.getErrorStacktrace()).isEqualTo(expected); }
@Test(expected = IllegalStateException.class) @UseDataProvider("all_but_BOOLEAN_MEASURE") public void getBooleanValue_throws_ISE_for_all_value_types_except_BOOLEAN(Measure measure) { measure.getBooleanValue(); }
@Test(expected = IllegalStateException.class) @UseDataProvider("all_but_LEVEL_MEASURE") public void getLevelValue_throws_ISE_for_all_value_types_except_LEVEL(Measure measure) { measure.getLevelValue(); }
@Test(expected = IllegalStateException.class) @UseDataProvider("all") public void getAlertStatus_throws_ISE_for_all_value_types_when_not_set(Measure measure) { measure.getQualityGateStatus(); }
@Test @UseDataProvider("reportTypes") public void reportMaxDepth_accepts_type_if_report_type(Type reportType) { CrawlerDepthLimit.reportMaxDepth(reportType); }
@Test @UseDataProvider("ending_date_times") public void param_as_ending_date_time(String stringDate, Date expectedDate) { assertThat(parseEndingDateOrDateTime(stringDate)).isEqualTo(expectedDate); }
@Test @UseDataProvider("sonarJdbcAndDbcpProperties") public void shouldThrowISEIfDuplicatedResolvedPropertiesWithDifferentValue(String jdbcProperty, String dbcpProperty) { Properties props = new Properties(); props.setProperty(jdbcProperty, "100"); props.setProperty(dbcpProperty, "200"); expectedException.expect(IllegalStateException.class); expectedException.expectMessage(String.format("Duplicate property declaration for resolved jdbc key '%s': conflicting values are", removeStart(dbcpProperty, SONAR_JDBC))); DefaultDatabase.extractCommonsDbcpProperties(props); }
@Test @UseDataProvider("all_types_Measures") public void toMeasureDto_set_componentId_and_snapshotId_from_method_arguments(Measure measure, Metric metric) { MeasureDto measureDto = underTest.toMeasureDto(measure, metric, SOME_COMPONENT); assertThat(measureDto.getComponentUuid()).isEqualTo(SOME_COMPONENT.getUuid()); }
@Test @UseDataProvider("variousEmptyStrings") public void add_throws_IAE_if_argument_is_empty(String emptyString) { expectJvmOptionNotEmptyAndStartByDashIAE(); underTest.add(emptyString); }
@Test @UseDataProvider("all") public void updateMeasureBuilder_creates_Measure_with_same_immutable_properties(Measure measure) { Measure newMeasure = Measure.updatedMeasureBuilder(measure).create(); assertThat(newMeasure.getValueType()).isEqualTo(measure.getValueType()); assertThat(newMeasure.hasQualityGateStatus()).isEqualTo(measure.hasQualityGateStatus()); assertThat(newMeasure.hasVariation()).isEqualTo(measure.hasVariation()); }
@Test @UseDataProvider("digitCharsDataProvider") public void constructor_throws_IAE_if_table_name_starts_with_number(char number) { expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("Table name must not start by a number or '_', got '" + number + "a'"); new CreateTableBuilder(mock(Dialect.class), number + "a"); }
@Test @UseDataProvider("allMethodsToAddExtension") public void install_does_not_install_extensions_annotated_with_expected_annotation_but_filtered_out(BiConsumer<CoreExtension.Context, Collection<Object>> extensionAdder) { List<Object> extensions = ImmutableList.of(WestSideClass.class, EastSideClass.class, OtherSideClass.class, Latitude.class); CoreExtension coreExtension = newCoreExtension(context -> extensionAdder.accept(context, extensions)); when(coreExtensionRepository.loadedCoreExtensions()).thenReturn(Stream.of(coreExtension)); ComponentContainer container = new ComponentContainer(); underTest.install(container, noExtensionFilter(), t -> t != Latitude.class); assertAddedExtensions(container, WestSideClass.class); assertPropertyDefinitions(container); }
@Test @UseDataProvider("allMethodsToAddExtension") public void install_adds_providers_to_container_and_install_extensions_they_provide_when_annotated_with_expected_annotation(BiConsumer<CoreExtension.Context, Collection<Object>> extensionAdder) { List<Object> extensions = ImmutableList.of(WestSideProvider.class, PartiallyWestSideProvider.class, EastSideProvider.class); CoreExtension coreExtension = newCoreExtension(context -> extensionAdder.accept(context, extensions)); when(coreExtensionRepository.loadedCoreExtensions()).thenReturn(Stream.of(coreExtension)); ComponentContainer container = new ComponentContainer(); underTest.install(container, noExtensionFilter(), noAdditionalSideFilter()); assertAddedExtensions(container, WestSideProvider.class, WestSideProvided.class, PartiallyWestSideProvider.class); assertPropertyDefinitions(container); }
@Test @UseDataProvider("emptyStrings") public void getStringArray_parses_empty_string_differently_from_Settings_ifmultivalue_property(String emptyValue) { settings.setProperty(multivalueKey, emptyValue); Configuration configuration = underTest.provide(settings); getStringArrayBehaviorDiffers(configuration, multivalueKey, EMPTY_STRING_ARRAY); }
@Test @UseDataProvider("anyTypeButFile") public void register_fails_with_IAE_if_component_is_not_a_file(Component.Type anyTypeButFile) { Component component = newComponent(anyTypeButFile); expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("component must be a file"); underTest.register(component); }
@Test @UseDataProvider("componentsOfAllTypesButFile") public void getRawSourceHash_throws_IAE_if_Component_argument_is_not_FILE(Component component) { expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("File source information can only be retrieved from FILE components (got " + component.getType() + ")"); underTest.getRawSourceHash(component); }
@Test @UseDataProvider("backdatingDateCases") public void should_not_backdate_if_issue_existed_before(BiConsumer<DefaultIssue, ScmInfo> configure, long expectedDate) { previousAnalysisWas(2000L); currentAnalysisIs(3000L); makeIssueNotNew(); configure.accept(issue, createMockScmInfo()); setRuleUpdatedAt(2800L); run(); assertNoChangeOfCreationDate(); }
@Test @UseDataProvider("backdatingDateCases") public void should_backdate_date_if_scm_is_available_and_current_component_is_new_file(BiConsumer<DefaultIssue, ScmInfo> configure, long expectedDate) { previousAnalysisWas(2000L); currentAnalysisIs(3000L); makeIssueNew(); configure.accept(issue, createMockScmInfo()); currentComponentIsNewFile(); run(); assertChangeOfCreationDateTo(expectedDate); }