private void setDefaultTemplateUuid(DbSession dbSession, PermissionTemplateDto permissionTemplateDto, String qualifier) { String organizationUuid = permissionTemplateDto.getOrganizationUuid(); OrganizationDao organizationDao = dbClient.organizationDao(); DefaultTemplates defaultTemplates = checkFoundWithOptional( organizationDao.getDefaultTemplates(dbSession, organizationUuid), "No Default templates for organization with uuid '%s'", organizationUuid); if (Qualifiers.PROJECT.equals(qualifier)) { defaultTemplates.setProjectUuid(permissionTemplateDto.getUuid()); } else if (Qualifiers.VIEW.equals(qualifier)) { defaultTemplates.setPortfoliosUuid(permissionTemplateDto.getUuid()); } else if (Qualifiers.APP.equals(qualifier)) { defaultTemplates.setApplicationsUuid(permissionTemplateDto.getUuid()); } organizationDao.setDefaultTemplates(dbSession, organizationUuid, defaultTemplates); }
@Test public void check_toString() { assertThat(underTest.toString()).isEqualTo("DefaultTemplates{projectUuid='null', portfoliosUuid='null', applicationsUuid='null'}"); underTest .setProjectUuid("a project") .setApplicationsUuid("an application") .setPortfoliosUuid("a portfolio"); assertThat(underTest.toString()).isEqualTo("DefaultTemplates{projectUuid='a project', portfoliosUuid='a portfolio', applicationsUuid='an application'}"); } }
@Test public void project_is_project_of_DefaultTemplates_no_matter_if_views_is_installed() { Stream.of( new DefaultTemplates().setProjectUuid("foo").setApplicationsUuid(null), new DefaultTemplates().setProjectUuid("foo").setApplicationsUuid("bar")).forEach( defaultTemplates -> { assertThat(underTestWithoutViews.resolve(defaultTemplates).getProject()).isEqualTo("foo"); assertThat(underTestWithViews.resolve(defaultTemplates).getProject()).isEqualTo("foo"); }); }
@Test public void setProject_throws_NPE_if_argument_is_null() { expectedException.expect(NullPointerException.class); expectedException.expectMessage("defaultTemplates.project can't be null"); underTest.setProjectUuid(null); }
private void setDefaultTemplate(OrganizationDto organizationDto1, @Nullable String project, @Nullable String view) { underTest.setDefaultTemplates(dbSession, organizationDto1.getUuid(), new DefaultTemplates().setProjectUuid(project).setApplicationsUuid(view)); dbSession.commit(); }
public void start() { Profiler profiler = Profiler.create(Loggers.get(getClass())).startInfo("Register permission templates"); try (DbSession dbSession = dbClient.openSession(false)) { String defaultOrganizationUuid = defaultOrganizationProvider.get().getUuid(); Optional<DefaultTemplates> defaultTemplates = dbClient.organizationDao().getDefaultTemplates(dbSession, defaultOrganizationUuid); if (!defaultTemplates.isPresent()) { PermissionTemplateDto defaultTemplate = getOrInsertDefaultTemplate(dbSession, defaultOrganizationUuid); dbClient.organizationDao().setDefaultTemplates(dbSession, defaultOrganizationUuid, new DefaultTemplates().setProjectUuid(defaultTemplate.getUuid())); dbSession.commit(); } } profiler.stopDebug(); }
@Test public void view_is_empty_no_matter_view_in_DefaultTemplates_if_views_is_not_installed() { DefaultTemplates defaultTemplatesNoView = new DefaultTemplates().setProjectUuid("foo").setApplicationsUuid(null); DefaultTemplates defaultTemplatesView = new DefaultTemplates().setProjectUuid("foo").setApplicationsUuid("bar"); assertThat(underTestWithoutViews.resolve(defaultTemplatesNoView).getApplication()).isEmpty(); assertThat(underTestWithoutViews.resolve(defaultTemplatesView).getApplication()).isEmpty(); }
@Test public void view_is_view_of_DefaultTemplates_if_view_in_DefaultTemplates_is_not_null_and_views_is_installed() { DefaultTemplates defaultTemplates = new DefaultTemplates().setProjectUuid("foo").setApplicationsUuid("bar"); assertThat(underTestWithViews.resolve(defaultTemplates).getApplication()).contains("bar"); } }
@Test public void view_is_project_of_DefaultTemplates_if_view_in_DefaultTemplates_is_null_and_views_is_installed() { DefaultTemplates defaultTemplates = new DefaultTemplates().setProjectUuid("foo").setApplicationsUuid(null); assertThat(underTestWithViews.resolve(defaultTemplates).getApplication()).contains("foo"); }
public void setDefaultTemplates(OrganizationDto defaultOrganization, String projectDefaultTemplateUuid, @Nullable String applicationDefaultTemplateUuid, @Nullable String portfoliosDefaultTemplateUuid) { DbSession dbSession = dbTester.getSession(); dbTester.getDbClient().organizationDao().setDefaultTemplates(dbSession, defaultOrganization.getUuid(), new DefaultTemplates() .setProjectUuid(projectDefaultTemplateUuid) .setApplicationsUuid(applicationDefaultTemplateUuid) .setPortfoliosUuid(portfoliosDefaultTemplateUuid)); dbSession.commit(); }
@Test public void setDefaultTemplates_throws_NPE_when_uuid_is_null() { expectedException.expect(NullPointerException.class); expectedException.expectMessage("uuid can't be null"); underTest.setDefaultTemplates(dbSession, null, new DefaultTemplates().setProjectUuid("p")); }
@Test public void getDefaultTemplates_is_case_sensitive() { insertOrganization(ORGANIZATION_DTO_1); underTest.setDefaultTemplates(dbSession, ORGANIZATION_DTO_1.getUuid(), new DefaultTemplates().setProjectUuid(PERMISSION_1).setApplicationsUuid(PERMISSION_2)); assertThat(underTest.getDefaultTemplates(dbSession, ORGANIZATION_DTO_1.getUuid().toUpperCase(Locale.ENGLISH))) .isEmpty(); }
public void setDefaultTemplates(PermissionTemplateDto projectDefaultTemplate, @Nullable PermissionTemplateDto applicationDefaultTemplate, @Nullable PermissionTemplateDto portfolioDefaultTemplate) { checkArgument(portfolioDefaultTemplate == null || portfolioDefaultTemplate.getOrganizationUuid().equals(projectDefaultTemplate.getOrganizationUuid()), "default template for project and portfolio must belong to the same organization"); checkArgument(applicationDefaultTemplate == null || applicationDefaultTemplate.getOrganizationUuid().equals(projectDefaultTemplate.getOrganizationUuid()), "default template for project and application must belong to the same organization"); DbSession dbSession = dbTester.getSession(); dbTester.getDbClient().organizationDao().setDefaultTemplates(dbSession, projectDefaultTemplate.getOrganizationUuid(), new DefaultTemplates() .setProjectUuid(projectDefaultTemplate.getUuid()) .setPortfoliosUuid(portfolioDefaultTemplate == null ? null : portfolioDefaultTemplate.getUuid()) .setApplicationsUuid(applicationDefaultTemplate == null ? null : applicationDefaultTemplate.getUuid())); dbSession.commit(); }
@Test public void getDefaultTemplates_returns_data_when_project_default_templates_column_is_not_null() { insertOrganization(ORGANIZATION_DTO_1); underTest.setDefaultTemplates(dbSession, ORGANIZATION_DTO_1.getUuid(), new DefaultTemplates().setProjectUuid(PERMISSION_1)); verifyGetDefaultTemplates(ORGANIZATION_DTO_1, PERMISSION_1, null); }
private void insertDefaultTemplateOnGroups(DbSession dbSession, OrganizationDto organizationDto, GroupDto ownerGroup, GroupDto defaultGroup) { Date now = new Date(system2.now()); PermissionTemplateDto permissionTemplateDto = dbClient.permissionTemplateDao().insert( dbSession, new PermissionTemplateDto() .setOrganizationUuid(organizationDto.getUuid()) .setUuid(uuidFactory.create()) .setName(PERM_TEMPLATE_NAME) .setDescription(format(PERM_TEMPLATE_DESCRIPTION_PATTERN, organizationDto.getName())) .setCreatedAt(now) .setUpdatedAt(now)); insertGroupPermission(dbSession, permissionTemplateDto, ADMIN, ownerGroup); insertGroupPermission(dbSession, permissionTemplateDto, ISSUE_ADMIN, ownerGroup); insertGroupPermission(dbSession, permissionTemplateDto, SECURITYHOTSPOT_ADMIN, ownerGroup); insertGroupPermission(dbSession, permissionTemplateDto, SCAN.getKey(), ownerGroup); insertGroupPermission(dbSession, permissionTemplateDto, USER, defaultGroup); insertGroupPermission(dbSession, permissionTemplateDto, CODEVIEWER, defaultGroup); dbClient.organizationDao().setDefaultTemplates( dbSession, organizationDto.getUuid(), new DefaultTemplates().setProjectUuid(permissionTemplateDto.getUuid())); }
private void insertPersonalOrgDefaultTemplate(DbSession dbSession, OrganizationDto organizationDto, GroupDto defaultGroup) { long now = system2.now(); Date dateNow = new Date(now); PermissionTemplateDto permissionTemplateDto = dbClient.permissionTemplateDao().insert( dbSession, new PermissionTemplateDto() .setOrganizationUuid(organizationDto.getUuid()) .setUuid(uuidFactory.create()) .setName("Default template") .setDescription(format(PERM_TEMPLATE_DESCRIPTION_PATTERN, organizationDto.getName())) .setCreatedAt(dateNow) .setUpdatedAt(dateNow)); insertProjectCreatorPermission(dbSession, permissionTemplateDto, ADMIN, now); insertProjectCreatorPermission(dbSession, permissionTemplateDto, ISSUE_ADMIN, now); insertProjectCreatorPermission(dbSession, permissionTemplateDto, SECURITYHOTSPOT_ADMIN, now); insertProjectCreatorPermission(dbSession, permissionTemplateDto, SCAN.getKey(), now); insertGroupPermission(dbSession, permissionTemplateDto, USER, defaultGroup); insertGroupPermission(dbSession, permissionTemplateDto, CODEVIEWER, defaultGroup); dbClient.organizationDao().setDefaultTemplates( dbSession, organizationDto.getUuid(), new DefaultTemplates().setProjectUuid(permissionTemplateDto.getUuid())); }
private void setDefaultTemplateUuid(DbSession dbSession, PermissionTemplateDto permissionTemplateDto, String qualifier) { String organizationUuid = permissionTemplateDto.getOrganizationUuid(); OrganizationDao organizationDao = dbClient.organizationDao(); DefaultTemplates defaultTemplates = checkFoundWithOptional( organizationDao.getDefaultTemplates(dbSession, organizationUuid), "No Default templates for organization with uuid '%s'", organizationUuid); if (Qualifiers.PROJECT.equals(qualifier)) { defaultTemplates.setProjectUuid(permissionTemplateDto.getUuid()); } else if (Qualifiers.VIEW.equals(qualifier)) { defaultTemplates.setViewUuid(permissionTemplateDto.getUuid()); } organizationDao.setDefaultTemplates(dbSession, organizationUuid, defaultTemplates); }
public void start() { Profiler profiler = Profiler.create(Loggers.get(getClass())).startInfo("Register permission templates"); try (DbSession dbSession = dbClient.openSession(false)) { String defaultOrganizationUuid = defaultOrganizationProvider.get().getUuid(); Optional<DefaultTemplates> defaultTemplates = dbClient.organizationDao().getDefaultTemplates(dbSession, defaultOrganizationUuid); if (!defaultTemplates.isPresent()) { PermissionTemplateDto defaultTemplate = getOrInsertDefaultTemplate(dbSession, defaultOrganizationUuid); dbClient.organizationDao().setDefaultTemplates(dbSession, defaultOrganizationUuid, new DefaultTemplates().setProjectUuid(defaultTemplate.getUuid())); dbSession.commit(); } } profiler.stopDebug(); }
private void insertDefaultTemplateOnGroups(DbSession dbSession, OrganizationDto organizationDto, GroupDto ownerGroup, GroupDto defaultGroup) { Date now = new Date(system2.now()); PermissionTemplateDto permissionTemplateDto = dbClient.permissionTemplateDao().insert( dbSession, new PermissionTemplateDto() .setOrganizationUuid(organizationDto.getUuid()) .setUuid(uuidFactory.create()) .setName(PERM_TEMPLATE_NAME) .setDescription(format(PERM_TEMPLATE_DESCRIPTION_PATTERN, organizationDto.getName())) .setCreatedAt(now) .setUpdatedAt(now)); insertGroupPermission(dbSession, permissionTemplateDto, ADMIN, ownerGroup); insertGroupPermission(dbSession, permissionTemplateDto, ISSUE_ADMIN, ownerGroup); insertGroupPermission(dbSession, permissionTemplateDto, SCAN.getKey(), ownerGroup); insertGroupPermission(dbSession, permissionTemplateDto, USER, defaultGroup); insertGroupPermission(dbSession, permissionTemplateDto, CODEVIEWER, defaultGroup); dbClient.organizationDao().setDefaultTemplates( dbSession, organizationDto.getUuid(), new DefaultTemplates().setProjectUuid(permissionTemplateDto.getUuid())); }
private void insertPersonalOrgDefaultTemplate(DbSession dbSession, OrganizationDto organizationDto, GroupDto defaultGroup) { long now = system2.now(); Date dateNow = new Date(now); PermissionTemplateDto permissionTemplateDto = dbClient.permissionTemplateDao().insert( dbSession, new PermissionTemplateDto() .setOrganizationUuid(organizationDto.getUuid()) .setUuid(uuidFactory.create()) .setName("Default template") .setDescription(format(PERM_TEMPLATE_DESCRIPTION_PATTERN, organizationDto.getName())) .setCreatedAt(dateNow) .setUpdatedAt(dateNow)); insertProjectCreatorPermission(dbSession, permissionTemplateDto, ADMIN, now); insertProjectCreatorPermission(dbSession, permissionTemplateDto, ISSUE_ADMIN, now); insertProjectCreatorPermission(dbSession, permissionTemplateDto, SCAN.getKey(), now); insertGroupPermission(dbSession, permissionTemplateDto, USER, defaultGroup); insertGroupPermission(dbSession, permissionTemplateDto, CODEVIEWER, defaultGroup); dbClient.organizationDao().setDefaultTemplates( dbSession, organizationDto.getUuid(), new DefaultTemplates().setProjectUuid(permissionTemplateDto.getUuid())); }