@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 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_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(); }
private void verifyZeroMeasures(MeasureQuery.Builder query) { assertThat(underTest.selectByQuery(db.getSession(), query.build())).isEmpty(); }
private void verifyMeasures(MeasureQuery.Builder query, String... expectedIds) { List<MeasureDto> measures = underTest.selectByQuery(db.getSession(), query.build()); assertThat(measures).extracting(MeasureDto::getData).containsOnly(expectedIds); }
@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(); }
@Test public void return_empty_when_projects_are_empty() { assertThat(MeasureQuery.builder() .setProjectUuids(emptyList()) .build().returnsEmpty()).isTrue(); }
@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_component_uuids_without_project_uuid() { expectedException.expect(NullPointerException.class); MeasureQuery.builder().setComponentUuids(null, asList("FILE_1", "FILE_2")).build(); }
@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 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(); }