@Test public void createForUser_fails_with_ISE_if_organization_with_slug_of_login_already_exists() { UserDto user = db.users().insertUser(A_LOGIN); when(organizationValidation.generateKeyFrom(A_LOGIN)).thenReturn(SLUG_OF_A_LOGIN); db.organizations().insertForKey(SLUG_OF_A_LOGIN); enableCreatePersonalOrg(true); expectedException.expect(IllegalStateException.class); expectedException.expectMessage("Can't create organization with key '" + SLUG_OF_A_LOGIN + "' " + "because an organization with this key already exists"); underTest.createForUser(dbSession, user); }
private ComponentDto initJsonExampleComponents() throws IOException { OrganizationDto organizationDto = db.organizations().insertForKey("my-org-1"); ComponentDto project = newPrivateProjectDto(organizationDto, "MY_PROJECT_ID") .setDbKey("MY_PROJECT_KEY") .setName("Project Name"); db.components().insertProjectAndSnapshot(project); Date now = new Date(); JsonParser jsonParser = new JsonParser(); JsonElement jsonTree = jsonParser.parse(IOUtils.toString(getClass().getResource("tree-example.json"), UTF_8)); JsonArray components = jsonTree.getAsJsonObject().getAsJsonArray("components"); for (JsonElement componentAsJsonElement : components) { JsonObject componentAsJsonObject = componentAsJsonElement.getAsJsonObject(); String uuid = getJsonField(componentAsJsonObject, "id"); db.components().insertComponent(newChildComponent(uuid, project, project) .setDbKey(getJsonField(componentAsJsonObject, "key")) .setName(getJsonField(componentAsJsonObject, "name")) .setLanguage(getJsonField(componentAsJsonObject, "language")) .setPath(getJsonField(componentAsJsonObject, "path")) .setQualifier(getJsonField(componentAsJsonObject, "qualifier")) .setDescription(getJsonField(componentAsJsonObject, "description")) .setEnabled(true) .setCreatedAt(now)); } db.commit(); return project; }
@Test public void create_fails_with_KeyConflictException_if_org_with_key_in_NewOrganization_arg_already_exists_in_db() throws OrganizationUpdater.KeyConflictException { db.organizations().insertForKey(FULL_POPULATED_NEW_ORGANIZATION.getKey()); UserDto user = db.users().insertUser(); expectedException.expect(OrganizationUpdater.KeyConflictException.class); expectedException.expectMessage("Organization key '" + FULL_POPULATED_NEW_ORGANIZATION.getKey() + "' is already used"); underTest.create(dbSession, user, FULL_POPULATED_NEW_ORGANIZATION, EMPTY_ORGANIZATION_CONSUMER); }
@Test public void json_example() { OrganizationDto organization1 = db.organizations().insertForKey("my-org"); OrganizationDto organization2 = db.organizations().insertForKey("openjdk"); addComponent(ComponentTesting.newPrivateProjectDto(organization1).setDbKey("K1").setName("Samba")); addComponent(ComponentTesting.newPrivateProjectDto(organization1).setDbKey("K2").setName("Apache HBase")); addComponent(ComponentTesting.newPrivateProjectDto(organization2).setDbKey("K3").setName("JDK9")); String result = ws.newRequest().execute().getInput(); assertJson(result).isSimilarTo(ws.getDef().responseExampleAsString()); }
@Test public void json_example() { UserDto user = db.users().insertUser(); userSession.logIn(user); when(dispatchers.getGlobalDispatchers()).thenReturn(asList(NOTIF_MY_NEW_ISSUES, NOTIF_NEW_ISSUES, NOTIF_NEW_QUALITY_GATE_STATUS)); when(dispatchers.getProjectDispatchers()).thenReturn(asList(NOTIF_MY_NEW_ISSUES, NOTIF_NEW_QUALITY_GATE_STATUS)); OrganizationDto organization = db.organizations().insertForKey("my-org-1"); ComponentDto project = db.components().insertPrivateProject(organization, p -> p.setDbKey(KEY_PROJECT_EXAMPLE_001).setName("My Project")); db.users().insertProjectPermissionOnUser(user, USER, project); notificationUpdater.add(dbSession, twitterChannel.getKey(), NOTIF_MY_NEW_ISSUES, user, null); notificationUpdater.add(dbSession, emailChannel.getKey(), NOTIF_MY_NEW_ISSUES, user, null); notificationUpdater.add(dbSession, emailChannel.getKey(), NOTIF_NEW_ISSUES, user, null); notificationUpdater.add(dbSession, twitterChannel.getKey(), NOTIF_MY_NEW_ISSUES, user, project); notificationUpdater.add(dbSession, emailChannel.getKey(), NOTIF_MY_NEW_ISSUES, user, project); notificationUpdater.add(dbSession, emailChannel.getKey(), NOTIF_NEW_QUALITY_GATE_STATUS, user, project); dbSession.commit(); String result = ws.newRequest().execute().getInput(); assertJson(ws.getDef().responseExampleAsString()) .withStrictArrayOrder() .isSimilarTo(result); }
@Test public void json_example() { OrganizationDto organization = db.organizations().insertForKey("My Organization");
@Test public void test_json_example() { OrganizationDto organizationDto = db.organizations().insertForKey("my-org-1"); db.components().insertComponent(newView(organizationDto)); ComponentDto project = newPrivateProjectDto(organizationDto, "project-uuid").setName("Project Name").setDbKey("project-key"); ComponentDto module = newModuleDto("module-uuid", project).setName("Module Name").setDbKey("module-key"); ComponentDto directory = newDirectory(module, "path/to/directoy").setUuid("directory-uuid").setDbKey("directory-key").setName("Directory Name"); db.components().insertComponents(project, module, directory, newFileDto(module, directory, "file-uuid").setDbKey("file-key").setLanguage("java").setName("File Name")); setBrowsePermissionOnUserAndIndex(project); String response = ws.newRequest() .setMediaType(MediaTypes.JSON) .setParam(PARAM_ORGANIZATION, organizationDto.getKey()) .setParam(PARAM_QUALIFIERS, Joiner.on(",").join(PROJECT, DIRECTORY, FILE)) .execute().getInput(); assertJson(response).isSimilarTo(ws.getDef().responseExampleAsString()); }
private void insertJsonExampleComponentsAndSnapshots() { OrganizationDto organizationDto = db.organizations().insertForKey("my-org-1"); ComponentDto project = db.components().insertComponent(newPrivateProjectDto(organizationDto, "AVIF98jgA3Ax6PH2efOW") .setDbKey("com.sonarsource:java-markdown") .setName("Java Markdown") .setDescription("Java Markdown Project") .setQualifier(Qualifiers.PROJECT) .setTagsString("language, plugin")); db.components().insertSnapshot(project, snapshot -> snapshot .setVersion("1.1") .setCreatedAt(parseDateTime("2017-03-01T11:39:03+0100").getTime()) .setPeriodDate(parseDateTime("2017-01-01T11:39:03+0100").getTime())); ComponentDto directory = newDirectory(project, "AVIF-FfgA3Ax6PH2efPF", "src/main/java/com/sonarsource/markdown/impl") .setDbKey("com.sonarsource:java-markdown:src/main/java/com/sonarsource/markdown/impl") .setName("src/main/java/com/sonarsource/markdown/impl") .setQualifier(Qualifiers.DIRECTORY); db.components().insertComponent(directory); db.components().insertComponent( newFileDto(directory, directory, "AVIF-FffA3Ax6PH2efPD") .setDbKey("com.sonarsource:java-markdown:src/main/java/com/sonarsource/markdown/impl/Rule.java") .setName("Rule.java") .setPath("src/main/java/com/sonarsource/markdown/impl/Rule.java") .setLanguage("java") .setQualifier(Qualifiers.FILE)); } }
@Test public void json_example() { OrganizationDto organization = db.organizations().insertForKey("my-org-1"); userSession.addPermission(ADMINISTER, organization); ComponentDto publicProject = newPrivateProjectDto(organization, "project-uuid-1").setName("Project Name 1").setDbKey("project-key-1").setPrivate(false); ComponentDto privateProject = newPrivateProjectDto(organization, "project-uuid-2").setName("Project Name 1").setDbKey("project-key-2"); db.components().insertComponents( publicProject, privateProject); db.getDbClient().snapshotDao().insert(db.getSession(), newAnalysis(publicProject).setCreatedAt(parseDateTime("2017-03-01T11:39:03+0300").getTime())); db.getDbClient().snapshotDao().insert(db.getSession(), newAnalysis(privateProject).setCreatedAt(parseDateTime("2017-03-02T15:21:47+0300").getTime())); db.commit(); String response = ws.newRequest() .setMediaType(MediaTypes.JSON) .setParam(PARAM_ORGANIZATION, organization.getKey()) .execute().getInput(); assertJson(response).isSimilarTo(ws.getDef().responseExampleAsString()); assertJson(ws.getDef().responseExampleAsString()).isSimilarTo(response); }
@Test public void test_example_response() { init(createPages()); OrganizationDto organizationDto = db.organizations().insertForKey("my-org-1"); ComponentDto project = newPrivateProjectDto(organizationDto, "ABCD") .setDbKey("org.codehaus.sonar:sonar") .setName("Sonarqube") .setDescription("Open source platform for continuous inspection of code quality"); componentDbTester.insertComponent(project); SnapshotDto analysis = newAnalysis(project) .setCreatedAt(parseDateTime("2016-12-06T11:44:00+0200").getTime()) .setVersion("6.3") .setLast(true); componentDbTester.insertSnapshot(analysis); when(resourceTypes.get(project.qualifier())).thenReturn(DefaultResourceTypes.get().getRootType()); UserDto user = db.users().insertUser("obiwan"); propertyDbTester.insertProperty(new PropertyDto().setKey("favourite").setResourceId(project.getId()).setUserId(user.getId())); addQualityProfiles(project, createQProfile("qp1", "Sonar Way Java", "java"), createQProfile("qp2", "Sonar Way Xoo", "xoo")); QualityGateDto qualityGateDto = db.qualityGates().insertQualityGate(db.getDefaultOrganization(), qg -> qg.setName("Sonar way")); db.qualityGates().associateProjectToQualityGate(project, qualityGateDto); userSession.logIn(user) .addProjectPermission(UserRole.USER, project) .addProjectPermission(UserRole.ADMIN, project); String result = execute(project.getDbKey()); assertJson(result).ignoreFields("snapshotDate", "key", "qualityGate.key").isSimilarTo(ws.getDef().responseExampleAsString()); }
@Test public void return_component_info_when_file_on_branch() { OrganizationDto organization = db.organizations().insertForKey("my-org2"); db.qualityGates().createDefaultQualityGate(organization); ComponentDto project = componentDbTester.insertMainBranch(organization, p -> p.setName("Sample").setDbKey("sample"));