@Test public void does_not_fail_to_create_public_projects_when_organization_is_not_allowed_to_use_private_projects() { OrganizationDto organization = db.organizations().insert(); userSession.addPermission(PROVISION_PROJECTS, organization); doThrow(new BillingValidationsException("This organization cannot use project private")).when(billingValidations) .checkCanUpdateProjectVisibility(any(BillingValidations.Organization.class), eq(true)); CreateWsResponse result = ws.newRequest() .setParam("key", DEFAULT_PROJECT_KEY) .setParam("name", DEFAULT_PROJECT_NAME) .setParam("organization", organization.getKey()) .setParam("visibility", "public") .executeProtobuf(CreateWsResponse.class); assertThat(result.getProject().getVisibility()).isEqualTo("public"); }
@Test public void apply_project_visibility_public() { OrganizationDto organization = db.organizations().insert(); userSession.addPermission(PROVISION_PROJECTS, organization); CreateWsResponse result = ws.newRequest() .setParam("key", DEFAULT_PROJECT_KEY) .setParam("name", DEFAULT_PROJECT_NAME) .setParam("organization", organization.getKey()) .setParam("visibility", "public") .executeProtobuf(CreateWsResponse.class); assertThat(result.getProject().getVisibility()).isEqualTo("public"); }
@Test public void apply_project_visibility_private() { OrganizationDto organization = db.organizations().insert(); userSession.addPermission(PROVISION_PROJECTS, organization); CreateWsResponse result = ws.newRequest() .setParam("key", DEFAULT_PROJECT_KEY) .setParam("name", DEFAULT_PROJECT_NAME) .setParam("organization", organization.getKey()) .setParam("visibility", PRIVATE.getLabel()) .executeProtobuf(CreateWsResponse.class); assertThat(result.getProject().getVisibility()).isEqualTo("private"); }
@Test public void apply_default_project_visibility_private() { OrganizationDto organization = db.organizations().insert(); db.organizations().setNewProjectPrivate(organization, true); userSession.addPermission(PROVISION_PROJECTS, organization); CreateWsResponse result = ws.newRequest() .setParam("key", DEFAULT_PROJECT_KEY) .setParam("name", DEFAULT_PROJECT_NAME) .setParam("organization", organization.getKey()) .executeProtobuf(CreateWsResponse.class); assertThat(result.getProject().getVisibility()).isEqualTo("private"); }
@Test public void apply_default_project_visibility_public() { OrganizationDto organization = db.organizations().insert(); db.organizations().setNewProjectPrivate(organization, false); userSession.addPermission(PROVISION_PROJECTS, organization); CreateWsResponse result = ws.newRequest() .setParam("key", DEFAULT_PROJECT_KEY) .setParam("name", DEFAULT_PROJECT_NAME) .setParam("organization", organization.getKey()) .executeProtobuf(CreateWsResponse.class); assertThat(result.getProject().getVisibility()).isEqualTo("public"); }