@Override public void update(CruiseConfig modifiedConfig) { PipelineTemplateConfig existingTemplateConfig = findAddedTemplate(modifiedConfig); existingTemplateConfig.setAuthorization(authorization); }
@Override public void update(CruiseConfig modifiedConfig) { PipelineTemplateConfig existingTemplateConfig = findAddedTemplate(modifiedConfig); templateConfig.setAuthorization(existingTemplateConfig.getAuthorization()); TemplatesConfig templatesConfig = modifiedConfig.getTemplates(); templatesConfig.removeTemplateNamed(existingTemplateConfig.name()); templatesConfig.add(templateConfig); modifiedConfig.setTemplates(templatesConfig); }
@Override public void update(CruiseConfig modifiedConfig) { if (securityService.isUserGroupAdmin(currentUser)) { templateConfig.setAuthorization(new Authorization(new AdminsConfig(new AdminUser(currentUser.getUsername())))); } modifiedConfig.addTemplate(templateConfig); }
@Test public void shouldReturnTrueIfUserCanViewTemplate() { CaseInsensitiveString templateViewUser = new CaseInsensitiveString("view"); String templateName = "template"; PipelineTemplateConfig template = PipelineTemplateConfigMother.createTemplate(templateName, StageConfigMother.manualStage("stage")); template.setAuthorization(new Authorization(new ViewConfig(new AdminUser(templateViewUser)))); TemplatesConfig templates = new TemplatesConfig(template); assertThat(templates.hasViewAccessToTemplate(template, templateViewUser, null, false), is(true)); }
@Test public void shouldReturnTrueIfUserWithinARoleCanViewTemplate() { CaseInsensitiveString templateViewUser = new CaseInsensitiveString("template-admin"); Role securityConfigRole = getSecurityConfigRole(templateViewUser); List<Role> roles = setupRoles(securityConfigRole); String templateName = "template1"; PipelineTemplateConfig template = PipelineTemplateConfigMother.createTemplate(templateName, StageConfigMother.manualStage("stage")); template.setAuthorization(new Authorization(new ViewConfig(new AdminRole(securityConfigRole)))); TemplatesConfig templates = new TemplatesConfig(template); assertThat(templates.hasViewAccessToTemplate(template, templateViewUser, roles, false), is(true)); }
@Test public void shouldReturnFalseIfUserWithinARoleCannotViewTemplate() { CaseInsensitiveString templateViewUser = new CaseInsensitiveString("template-admin"); Role securityConfigRole = getSecurityConfigRole(templateViewUser); List<Role> roles = setupRoles(securityConfigRole); String templateName = "template1"; PipelineTemplateConfig template = PipelineTemplateConfigMother.createTemplate(templateName, StageConfigMother.manualStage("stage")); template.setAuthorization(new Authorization(new ViewConfig(new AdminRole(new CaseInsensitiveString("another-role"))))); TemplatesConfig templates = new TemplatesConfig(template); assertThat(templates.hasViewAccessToTemplate(template, templateViewUser, roles, false), is(false)); }