private void verifyGetDefaultTemplates(OrganizationDto organizationDto, @Nullable String expectedProject, @Nullable String expectedView) { Optional<DefaultTemplates> optional = underTest.getDefaultTemplates(dbSession, organizationDto.getUuid()); assertThat(optional).isNotEmpty(); DefaultTemplates defaultTemplates = optional.get(); assertThat(defaultTemplates.getProjectUuid()).isEqualTo(expectedProject); assertThat(defaultTemplates.getApplicationsUuid()).isEqualTo(expectedView); }
@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"); }); }
public DefaultTemplates setProjectUuid(String projectUuid) { checkProjectNotNull(projectUuid); this.projectUuid = projectUuid; return this; }
@Override public ResolvedDefaultTemplates resolve(DefaultTemplates defaultTemplates) { String projectDefaultTemplate = defaultTemplates.getProjectUuid(); return new ResolvedDefaultTemplates( projectDefaultTemplate, isViewsEnabled(resourceTypes) ? ofNullable(defaultTemplates.getApplicationsUuid()).orElse(projectDefaultTemplate) : null, isViewsEnabled(resourceTypes) ? ofNullable(defaultTemplates.getPortfoliosUuid()).orElse(projectDefaultTemplate) : null); }
/** * The default template for view can be removed when Governance is not installed. To avoid keeping a reference * to a non existing template, we update the default templates. */ private void updateViewDefaultTemplateWhenGovernanceIsNotInstalled(DbSession dbSession, PermissionTemplateDto template, DefaultTemplates defaultTemplates) { String viewDefaultTemplateUuid = defaultTemplates.getApplicationsUuid(); if (viewDefaultTemplateUuid != null && viewDefaultTemplateUuid.equals(template.getUuid())) { defaultTemplates.setApplicationsUuid(null); dbClient.organizationDao().setDefaultTemplates(dbSession, template.getOrganizationUuid(), 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 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")); }
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(); }
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); }
private static void checkDefaultTemplates(DefaultTemplates defaultTemplates) { requireNonNull(defaultTemplates, "defaultTemplates can't be null"); requireNonNull(defaultTemplates.getProjectUuid()); } }
@Test public void setDefaultTemplates_throws_NPE_when_defaultTemplate_project_is_null_and_view_is_not() { expectedException.expect(NullPointerException.class); expectedException.expectMessage("defaultTemplates.project can't be null"); underTest.setDefaultTemplates(dbSession, "uuid", new DefaultTemplates().setApplicationsUuid(PERMISSION_1)); }
@Override public ResolvedDefaultTemplates resolve(DefaultTemplates defaultTemplates) { String projectDefaultTemplate = defaultTemplates.getProjectUuid(); return new ResolvedDefaultTemplates( projectDefaultTemplate, isViewsEnabled(resourceTypes) ? ofNullable(defaultTemplates.getViewUuid()).orElse(projectDefaultTemplate) : null); }
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); }
@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); }
@Test public void setDefaultTemplates_throws_NPE_when_defaultTemplate_project_is_null() { expectedException.expect(NullPointerException.class); expectedException.expectMessage("defaultTemplates.project can't be null"); underTest.setDefaultTemplates(dbSession, "uuid", new DefaultTemplates()); }
@Test public void setApplicationsUuid_accepts_null() { underTest.setApplicationsUuid(null); }
@Test public void default_template_for_views_can_be_deleted_by_uuid_if_views_is_not_installed_and_default_template_for_views_is_reset() { OrganizationDto organization = db.organizations().insert(); PermissionTemplateDto projectTemplate = db.permissionTemplates().insertTemplate(organization); PermissionTemplateDto viewTemplate = insertTemplateAndAssociatedPermissions(organization); db.organizations().setDefaultTemplates(projectTemplate, null, viewTemplate); loginAsAdmin(organization); newRequestByUuid(this.underTestWithoutViews, viewTemplate.getUuid()); assertTemplateDoesNotExist(viewTemplate); assertThat(db.getDbClient().organizationDao().getDefaultTemplates(db.getSession(), organization.getUuid()) .get().getApplicationsUuid()) .isNull(); }
@Test public void setPortfoliosUuid_accepts_null() { underTest.setPortfoliosUuid(null); }
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(); }
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(); }