private void checkMembershipOnPaidOrganization(OrganizationDto organization) { if (!organization.getSubscription().equals(PAID)) { return; } userSession.checkMembership(organization); }
private void checkMembershipOnPaidOrganization(OrganizationDto organization) { if (!organization.getSubscription().equals(PAID)) { return; } userSession.checkMembership(organization); }
boolean areActiveRulesVisible(OrganizationDto organization) { if (!organization.getSubscription().equals(PAID)) { return true; } return userSession.hasMembership(organization); }
private void verifyOrganization(OrganizationDto dto, OrganizationDto expected) { assertThat(dto.getUuid()).isEqualTo(expected.getUuid()); assertThat(dto.getKey()).isEqualTo(expected.getKey()); assertThat(dto.getName()).isEqualTo(expected.getName()); assertThat(dto.getDescription()).isEqualTo(expected.getDescription()); assertThat(dto.getUrl()).isEqualTo(expected.getUrl()); assertThat(dto.isGuarded()).isEqualTo(expected.isGuarded()); assertThat(dto.getAvatarUrl()).isEqualTo(expected.getAvatarUrl()); assertThat(dto.getSubscription()).isEqualTo(expected.getSubscription()); assertThat(dto.getCreatedAt()).isEqualTo(expected.getCreatedAt()); assertThat(dto.getUpdatedAt()).isEqualTo(expected.getUpdatedAt()); }
@Test public void update_with_same_information_succeeds_but_has_no_effect() { OrganizationDto organizationDto = newOrganizationDto(); insertOrganization(organizationDto); underTest.update(dbSession, organizationDto); dbSession.commit(); Map<String, Object> row = selectSingleRow(); assertThat(row.get("uuid")).isEqualTo(organizationDto.getUuid()); assertThat(row.get("key")).isEqualTo(organizationDto.getKey()); assertThat(row.get("name")).isEqualTo(organizationDto.getName()); assertThat(row.get("description")).isEqualTo(organizationDto.getDescription()); assertThat(row.get("url")).isEqualTo(organizationDto.getUrl()); assertThat(row.get("avatarUrl")).isEqualTo(organizationDto.getAvatarUrl()); assertThat(row.get("subscription")).isEqualTo(organizationDto.getSubscription().name()); assertThat(row.get("createdAt")).isEqualTo(organizationDto.getCreatedAt()); assertThat(row.get("updatedAt")).isEqualTo(organizationDto.getUpdatedAt()); }
@Test public void insert_persists_properties_of_OrganizationDto() { OrganizationDto organization = newOrganizationDto(); insertOrganization(organization); Map<String, Object> row = selectSingleRow(); assertThat(row.get("uuid")).isEqualTo(organization.getUuid()); assertThat(row.get("key")).isEqualTo(organization.getKey()); assertThat(row.get("name")).isEqualTo(organization.getName()); assertThat(row.get("description")).isEqualTo(organization.getDescription()); assertThat(row.get("url")).isEqualTo(organization.getUrl()); assertThat(row.get("avatarUrl")).isEqualTo(organization.getAvatarUrl()); assertThat(row.get("createdAt")).isEqualTo(organization.getCreatedAt()); assertThat(row.get("updatedAt")).isEqualTo(organization.getUpdatedAt()); assertThat(row.get("guarded")).isEqualTo(toBool(organization.isGuarded())); assertThat(row.get("subscription")).isEqualTo(organization.getSubscription().name()); assertThat(row.get("defaultTemplate")).isNull(); assertThat(row.get("projectDefaultTemplate")).isNull(); assertThat(row.get("viewDefaultTemplate")).isNull(); }
private static Organization.Builder toOrganization(Organization.Builder builder, OrganizationDto organization, @Nullable OrganizationAlmBindingDto organizationAlmBinding, boolean onlyMembershipOrganizations) { builder .setName(organization.getName()) .setKey(organization.getKey()) .setGuarded(organization.isGuarded()); ofNullable(organization.getDescription()).ifPresent(builder::setDescription); ofNullable(organization.getUrl()).ifPresent(builder::setUrl); ofNullable(organization.getAvatarUrl()).ifPresent(builder::setAvatar); if (onlyMembershipOrganizations && organizationAlmBinding != null) { builder.setAlm(Organization.Alm.newBuilder() .setKey(organizationAlmBinding.getAlm().getId()) .setUrl(organizationAlmBinding.getUrl())); } if (onlyMembershipOrganizations) { builder.setSubscription(Organizations.Subscription.valueOf(organization.getSubscription().name())); } return builder; }
@Test public void create_creates_unguarded_organization_with_properties_from_NewOrganization_arg() throws OrganizationUpdater.KeyConflictException { builtInQProfileRepositoryRule.initialize(); UserDto user = db.users().insertUser(); db.qualityGates().insertBuiltInQualityGate(); underTest.create(dbSession, user, FULL_POPULATED_NEW_ORGANIZATION, EMPTY_ORGANIZATION_CONSUMER); OrganizationDto organization = dbClient.organizationDao().selectByKey(dbSession, FULL_POPULATED_NEW_ORGANIZATION.getKey()).get(); assertThat(organization.getUuid()).isNotEmpty(); assertThat(organization.getKey()).isEqualTo(FULL_POPULATED_NEW_ORGANIZATION.getKey()); assertThat(organization.getName()).isEqualTo(FULL_POPULATED_NEW_ORGANIZATION.getName()); assertThat(organization.getDescription()).isEqualTo(FULL_POPULATED_NEW_ORGANIZATION.getDescription()); assertThat(organization.getUrl()).isEqualTo(FULL_POPULATED_NEW_ORGANIZATION.getUrl()); assertThat(organization.getAvatarUrl()).isEqualTo(FULL_POPULATED_NEW_ORGANIZATION.getAvatar()); assertThat(organization.isGuarded()).isFalse(); assertThat(organization.getSubscription()).isEqualTo(Subscription.FREE); assertThat(organization.getCreatedAt()).isEqualTo(A_DATE); assertThat(organization.getUpdatedAt()).isEqualTo(A_DATE); }
@Test public void createForUser_creates_guarded_organization_with_key_name_and_description_generated_from_user_login_and_name_and_associated_to_user() { UserDto user = db.users().insertUser(A_LOGIN); when(organizationValidation.generateKeyFrom(A_LOGIN)).thenReturn(SLUG_OF_A_LOGIN); enableCreatePersonalOrg(true); builtInQProfileRepositoryRule.initialize(); db.qualityGates().insertBuiltInQualityGate(); underTest.createForUser(dbSession, user); OrganizationDto organization = dbClient.organizationDao().selectByKey(dbSession, SLUG_OF_A_LOGIN).get(); assertThat(organization.getUuid()).isNotEmpty(); assertThat(organization.getKey()).isEqualTo(SLUG_OF_A_LOGIN); assertThat(organization.getName()).isEqualTo(user.getName()); assertThat(organization.getDescription()).isEqualTo(user.getName() + "'s personal organization"); assertThat(organization.getUrl()).isNull(); assertThat(organization.getAvatarUrl()).isNull(); assertThat(organization.isGuarded()).isTrue(); assertThat(organization.getSubscription()).isEqualTo(Subscription.FREE); assertThat(organization.getCreatedAt()).isEqualTo(A_DATE); assertThat(organization.getUpdatedAt()).isEqualTo(A_DATE); assertThat(db.getDbClient().userDao().selectByUuid(dbSession, user.getUuid()).getOrganizationUuid()).isEqualTo(organization.getUuid()); }
@Test public void create_organization() { settings.setProperty(ORGANIZATIONS_ANYONE_CAN_CREATE, true); db.qualityGates().insertBuiltInQualityGate(); UserDto user = db.users().insertUser(); userSession.logIn(user); CreateWsResponse response = wsTester.newRequest() .setParam("name", "orgFoo") .setParam("description", "My org desc") .setParam("url", "my url") .setParam("avatar", "my avatar") .executeProtobuf(CreateWsResponse.class); assertThat(response.getOrganization().getKey()).isEqualTo("orgfoo"); assertThat(response.getOrganization().getName()).isEqualTo("orgFoo"); assertThat(response.getOrganization().getDescription()).isEqualTo("My org desc"); assertThat(response.getOrganization().getUrl()).isEqualTo("my url"); assertThat(response.getOrganization().getAvatar()).isEqualTo("my avatar"); OrganizationDto organization = dbClient.organizationDao().selectByKey(dbSession, "orgfoo").get(); assertThat(organization.getName()).isEqualTo("orgFoo"); assertThat(organization.getDescription()).isEqualTo("My org desc"); assertThat(organization.getUrl()).isEqualTo("my url"); assertThat(organization.getAvatarUrl()).isEqualTo("my avatar"); assertThat(organization.getSubscription()).isEqualTo(OrganizationDto.Subscription.FREE); }
private void writeOrganization(JsonWriter json, OrganizationDto organization, Optional<OrganizationAlmBindingDto> organizationAlmBinding, boolean newProjectPrivate) { json.name("organization") .beginObject() .prop("isDefault", organization.getKey().equals(defaultOrganizationProvider.get().getKey())) .prop("projectVisibility", Visibility.getLabel(newProjectPrivate)) .prop("subscription", organization.getSubscription().name()) .prop("canUpdateProjectsVisibilityToPrivate", userSession.hasPermission(ADMINISTER, organization) && billingValidations.canUpdateProjectVisibilityToPrivate(new BillingValidations.Organization(organization.getKey(), organization.getUuid(), organization.getName()))); writeAlm(json, organizationAlmBinding); json.name("pages"); writePages(json, pageRepository.getOrganizationPages(false)); if (userSession.hasPermission(ADMINISTER, organization)) { json.name("adminPages"); writePages(json, pageRepository.getOrganizationPages(true)); } json.endObject(); }
@Override public void handle(Request request, Response response) throws Exception { String organizationKey = request.mandatoryParam(PARAM_ORGANIZATION); try (DbSession dbSession = dbClient.openSession(false)) { OrganizationDto organization = checkFoundWithOptional( dbClient.organizationDao().selectByKey(dbSession, organizationKey), "No organization with key '%s'", organizationKey); if (organization.getSubscription() == PAID) { // If the organization is PAID without any public project then // the organization is only visible to members ComponentQuery query = ComponentQuery.builder() .setQualifiers(Qualifiers.PROJECT) .setPrivate(false) .build(); if (dbClient.componentDao().countByQuery(dbSession, organization.getUuid(), query) == 0) { userSession.checkMembership(organization); } } boolean newProjectPrivate = dbClient.organizationDao().getNewProjectPrivate(dbSession, organization); JsonWriter json = response.newJsonWriter(); json.beginObject(); writeOrganization(json, organization, dbClient.organizationAlmBindingDao().selectByOrganization(dbSession, organization), newProjectPrivate); json.endObject() .close(); } }
private OrganizationDto copyOf(OrganizationDto organizationDto) { return new OrganizationDto() .setUuid(organizationDto.getUuid()) .setKey(organizationDto.getKey()) .setName(organizationDto.getName()) .setDescription(organizationDto.getDescription()) .setUrl(organizationDto.getUrl()) .setDefaultQualityGateUuid(organizationDto.getDefaultQualityGateUuid()) .setSubscription(organizationDto.getSubscription()) .setAvatarUrl(organizationDto.getAvatarUrl()); }