diff options
author | Stas Vilchik <stas-vilchik@users.noreply.github.com> | 2017-05-04 11:19:55 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-04 11:19:55 +0200 |
commit | e10f04d5b4055e2813ac01a811b325a414797c4e (patch) | |
tree | 74c640ed1c6d2ef7bd0bc95b03168a130dd3a5ed /it/it-tests/src/test/java | |
parent | b09e7a4604b75b7e24e9f0543971db1e70d963b4 (diff) | |
download | sonarqube-e10f04d5b4055e2813ac01a811b325a414797c4e.tar.gz sonarqube-e10f04d5b4055e2813ac01a811b325a414797c4e.zip |
SONAR-9122 prevent setting a project as private (#2015)
Diffstat (limited to 'it/it-tests/src/test/java')
-rw-r--r-- | it/it-tests/src/test/java/it/organization/BillingTest.java | 24 | ||||
-rw-r--r-- | it/it-tests/src/test/java/pageobjects/ProjectPermissionsPage.java | 7 |
2 files changed, 31 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 79dd8fe8ca8..82af2341319 100644 --- a/it/it-tests/src/test/java/it/organization/BillingTest.java +++ b/it/it-tests/src/test/java/it/organization/BillingTest.java @@ -38,6 +38,7 @@ import org.sonarqube.ws.client.organization.CreateWsRequest; import org.sonarqube.ws.client.organization.UpdateProjectVisibilityWsRequest; import org.sonarqube.ws.client.project.CreateRequest; import org.sonarqube.ws.client.project.UpdateVisibilityRequest; +import pageobjects.Navigation; import util.ItUtils; import util.user.UserRule; @@ -67,6 +68,9 @@ public class BillingTest { @Rule public ExpectedException expectedException = ExpectedException.none(); + @Rule + public Navigation nav = Navigation.get(orchestrator); + private static WsClient adminClient; @BeforeClass @@ -214,6 +218,26 @@ public class BillingTest { } } + @Test + public void ui_does_not_allow_to_turn_project_to_private() { + String projectKey = createPublicProject(createOrganization()); + setServerProperty(orchestrator, "sonar.billing.preventUpdatingProjectsVisibilityToPrivate", "true"); + + nav.logIn().asAdmin().openProjectPermissions(projectKey) + .shouldBePublic() + .shouldNotAllowPrivate(); + } + + @Test + public void ui_allows_to_turn_project_to_private() { + String projectKey = createPublicProject(createOrganization()); + setServerProperty(orchestrator, "sonar.billing.preventUpdatingProjectsVisibilityToPrivate", "false"); + + nav.logIn().asAdmin().openProjectPermissions(projectKey) + .shouldBePublic() + .turnToPrivate(); + } + private static String createOrganization() { String key = newOrganizationKey(); adminClient.organizations().create(new CreateWsRequest.Builder().setKey(key).setName(key).build()).getOrganization(); diff --git a/it/it-tests/src/test/java/pageobjects/ProjectPermissionsPage.java b/it/it-tests/src/test/java/pageobjects/ProjectPermissionsPage.java index 11f23543177..2bb8a07ba89 100644 --- a/it/it-tests/src/test/java/pageobjects/ProjectPermissionsPage.java +++ b/it/it-tests/src/test/java/pageobjects/ProjectPermissionsPage.java @@ -19,6 +19,7 @@ */ package pageobjects; +import static com.codeborne.selenide.Condition.cssClass; import static com.codeborne.selenide.Condition.exist; import static com.codeborne.selenide.Condition.visible; import static com.codeborne.selenide.Selenide.$; @@ -51,4 +52,10 @@ public class ProjectPermissionsPage { shouldBePrivate(); return this; } + + public ProjectPermissionsPage shouldNotAllowPrivate() { + $("#visibility-private").shouldHave(cssClass("text-muted")); + $(".upgrade-organization-box").shouldBe(visible); + return this; + } } |