@Test public void return_empty_when_metrics_are_empty() { assertThat(MeasureQuery.builder() .setProjectUuids(asList("PROJECT_1", "PROJECT_2")) .setMetricKeys(emptyList()) .build().returnsEmpty()).isTrue(); assertThat(MeasureQuery.builder() .setProjectUuids(asList("PROJECT_1", "PROJECT_2")) .setMetricIds(emptyList()) .build().returnsEmpty()).isTrue(); }
@Test public void return_empty_when_components_are_empty() { assertThat(MeasureQuery.builder() .setComponentUuids("PROJECT", emptyList()) .build().returnsEmpty()).isTrue(); }
@Test public void return_empty_when_projects_are_empty() { assertThat(MeasureQuery.builder() .setProjectUuids(emptyList()) .build().returnsEmpty()).isTrue(); }
@Test public void create_query_from_projects() { MeasureQuery query = MeasureQuery.builder().setProjectUuids(asList("PROJECT_1", "PROJECT_2")).build(); assertThat(query.getProjectUuids()).containsOnly("PROJECT_1", "PROJECT_2"); assertThat(query.isOnProjects()).isTrue(); assertThat(query.isOnComponents()).isFalse(); assertThat(query.isOnSingleComponent()).isFalse(); }
@Test public void create_query_from_single_component_uuid() { MeasureQuery query = MeasureQuery.builder().setComponentUuid("FILE_1").build(); assertThat(query.getComponentUuids()).containsOnly("FILE_1"); assertThat(query.getComponentUuid()).isEqualTo("FILE_1"); assertThat(query.isOnProjects()).isFalse(); assertThat(query.isOnComponents()).isFalse(); assertThat(query.isOnSingleComponent()).isTrue(); }
@Test public void create_query_from_project_and_components() { MeasureQuery query = MeasureQuery.builder().setComponentUuids("PROJECT_1", asList("FILE_1", "FILE_2")).build(); assertThat(query.getProjectUuids()).containsOnly("PROJECT_1"); assertThat(query.getProjectUuid()).isEqualTo("PROJECT_1"); assertThat(query.getComponentUuids()).containsOnly("FILE_1", "FILE_2"); assertThat(query.isOnProjects()).isFalse(); assertThat(query.isOnComponents()).isTrue(); assertThat(query.isOnSingleComponent()).isFalse(); }
@Test public void fail_when_component_uuids_without_project_uuid() { expectedException.expect(NullPointerException.class); MeasureQuery.builder().setComponentUuids(null, asList("FILE_1", "FILE_2")).build(); }
@Test public void create_query_from_metric_ids() { MeasureQuery query = MeasureQuery.builder().setProjectUuids(asList("PROJECT_1", "PROJECT_2")).setMetricIds(asList(10, 11)).build(); assertThat(query.getMetricIds()).containsOnly(10, 11); assertThat(query.getMetricKeys()).isNull(); }
@Test public void create_query_from_metric_keys() { MeasureQuery query = MeasureQuery.builder().setProjectUuids(asList("PROJECT_1", "PROJECT_2")).setMetricKeys(asList("M1", "M2")).build(); assertThat(query.getMetricKeys()).containsOnly("M1", "M2"); assertThat(query.getMetricIds()).isNull(); }
@Test public void fail_when_using_metric_ids_and_metric_keys() { expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("Metric IDs and keys must not be set both"); MeasureQuery.builder().setMetricIds(asList(10, 11)).setMetricKeys(asList("M1", "M2")).setProjectUuids(asList("PROJECT_1", "PROJECT_2")).build(); }
@Test public void fail_when_no_component_uuid_filter() { expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("At least one filter on component UUID is expected"); MeasureQuery.builder().build(); }
verifyZeroMeasures(MeasureQuery.builder().setComponentUuids(project1.uuid(), emptyList())); verifyZeroMeasures(MeasureQuery.builder().setComponentUuid("MISSING_COMPONENT")); verifyZeroMeasures(MeasureQuery.builder().setProjectUuids(emptyList())); verifyZeroMeasures(MeasureQuery.builder().setProjectUuids(singletonList("MISSING_COMPONENT"))); verifyMeasures(MeasureQuery.builder().setComponentUuid("C1"), "M2", "M3"); verifyMeasures(MeasureQuery.builder().setComponentUuid("C1").setAnalysisUuid(pastAnalysis.getUuid()), "M1"); verifyMeasures(MeasureQuery.builder().setComponentUuid("C1").setAnalysisUuid(lastAnalysis.getUuid()), "M2", "M3"); verifyMeasures(MeasureQuery.builder().setComponentUuid("C1").setMetricId(NCLOC_METRIC_ID), "M2"); verifyMeasures(MeasureQuery.builder().setComponentUuid("C1").setAnalysisUuid(pastAnalysis.getUuid()).setMetricId(NCLOC_METRIC_ID), "M1"); verifyMeasures(MeasureQuery.builder().setComponentUuid("C1").setAnalysisUuid(lastAnalysis.getUuid()).setMetricId(NCLOC_METRIC_ID), "M2"); verifyMeasures(MeasureQuery.builder().setComponentUuid("C1").setMetricIds(asList(NCLOC_METRIC_ID, COVERAGE_METRIC_ID)), "M2", "M3"); verifyMeasures(MeasureQuery.builder().setComponentUuid("C1").setAnalysisUuid(pastAnalysis.getUuid()).setMetricIds(asList(NCLOC_METRIC_ID, COVERAGE_METRIC_ID)), "M1"); verifyMeasures(MeasureQuery.builder().setComponentUuid("C1").setAnalysisUuid(lastAnalysis.getUuid()).setMetricIds(asList(NCLOC_METRIC_ID, COVERAGE_METRIC_ID)), "M2", "M3"); verifyZeroMeasures(MeasureQuery.builder().setComponentUuid("C1").setMetricId(COMPLEXITY_METRIC_ID)); verifyZeroMeasures(MeasureQuery.builder().setComponentUuid("C1").setAnalysisUuid(pastAnalysis.getUuid()).setMetricId(COMPLEXITY_METRIC_ID)); verifyZeroMeasures(MeasureQuery.builder().setComponentUuid("C1").setAnalysisUuid(lastAnalysis.getUuid()).setMetricId(COMPLEXITY_METRIC_ID));