@Test public void defines_short_living_branches_hardcoded_quality_gate_conditions() { assertThat(ShortLivingBranchQualityGate.CONDITIONS) .extracting(Condition::getMetricKey, Condition::getOperator, Condition::getErrorThreshold) .containsExactly( tuple(CoreMetrics.OPEN_ISSUES_KEY, "GT", "0"), tuple(CoreMetrics.REOPENED_ISSUES_KEY, "GT", "0")); }
@Test public void main_branch_with_specified_name() { OrganizationDto organization = db.organizations().insert(); ComponentDto project = db.components().insertMainBranch(organization, "head"); userSession.logIn().addProjectPermission(USER, project); ListWsResponse response = ws.newRequest() .setParam("project", project.getDbKey()) .executeProtobuf(ListWsResponse.class); assertThat(response.getBranchesList()) .extracting(Branch::getName, Branch::getIsMain, Branch::getType) .containsExactlyInAnyOrder(tuple("head", true, BranchType.LONG)); }
@Test public void metric_key_with_and_string() { List<Criterion> criterion = FilterParser.parse("ncloc > 10 and operand = 5"); assertThat(criterion).hasSize(2).extracting(Criterion::getKey, Criterion::getValue).containsExactly(tuple("ncloc", "10"), tuple("operand", "5")); } }
@Test public void parse_filter_having_in_operator() { List<Criterion> criterion = FilterParser.parse("ncloc in (80,90)"); assertThat(criterion) .extracting(Criterion::getKey, Criterion::getOperator, Criterion::getValues, Criterion::getValue) .containsOnly( tuple("ncloc", IN, asList("80", "90"), null)); }
@Test public void parse_filter_having_only_key() { List<Criterion> criterion = FilterParser.parse("isFavorite"); assertThat(criterion) .extracting(Criterion::getKey, Criterion::getOperator, Criterion::getValue) .containsOnly( tuple("isFavorite", null, null)); }
@Test public void parse_filter_having_operator_and_value_ignores_white_spaces() { List<Criterion> criterion = FilterParser.parse(" ncloc > 10 "); assertThat(criterion) .extracting(Criterion::getKey, Criterion::getOperator, Criterion::getValue) .containsOnly( tuple("ncloc", GT, "10")); }
@Test public void parse_filter_having_operator_and_value() { List<Criterion> criterion = FilterParser.parse("ncloc > 10 and coverage <= 80"); assertThat(criterion) .extracting(Criterion::getKey, Criterion::getOperator, Criterion::getValue) .containsOnly( tuple("ncloc", GT, "10"), tuple("coverage", LTE, "80")); }
@Test public void parse_filter_having_in_operator_ignores_white_spaces() { List<Criterion> criterion = FilterParser.parse(" ncloc in ( 80 , 90 ) "); assertThat(criterion) .extracting(Criterion::getKey, Criterion::getOperator, Criterion::getValues, Criterion::getValue) .containsOnly( tuple("ncloc", IN, asList("80", "90"), null)); }
@Test public void parse_filter_with_key_having_underscore() { List<Criterion> criterion = FilterParser.parse(" alert_status = OK"); assertThat(criterion) .extracting(Criterion::getKey, Criterion::getOperator, Criterion::getValue) .containsOnly( tuple("alert_status", EQ, "OK")); }
@Test public void parse_filter_without_any_space_in_criteria() { List<Criterion> criterion = FilterParser.parse("ncloc>10 and coverage<=80 and tags in (java,platform)"); assertThat(criterion) .extracting(Criterion::getKey, Criterion::getOperator, Criterion::getValue, Criterion::getValues) .containsOnly( tuple("ncloc", GT, "10", emptyList()), tuple("coverage", LTE, "80", emptyList()), tuple("tags", IN, null, asList("java", "platform"))); }
@Test public void accept_key_ending_by_in() { List<Criterion> criterion = FilterParser.parse("endingbyin > 10"); assertThat(criterion) .extracting(Criterion::getKey, Criterion::getOperator, Criterion::getValue) .containsOnly( tuple("endingbyin", GT, "10")); }
@Test public void parse_filter_having_only_key_ignores_white_spaces() { List<Criterion> criterion = FilterParser.parse(" isFavorite "); assertThat(criterion) .extracting(Criterion::getKey, Criterion::getOperator, Criterion::getValue) .containsOnly( tuple("isFavorite", null, null)); }
@Test public void parse_filter_having_different_criterion_types() { List<Criterion> criterion = FilterParser.parse(" ncloc > 10 and coverage <= 80 and isFavorite "); assertThat(criterion) .extracting(Criterion::getKey, Criterion::getOperator, Criterion::getValue) .containsOnly( tuple("ncloc", GT, "10"), tuple("coverage", LTE, "80"), tuple("isFavorite", null, null)); }
@Test public void parse_filter_having_all_operators() { List<Criterion> criterion = FilterParser.parse("ncloc < 10 and coverage <= 80 and debt > 50 and duplication >= 56.5 and security_rating = 1 and language in (java,js)"); assertThat(criterion) .extracting(Criterion::getKey, Criterion::getOperator, Criterion::getValue, Criterion::getValues) .containsOnly( tuple("ncloc", LT, "10", emptyList()), tuple("coverage", LTE, "80", emptyList()), tuple("debt", GT, "50", emptyList()), tuple("duplication", GTE, "56.5", emptyList()), tuple("security_rating", EQ, "1", emptyList()), tuple("language", IN, null, asList("java", "js"))); }
@Test public void organizationPermissions_must_be_ordered() { assertThat(underTest.getAllOrganizationPermissions()) .extracting(OrganizationPermission::getKey) .containsExactly("admin", "gateadmin", "profileadmin", "provisioning", "scan", "applicationcreator", "portfoliocreator"); }
private void verifyDebugLogs(String log, String... otherLogs) { assertThat(logTester.getLogs()).hasSize(1 + otherLogs.length); assertThat(logTester.getLogs(LoggerLevel.DEBUG)) .extracting(LogAndArguments::getFormattedMsg) .containsOnly(Stream.concat(Stream.of(log), Arrays.stream(otherLogs)).toArray(String[]::new)); }
@Test public void sort_by_names() { ComponentTreeRequest wsRequest = newRequest(singletonList(NAME_SORT), true, null); List<ComponentDto> result = sortComponents(wsRequest); assertThat(result).extracting("name") .containsExactly("name-1", "name-2", "name-3", "name-4", "name-5", "name-6", "name-7", "name-8", "name-9"); }
@Test public void find_all() { db.prepareDbUnit(getClass(), "shared.xml"); assertThat(underTest.selectAll(dbSession)).extracting("id").containsExactly(2, 3, 1); }
@Test public void event_contains_no_previousStatus_if_measure_does_not_exist() { markProjectAsAnalyzed(project); List<QGChangeEvent> result = run(file1); assertThat(result) .extracting(QGChangeEvent::getPreviousStatus) .containsExactly(Optional.empty()); }
@Test public void testExecution() throws IOException { String content = "public class Foo {\n\n}"; createSourceFile(content); sensor.execute(context); assertThat(context.cpdTokens("foo:src/foo.xoo")).extracting("value", "startLine", "startUnit", "endUnit") .containsExactly( tuple("publicclassFoo{", 1, 1, 4), tuple("}", 3, 5, 5)); }