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 hashcode_is_based_on_uuid_only() { Organization organization = Organization.from(underTest.setUuid("uuid").setKey("key").setName("name").setDefaultQualityGateUuid("uuid1")); assertThat(organization.hashCode()).isEqualTo("uuid".hashCode()); } }
@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'}"); }
private OrganizationDto insertOrganization(DbSession dbSession, NewOrganization newOrganization, QualityGateDto builtInQualityGate, Consumer<OrganizationDto>... extendCreation) { OrganizationDto res = new OrganizationDto() .setUuid(uuidFactory.create()) .setName(newOrganization.getName()) .setKey(newOrganization.getKey()) .setDescription(newOrganization.getDescription()) .setUrl(newOrganization.getUrl()) .setDefaultQualityGateUuid(builtInQualityGate.getUuid()) .setAvatarUrl(newOrganization.getAvatar()) .setSubscription(FREE); Arrays.stream(extendCreation).forEach(c -> c.accept(res)); dbClient.organizationDao().insert(dbSession, res, false); return res; }
@Test @UseDataProvider("booleanValues") public void organization_is_not_null_when_organization_are_enabled(boolean allStepsExecuted) { analysisMetadataHolder .setOrganizationsEnabled(true) .setOrganization(Organization.from( new OrganizationDto().setKey(organizationKey).setName(organizationName).setUuid(organizationUuid).setDefaultQualityGateUuid("foo"))); underTest.finished(allStepsExecuted); verify(postProjectAnalysisTask).finished(projectAnalysisArgumentCaptor.capture()); org.sonar.api.ce.posttask.Organization organization = projectAnalysisArgumentCaptor.getValue().getOrganization().get(); assertThat(organization.getKey()).isEqualTo(organizationKey); assertThat(organization.getName()).isEqualTo(organizationName); }
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; }
@Before public void setUp() throws Exception { qualityGateHolder.setQualityGate(new QualityGate(QUALITY_GATE_ID, QUALITY_GATE_NAME, of(CONDITION_1, CONDITION_2))); qualityGateStatusHolder.setStatus(QualityGateStatus.OK, ImmutableMap.of( CONDITION_1, ConditionStatus.create(ConditionStatus.EvaluationStatus.OK, "value"), CONDITION_2, ConditionStatus.NO_VALUE_STATUS)); Branch branch = mock(Branch.class); when(branch.getType()).thenReturn(BranchType.LONG); analysisMetadataHolder .setBranch(branch) .setOrganizationsEnabled(new Random().nextBoolean()) .setOrganization(Organization.from( new OrganizationDto().setKey(organizationKey).setName(organizationName).setUuid(organizationUuid).setDefaultQualityGateUuid("foo"))); reportReader.setMetadata(ScannerReport.Metadata.newBuilder().build()); }
@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 update_fails_if_name_is_null() { insertOrganization(ORGANIZATION_DTO_1); expectedException.expect(PersistenceException.class); underTest.update(dbSession, copyOf(ORGANIZATION_DTO_1).setName(null)); }
@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); }
@Before public void setUp() throws Exception { organizationDto = db.organizations().insertForUuid(ORGANIZATION_UUID); analysisMetadataHolder.setOrganization(Organization.from( new OrganizationDto().setUuid(ORGANIZATION_UUID).setKey("Organization key").setName("Organization name").setDefaultQualityGateUuid(QUALITY_GATE_UUID))); }
@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 should_contain_organization_names() { OrganizationDto organization1 = db.organizations().insert(o -> o.setKey("org-1").setName("Organization One")); OrganizationDto organization2 = db.organizations().insert(o -> o.setKey("org-2").setName("Organization Two")); ComponentDto project1 = db.components().insertComponent(newPrivateProjectDto(organization1).setName("Project1")); componentIndexer.indexOnAnalysis(project1.projectUuid()); authorizationIndexerTester.allowOnlyAnyone(project1); ComponentDto project2 = db.components().insertComponent(newPrivateProjectDto(organization2).setName("Project2")); componentIndexer.indexOnAnalysis(project2.projectUuid()); authorizationIndexerTester.allowOnlyAnyone(project2); SuggestionsWsResponse response = ws.newRequest() .setMethod("POST") .setParam(PARAM_QUERY, "Project") .executeProtobuf(SuggestionsWsResponse.class); assertThat(response.getOrganizationsList()) .extracting(Organization::getKey, Organization::getName) .containsExactlyInAnyOrder( of(organization1, organization2) .map(o -> tuple(o.getKey(), o.getName())).toArray(Tuple[]::new)); }
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()); }
/** * Creates a new {@link OrganizationDto} with randomly generated field values. */ public static OrganizationDto newOrganizationDto() { return new OrganizationDto() .setKey(randomAlphanumeric(32)) .setUuid(randomAlphanumeric(40)) .setName(randomAlphanumeric(64)) .setDescription(randomAlphanumeric(256)) .setAvatarUrl(randomAlphanumeric(256)) // Default quality gate should be set explicitly when needed in tests .setDefaultQualityGateUuid("_NOT_SET_") .setSubscription(FREE) .setUrl(randomAlphanumeric(256)); } }
@Test public void should_contain_component_names() { OrganizationDto organization1 = db.organizations().insert(o -> o.setKey("org-1").setName("Organization One")); ComponentDto project1 = db.components().insertComponent(newPrivateProjectDto(organization1).setName("Project1")); componentIndexer.indexOnAnalysis(project1.projectUuid()); authorizationIndexerTester.allowOnlyAnyone(project1); SuggestionsWsResponse response = ws.newRequest() .setMethod("POST") .setParam(PARAM_QUERY, "Project") .executeProtobuf(SuggestionsWsResponse.class); assertThat(response.getResultsList()) .flatExtracting(Category::getItemsList) .extracting(Suggestion::getKey, Suggestion::getName) .containsExactlyInAnyOrder(tuple(project1.getDbKey(), project1.name())); }
@Test public void test_example_json_response() { OrganizationDto organization = db.organizations().insert(o -> o.setKey("default-organization").setName("Default Organization")); ComponentDto project1 = db.components().insertPublicProject(organization, p -> p.setDbKey("org.sonarsource:sonarqube").setName("SonarSource :: SonarQube")); ComponentDto project2 = db.components().insertPublicProject(organization, p -> p.setDbKey("org.sonarsource:sonarlint").setName("SonarSource :: SonarLint")); componentIndexer.indexOnStartup(null); authorizationIndexerTester.allowOnlyAnyone(project1); authorizationIndexerTester.allowOnlyAnyone(project2); TestResponse wsResponse = ws.newRequest() .setParam(PARAM_QUERY, "Sonar") .setParam(PARAM_RECENTLY_BROWSED, project1.getDbKey()) .setMethod("POST") .setMediaType(MediaTypes.JSON) .execute(); assertJson(ws.getDef().responseExampleAsString()).isSimilarTo(wsResponse.getInput()); }