@Test public void update_tags_for_default_organization() { logInAsQProfileAdministrator(); RuleDefinitionDto rule = db.rules().insert(setSystemTags("stag1", "stag2")); db.rules().insertOrUpdateMetadata(rule, db.getDefaultOrganization(), setTags("tag1", "tag2"), m -> m.setNoteData(null).setNoteUserUuid(null)); Rules.UpdateResponse result = ws.newRequest().setMethod("POST") .setParam(PARAM_KEY, rule.getKey().toString()) .setParam(PARAM_TAGS, "tag2,tag3") .executeProtobuf(Rules.UpdateResponse.class); Rules.Rule updatedRule = result.getRule(); assertThat(updatedRule).isNotNull(); assertThat(updatedRule.getKey()).isEqualTo(rule.getKey().toString()); assertThat(updatedRule.getSysTags().getSysTagsList()).containsExactly(rule.getSystemTags().toArray(new String[0])); assertThat(updatedRule.getTags().getTagsList()).containsExactly("tag2", "tag3"); }
@Test public void update_tags_for_specific_organization() { OrganizationDto organization = db.organizations().insert(); logInAsQProfileAdministrator(organization.getUuid()); RuleDefinitionDto rule = db.rules().insert(setSystemTags("stag1", "stag2")); db.rules().insertOrUpdateMetadata(rule, organization, setTags("tagAlt1", "tagAlt2"), m -> m.setNoteData(null).setNoteUserUuid(null)); Rules.UpdateResponse result = ws.newRequest().setMethod("POST") .setParam(PARAM_KEY, rule.getKey().toString()) .setParam(PARAM_TAGS, "tag2,tag3") .setParam(PARAM_ORGANIZATION, organization.getKey()) .executeProtobuf(Rules.UpdateResponse.class); Rules.Rule updatedRule = result.getRule(); assertThat(updatedRule).isNotNull(); // check response assertThat(updatedRule.getKey()).isEqualTo(rule.getKey().toString()); assertThat(updatedRule.getSysTags().getSysTagsList()).containsExactly(rule.getSystemTags().toArray(new String[0])); assertThat(updatedRule.getTags().getTagsList()).containsExactly("tag2", "tag3"); // check database RuleMetadataDto metadataOfSpecificOrg = db.getDbClient().ruleDao().selectMetadataByKey(db.getSession(), rule.getKey(), organization) .orElseThrow(() -> new IllegalStateException("Cannot load metadata")); assertThat(metadataOfSpecificOrg.getTags()).containsExactly("tag2", "tag3"); }
@Test public void show_rule_tags_in_default_organization() { RuleDefinitionDto rule = db.rules().insert(); RuleMetadataDto metadata = db.rules().insertOrUpdateMetadata(rule, db.getDefaultOrganization(), setTags("tag1", "tag2"), m -> m.setNoteData(null).setNoteUserUuid(null)); ShowResponse result = ws.newRequest() .setParam(PARAM_KEY, rule.getKey().toString()) .executeProtobuf(ShowResponse.class); assertThat(result.getRule().getTags().getTagsList()) .containsExactly(metadata.getTags().toArray(new String[0])); }
@Test public void show_rule_tags_in_specific_organization() { RuleDefinitionDto rule = db.rules().insert(); OrganizationDto organization = db.organizations().insert(); RuleMetadataDto metadata = db.rules().insertOrUpdateMetadata(rule, organization, setTags("tag1", "tag2"), m -> m.setNoteData(null).setNoteUserUuid(null)); ShowResponse result = ws.newRequest() .setParam(PARAM_KEY, rule.getKey().toString()) .setParam(PARAM_ORGANIZATION, organization.getKey()) .executeProtobuf(ShowResponse.class); assertThat(result.getRule().getTags().getTagsList()) .containsExactly(metadata.getTags().toArray(new String[0])); }