diff options
author | Julien Lancelot <julien.lancelot@sonarsource.com> | 2017-04-28 10:11:18 +0200 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@sonarsource.com> | 2017-04-28 18:36:09 +0200 |
commit | b700e83c77136ebacb4465d5cb403e46bb51abc8 (patch) | |
tree | 7f6942ce9afd0410019f53a8eaaf659276b81502 /it/it-tests/src/test/java | |
parent | 70ff3c22c1f2da24601ec099fa48a55ca5a9f035 (diff) | |
download | sonarqube-b700e83c77136ebacb4465d5cb403e46bb51abc8.tar.gz sonarqube-b700e83c77136ebacb4465d5cb403e46bb51abc8.zip |
SONAR-9124 Allow preventing create private in api/projects/create
Diffstat (limited to 'it/it-tests/src/test/java')
-rw-r--r-- | it/it-tests/src/test/java/it/organization/BillingTest.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/it/it-tests/src/test/java/it/organization/BillingTest.java b/it/it-tests/src/test/java/it/organization/BillingTest.java index ef90a697432..79dd8fe8ca8 100644 --- a/it/it-tests/src/test/java/it/organization/BillingTest.java +++ b/it/it-tests/src/test/java/it/organization/BillingTest.java @@ -188,6 +188,32 @@ public class BillingTest { } } + @Test + public void does_not_fail_to_create_private_project() { + String organizationKey = createOrganization(); + String projectKey = newProjectKey(); + setServerProperty(orchestrator, "sonar.billing.preventUpdatingProjectsVisibilityToPrivate", "false"); + + adminClient.projects().create(CreateRequest.builder().setKey(projectKey).setName(projectKey).setOrganization(organizationKey).setVisibility("public").build()); + + assertWsResponseAsAdmin(new GetRequest("api/navigation/component").setParam("componentKey", projectKey), "\"visibility\":\"public\""); + } + + @Test + public void fail_to_create_private_project() { + String organizationKey = createOrganization(); + String projectKey = newProjectKey(); + setServerProperty(orchestrator, "sonar.billing.preventUpdatingProjectsVisibilityToPrivate", "true"); + + try { + adminClient.projects().create(CreateRequest.builder().setKey(projectKey).setName(projectKey).setOrganization(organizationKey).setVisibility("private").build()); + fail(); + } catch (HttpException ex) { + assertThat(ex.code()).isEqualTo(400); + assertThat(ex.content()).contains(format("Organization %s cannot use private project", organizationKey)); + } + } + private static String createOrganization() { String key = newOrganizationKey(); adminClient.organizations().create(new CreateWsRequest.Builder().setKey(key).setName(key).build()).getOrganization(); |