@Test public void shouldNotAssignType() throws Exception { Approval approval = new Approval(); approval.setConfigAttributes(Collections.singletonMap(Approval.TYPE, Approval.SUCCESS)); assertThat(approval.getType(), is(Approval.SUCCESS)); approval.setConfigAttributes(new HashMap()); assertThat(approval.getType(), is(Approval.SUCCESS)); approval.setConfigAttributes(Collections.singletonMap(Approval.TYPE, Approval.MANUAL)); assertThat(approval.getType(), is(Approval.MANUAL)); approval.setConfigAttributes(new HashMap()); assertThat(approval.getType(), is(Approval.MANUAL)); }
public static void toJSON(OutputWriter jsonWriter, Approval approval) { if (!approval.errors().isEmpty()) { jsonWriter.addChild("errors", errorWriter -> { new ErrorGetter(new HashMap<>()).toJSON(errorWriter, approval); }); } jsonWriter.add("type", approval.getType()); jsonWriter.addChild("authorization", authConfigWriter -> StageAuthorizationRepresenter.toJSON(authConfigWriter, approval.getAuthConfig())); }
public static void toJSON(OutputWriter jsonWriter, Approval approval) { if (!approval.errors().isEmpty()) { jsonWriter.addChild("errors", errorWriter -> { new ErrorGetter(new HashMap<>()).toJSON(errorWriter, approval); }); } jsonWriter.add("type", approval.getType()); jsonWriter.addChild("authorization", authConfigWriter -> StageAuthorizationRepresenter.toJSON(authConfigWriter, approval.getAuthConfig())); }
@Test public void shouldSetApprovalFromConfigAttrs() throws Exception{ StageConfig config = new StageConfig(); config.setConfigAttributes(Collections.singletonMap(StageConfig.APPROVAL, Collections.singletonMap(Approval.TYPE, Approval.MANUAL))); assertThat(config.getApproval().getType(), is(Approval.MANUAL)); config.setConfigAttributes(new HashMap()); assertThat(config.getApproval().getType(), is(Approval.MANUAL)); config.setConfigAttributes(Collections.singletonMap(StageConfig.APPROVAL, Collections.singletonMap(Approval.TYPE, Approval.SUCCESS))); assertThat(config.getApproval().getType(), is(Approval.SUCCESS)); config.setConfigAttributes(new HashMap()); assertThat(config.getApproval().getType(), is(Approval.SUCCESS)); }
@Test public void shouldAssignApprovalTypeOnFirstStageAsManualAndRestOfStagesAsUntouched() throws Exception { Map approvalAttributes = Collections.singletonMap(Approval.TYPE, Approval.MANUAL); Map<String, Map> map = Collections.singletonMap(StageConfig.APPROVAL, approvalAttributes); PipelineConfig pipelineConfig = PipelineConfigMother.pipelineConfig("p1", StageConfigMother.custom("s1", Approval.automaticApproval()), StageConfigMother.custom("s2", Approval.automaticApproval())); pipelineConfig.setConfigAttributes(map); assertThat(pipelineConfig.get(0).getApproval().getType(), is(Approval.MANUAL)); assertThat(pipelineConfig.get(1).getApproval().getType(), is(Approval.SUCCESS)); }
@Test public void shouldAssignApprovalTypeOnFirstStageAsAuto() throws Exception { Map approvalAttributes = Collections.singletonMap(Approval.TYPE, Approval.SUCCESS); Map<String, Map> map = Collections.singletonMap(StageConfig.APPROVAL, approvalAttributes); PipelineConfig pipelineConfig = PipelineConfigMother.createPipelineConfig("p1", "s1", "j1"); pipelineConfig.get(0).updateApproval(Approval.manualApproval()); pipelineConfig.setConfigAttributes(map); assertThat(pipelineConfig.get(0).getApproval().getType(), is(Approval.SUCCESS)); }
@Test public void shouldAssignApprovalTypeOnFirstStageAsManual() throws Exception { Map approvalAttributes = Collections.singletonMap(Approval.TYPE, Approval.MANUAL); Map<String, Map> map = Collections.singletonMap(StageConfig.APPROVAL, approvalAttributes); PipelineConfig pipelineConfig = PipelineConfigMother.createPipelineConfig("p1", "s1", "j1"); pipelineConfig.get(0).updateApproval(Approval.manualApproval()); pipelineConfig.setConfigAttributes(map); assertThat(pipelineConfig.get(0).getApproval().getType(), is(Approval.MANUAL)); }
private CRApproval approvalToCRApproval(Approval approval) { CRApproval crApproval = new CRApproval(); for(AdminUser user: approval.getAuthConfig().getUsers()) { crApproval.addAuthorizedUser(user.getName().toString()); } for(AdminRole role: approval.getAuthConfig().getRoles()) { crApproval.addAuthorizedRole(role.getName().toString()); } if (approval.getType().equals(Approval.SUCCESS)) { crApproval.setApprovalCondition(CRApprovalCondition.success); } else { crApproval.setApprovalCondition(CRApprovalCondition.manual); } return crApproval; }
@Test public void shouldValidateApprovalType() throws Exception { Approval approval = new Approval(); approval.setConfigAttributes(Collections.singletonMap(Approval.TYPE, "not-manual-or-success")); assertThat(approval.getType(), is("not-manual-or-success")); approval.validate(ConfigSaveValidationContext.forChain(new BasicCruiseConfig(), new BasicPipelineConfigs())); assertThat(approval.errors().firstError(), is("You have defined approval type as 'not-manual-or-success'. Approval can only be of the type 'manual' or 'success'.")); }