aboutsummaryrefslogtreecommitdiffstats
path: root/it/it-tests/src/test/java
diff options
context:
space:
mode:
authorStas Vilchik <stas-vilchik@users.noreply.github.com>2017-05-04 11:19:55 +0200
committerGitHub <noreply@github.com>2017-05-04 11:19:55 +0200
commite10f04d5b4055e2813ac01a811b325a414797c4e (patch)
tree74c640ed1c6d2ef7bd0bc95b03168a130dd3a5ed /it/it-tests/src/test/java
parentb09e7a4604b75b7e24e9f0543971db1e70d963b4 (diff)
downloadsonarqube-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.java24
-rw-r--r--it/it-tests/src/test/java/pageobjects/ProjectPermissionsPage.java7
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;
+ }
}