@Test public void selectByUuid_on_disabled_component() { ComponentDto enabledProject = db.components().insertPublicProject(p -> p.setEnabled(true)); ComponentDto disabledProject = db.components().insertPublicProject(p -> p.setEnabled(false)); ComponentDto result = underTest.selectByUuid(dbSession, disabledProject.uuid()).get(); assertThat(result).isNotNull(); assertThat(result.isEnabled()).isFalse(); }
private int insertPublicProjectsWithBranches(OrganizationDto org, MetricDto ncloc, int minimumNcloc) { // private project ComponentDto project1 = db.components().insertPublicProject(org); return Math.max( // Create the ncloc on main branch insertLiveMeasures(project1, ncloc, minimumNcloc), // Create 5 branches and set the ncloc on them IntStream.range(1, 5) .map(i -> insertLiveMeasures(db.components().insertProjectBranch(project1), ncloc, minimumNcloc)) .max().orElse(0) ); }
private ComponentDto createAndIndexPublicProject(OrganizationDto org) { ComponentDto project = db.components().insertPublicProject(org); fooIndexer.indexOnAnalysis(project.uuid()); return project; }
@Test public void fail_when_unknown_project_dispatcher_on_public_project() { UserDto user = db.users().insertUser(); userSession.logIn(user); ComponentDto project = db.components().insertPublicProject(); when(dispatchers.getGlobalDispatchers()).thenReturn(asList(NOTIF_MY_NEW_ISSUES, NOTIF_NEW_ISSUES)); when(dispatchers.getProjectDispatchers()).thenReturn(asList(NOTIF_MY_NEW_ISSUES, NOTIF_NEW_ISSUES)); expectedException.expect(BadRequestException.class); expectedException.expectMessage("Value of parameter 'type' (Dispatcher42) must be one of: [Dispatcher1, Dispatcher2]"); call("Dispatcher42", null, project.getKey(), null); }
@Test public void hasComponentPermissionByDtoOrUuid_returns_true_for_anonymous_user_for_permissions_USER_and_CODEVIEWER_on_public_projects_with_global_permissions() { OrganizationDto organization = db.organizations().insert(); ComponentDto publicProject = db.components().insertPublicProject(organization); db.users().insertProjectPermissionOnAnyone("p1", publicProject); ServerUserSession underTest = newAnonymousSession(); assertThat(hasComponentPermissionByDtoOrUuid(underTest, UserRole.USER, publicProject)).isTrue(); assertThat(hasComponentPermissionByDtoOrUuid(underTest, UserRole.CODEVIEWER, publicProject)).isTrue(); }
@Test public void keepAuthorizedComponents_filters_components_with_granted_permissions_for_logged_in_user() { UserDto user = db.users().insertUser(); OrganizationDto organization = db.organizations().insert(); ComponentDto publicProject = db.components().insertPublicProject(organization); ComponentDto privateProject = db.components().insertPrivateProject(organization); db.users().insertProjectPermissionOnUser(user, UserRole.ADMIN, privateProject); UserSession underTest = newUserSession(user); assertThat(underTest.keepAuthorizedComponents(UserRole.ISSUE_ADMIN, Arrays.asList(privateProject, publicProject))).isEmpty(); assertThat(underTest.keepAuthorizedComponents(UserRole.ADMIN, Arrays.asList(privateProject, publicProject))).containsExactly(privateProject); }
@Test public void keepAuthorizedComponents_returns_all_specified_components_if_root() { UserDto root = db.users().insertUser(); root = db.users().makeRoot(root); OrganizationDto organization = db.organizations().insert(); ComponentDto publicProject = db.components().insertPublicProject(organization); ComponentDto privateProject = db.components().insertPrivateProject(organization); UserSession underTest = newUserSession(root); assertThat(underTest.keepAuthorizedComponents(UserRole.ADMIN, Arrays.asList(privateProject, publicProject))) .containsExactly(privateProject, publicProject); }
@Before public void setUp() { organization = db.organizations().insert(); privateProject = db.components().insertPrivateProject(organization); publicProject = db.components().insertPublicProject(organization); }
private ComponentDto randomComponent(OrganizationDto organization) { ComponentDto project = dbTester.components().insertPublicProject(organization); ComponentDto module = dbTester.components().insertComponent(ComponentTesting.newModuleDto(project)); ComponentDto dir = dbTester.components().insertComponent(ComponentTesting.newDirectory(project, "foo")); ComponentDto file = dbTester.components().insertComponent(ComponentTesting.newFileDto(project)); ComponentDto[] components = new ComponentDto[] {project, module, dir, file}; return components[random.nextInt(components.length)]; }
private IssueDto newIssue() { RuleDefinitionDto rule = db.rules().insert(); ComponentDto project = db.components().insertPublicProject(); ComponentDto file = db.components().insertComponent(newFileDto(project)); return IssueTesting.newIssue(rule, project, file); }
@Test public void application_search_project_issues() { ComponentDto project1 = db.components().insertPublicProject(); ComponentDto project2 = db.components().insertPublicProject(); ComponentDto application = db.components().insertApplication(db.getDefaultOrganization()); db.components().insertComponents(newProjectCopy("PC1", project1, application)); db.components().insertComponents(newProjectCopy("PC2", project2, application)); userSession.registerComponents(application, project1, project2); IssueQuery result = underTest.create(new SearchRequest().setComponentUuids(singletonList(application.uuid()))); assertThat(result.viewUuids()).containsExactlyInAnyOrder(application.uuid()); }
@Test public void loadQualityGate_returns_hardcoded_gate_for_pull_requests() { OrganizationDto organization = db.organizations().insert(); ComponentDto project = db.components().insertPublicProject(organization); BranchDto pullRequest = newBranchDto(project).setBranchType(BranchType.PULL_REQUEST); db.components().insertProjectBranch(project, pullRequest); QualityGate result = underTest.loadQualityGate(db.getSession(), organization, project, pullRequest); assertThat(result).isSameAs(ShortLivingBranchQualityGate.GATE); }
@Before public void setUp() throws Exception { org = db.organizations().insert(); group = db.users().insertGroup(org, "a-group"); privateProject = db.components().insertPrivateProject(org); publicProject = db.components().insertPublicProject(org); }
@Test public void fail_when_metric_not_found() { ComponentDto project = db.components().insertPublicProject(); userSession.registerComponents(project); expectedException.expect(IllegalStateException.class); expectedException.expectMessage("Metric 'bugs' hasn't been found"); ws.newRequest() .setParam("project", project.getKey()) .setParam("metric", BUGS_KEY) .execute(); }
@Test public void quality_gate_failed() { ComponentDto project = db.components().insertPublicProject(); userSession.registerComponents(project); MetricDto metric = createQualityGateMetric(); db.measures().insertLiveMeasure(project, metric, m -> m.setData(ERROR.name())); TestResponse response = ws.newRequest() .setParam("project", project.getKey()) .execute(); checkResponse(response, ERROR); }
@Test public void return_error_if_measure_not_found() throws ParseException { ComponentDto project = db.components().insertPublicProject(); userSession.registerComponents(project); MetricDto metric = db.measures().insertMetric(m -> m.setKey(BUGS_KEY)); TestResponse response = ws.newRequest() .setParam("project", project.getKey()) .setParam("metric", metric.getKey()) .execute(); checkError(response, "Measure has not been found"); }
@Test public void should_return_public_flag_for_project() { OrganizationDto org = db.organizations().insert(); db.qualityGates().createDefaultQualityGate(org); ComponentDto project = db.components().insertPublicProject(org); init(); userSession.logIn() .addProjectPermission(UserRole.ADMIN, project) .addPermission(OrganizationPermission.ADMINISTER, org); assertJson(execute(project.getDbKey())).isSimilarTo("{\"visibility\": \"public\"}"); }
@Test public void deleteProject_deletes_webhook_deliveries() { ComponentDto project = db.components().insertPublicProject(); dbClient.webhookDeliveryDao().insert(dbSession, newDto().setComponentUuid(project.uuid()).setUuid("D1").setDurationMs(1000).setWebhookUuid("webhook-uuid")); dbClient.webhookDeliveryDao().insert(dbSession, newDto().setComponentUuid("P2").setUuid("D2").setDurationMs(1000).setWebhookUuid("webhook-uuid")); underTest.deleteProject(dbSession, project.uuid()); assertThat(selectAllDeliveryUuids(db, dbSession)).containsOnly("D2"); }
@Test public void return_error_if_measure_value_is_null() throws ParseException { ComponentDto project = db.components().insertPublicProject(); userSession.registerComponents(project); MetricDto metric = createQualityGateMetric(); db.measures().insertLiveMeasure(project, metric, m -> m.setValue(null).setData((String) null)); TestResponse response = ws.newRequest() .setParam("project", project.getKey()) .setParam("metric", metric.getKey()) .execute(); checkError(response, "Quality gate has not been found"); }
@Test public void display_deprecated_warning_quality_gate() { ComponentDto project = db.components().insertPublicProject(); userSession.registerComponents(project); MetricDto metric = createQualityGateMetric(); db.measures().insertLiveMeasure(project, metric, m -> m.setData(WARN.name())); TestResponse response = ws.newRequest() .setParam("project", project.getKey()) .setParam("metric", metric.getKey()) .execute(); checkSvg(response, "quality gate", "warning", QUALITY_GATE_WARN); }