public OrganizationDto toDto() { return new OrganizationDto() .setName(name) .setKey(key) .setUuid(uuid) .setDefaultQualityGateUuid(defaultQualityGateUuid); }
@Test public void verify_getters() { Organization organization = Organization.from(underTest.setUuid("uuid").setKey("key").setName("name").setDefaultQualityGateUuid("uuid1")); assertThat(organization.getUuid()).isEqualTo("uuid"); assertThat(organization.getKey()).isEqualTo("key"); assertThat(organization.getName()).isEqualTo("name"); assertThat(organization.getDefaultQualityGateUuid()).isEqualTo("uuid1"); }
@Test public void equals_is_based_on_uuid_only() { Organization organization = Organization.from(underTest.setUuid("uuid").setKey("key").setName("name").setDefaultQualityGateUuid("uuid1")); assertThat(organization).isEqualTo(Organization.from(underTest.setUuid("uuid").setKey("key").setName("name").setDefaultQualityGateUuid("uuid1"))); assertThat(organization).isEqualTo(Organization.from(underTest.setUuid("uuid").setKey("other key").setName("name").setDefaultQualityGateUuid("uuid1"))); assertThat(organization).isEqualTo(Organization.from(underTest.setUuid("uuid").setKey("key").setName("other name").setDefaultQualityGateUuid("uuid1"))); assertThat(organization).isEqualTo(Organization.from(underTest.setUuid("uuid").setKey("key").setName("name").setDefaultQualityGateUuid("other uuid"))); assertThat(organization).isNotEqualTo(Organization.from(underTest.setUuid("other uuid").setKey("key").setName("name").setDefaultQualityGateUuid("uuid1"))); assertThat(organization).isNotEqualTo(null); assertThat(organization).isNotEqualTo("toto"); }
@Test public void update_personal_organization() { OrganizationDto organization = db.organizations().insert(o -> o.setKey("old login")); when(organizationValidation.generateKeyFrom("new_login")).thenReturn("new_login"); underTest.updateOrganizationKey(dbSession, organization, "new_login"); OrganizationDto organizationReloaded = dbClient.organizationDao().selectByUuid(dbSession, organization.getUuid()).get(); assertThat(organizationReloaded.getKey()).isEqualTo("new_login"); }
@Test public void does_not_update_personal_organization_when_generated_organization_key_does_not_change() { OrganizationDto organization = db.organizations().insert(o -> o.setKey("login")); when(organizationValidation.generateKeyFrom("Login")).thenReturn("login"); underTest.updateOrganizationKey(dbSession, organization, "Login"); OrganizationDto organizationReloaded = dbClient.organizationDao().selectByUuid(dbSession, organization.getUuid()).get(); assertThat(organizationReloaded.getKey()).isEqualTo("login"); }
@Test public void countByQuery() { insertOrganization(copyOf(ORGANIZATION_DTO_1).setUuid("uuid3").setKey("key-3")); insertOrganization(copyOf(ORGANIZATION_DTO_1).setUuid("uuid1").setKey("key-1")); insertOrganization(copyOf(ORGANIZATION_DTO_1).setUuid("uuid2").setKey("key-2")); insertOrganization(copyOf(ORGANIZATION_DTO_1).setUuid("uuid5").setKey("key-5")); insertOrganization(copyOf(ORGANIZATION_DTO_1).setUuid("uuid4").setKey("key-4")); assertThat(underTest.countByQuery(dbSession, returnAll())).isEqualTo(5); assertThat(underTest.countByQuery(dbSession, newQueryWithKeys("key-1", "key-2"))).isEqualTo(2); assertThat(underTest.countByQuery(dbSession, newQueryWithKeys("unknown"))).isZero(); }
@Test public void verify_toString() { Organization organization = Organization.from(underTest.setUuid("uuid").setKey("key").setName("name").setDefaultQualityGateUuid("uuid1")); assertThat(organization.toString()).isEqualTo("Organization{uuid='uuid', key='key', name='name', defaultQualityGateUuid='uuid1'}"); }
public AnalysisMetadataHolderRule setOrganizationUuid(String uuid, String defaultQualityGateUuid) { requireNonNull(uuid, "organization uuid can't be null"); this.organization .setProperty(Organization.from(new OrganizationDto().setUuid(uuid).setKey("key_" + uuid).setName("name_" + uuid).setDefaultQualityGateUuid(defaultQualityGateUuid))); return this; }
@Test @UseDataProvider("booleanValues") public void organization_is_null_when_organization_are_disabled(boolean allStepsExecuted) { analysisMetadataHolder .setOrganizationsEnabled(false) .setOrganization(Organization.from( new OrganizationDto().setKey(organizationKey).setName(organizationName).setUuid(organizationUuid).setDefaultQualityGateUuid("foo"))); underTest.finished(allStepsExecuted); verify(postProjectAnalysisTask).finished(projectAnalysisArgumentCaptor.capture()); assertThat(projectAnalysisArgumentCaptor.getValue().getOrganization()).isEmpty(); }
@Test public void fail_to_update_personal_organization_when_new_key_already_exist() { OrganizationDto organization = db.organizations().insert(); db.organizations().insert(o -> o.setKey("new_login")); when(organizationValidation.generateKeyFrom("new_login")).thenReturn("new_login"); expectedException.expect(IllegalStateException.class); expectedException.expectMessage("Can't create organization with key 'new_login' because an organization with this key already exists"); underTest.updateOrganizationKey(dbSession, organization, "new_login"); }
@Test public void build_throws_NPE_if_name_is_null() { underTest.setUuid("uuid").setKey("key"); expectedException.expect(NullPointerException.class); expectedException.expectMessage("name can't be null"); Organization.from(underTest); }
@Test public void throw_ForbiddenException_if_unknown_organization() { OrganizationDto org = new OrganizationDto().setName("Unknown organization").setKey("unknown_key"); userSession.logIn(); expectedException.expect(NotFoundException.class); expectedException.expectMessage("No organization with key 'unknown_key'"); executeRequest(Optional.of(org), "Default"); }
@Test public void build_throws_NPE_if_defaultQualityGateUuid_is_null() { underTest.setUuid("uuid").setKey("key").setName("name"); expectedException.expect(NullPointerException.class); expectedException.expectMessage("defaultQualityGateUuid can't be null"); Organization.from(underTest); }
@Test public void request_fails_if_key_computed_from_name_already_exists_in_DB() { createUserAndLogInAsSystemAdministrator(); String key = "key"; db.organizations().insert(o -> o.setKey(key)); String name = "Key"; expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("Key '" + key + "' generated from name '" + name + "' is already used. Specify one."); executeRequest(name); }
@Test public void request_fails_if_key_is_specified_and_already_exists_in_DB() { createUserAndLogInAsSystemAdministrator(); OrganizationDto org = db.organizations().insert(o -> o.setKey("the-key")); expectedException.expect(IllegalArgumentException.class); expectedException.expectMessage("Key '" + org.getKey() + "' is already used. Specify another one."); executeRequest("foo", org.getKey()); }
@Test public void setOrganization_throws_ISE_if_called_twice() { Organization organization = Organization.from(new OrganizationDto().setUuid("uuid").setKey("key").setName("name").setDefaultQualityGateUuid("anyuuidr")); underTest.setOrganization(organization); expectedException.expect(IllegalStateException.class); expectedException.expectMessage("Organization has already been set"); underTest.setOrganization(organization); }
@Test public void fail_when_organization_has_no_default_group() { UserDto user = insertUser(); OrganizationDto organizationDto = db.organizations().insert(organization -> organization.setKey("OrgKey")); GroupDto group = db.users().insertGroup(organizationDto, "group1"); addUserToGroup(user, group); expectedException.expect(IllegalStateException.class); expectedException.expectMessage(format("Default group cannot be found on organization '%s'", organizationDto.getUuid())); call(ws.newRequest().setParam("login", USER_LOGIN).setParam("organization", organizationDto.getKey())); }
@Test public void return_default_quality_gate() { OrganizationDto organization = db.organizations().insert(o -> o.setKey("my-org")); ComponentDto project = db.components().insertPrivateProject(organization); db.qualityGates().createDefaultQualityGate(organization, qg -> qg.setName("Sonar way")); userSession.addProjectPermission(UserRole.USER, project); init(); executeAndVerify(project.getDbKey(), "return_default_quality_gate.json"); }
@Test public void return_quality_gate_defined_on_project() { OrganizationDto organization = db.organizations().insert(o -> o.setKey("my-org")); db.qualityGates().createDefaultQualityGate(organization); ComponentDto project = db.components().insertPrivateProject(organization); QualityGateDto qualityGateDto = db.qualityGates().insertQualityGate(organization, qg -> qg.setName("Sonar way")); db.qualityGates().associateProjectToQualityGate(project, qualityGateDto); userSession.addProjectPermission(UserRole.USER, project); init(); executeAndVerify(project.getDbKey(), "return_quality_gate.json"); }
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()); }