public PipelineModel pipelineModelForPipelineName(String pipelineName, boolean canForce, boolean canOperate, PipelinePauseInfo pipelinePauseInfo) { return getExistingPipelineModelOrCacheThisOneAndGetItBack(new PipelineModel(pipelineName, canForce, canOperate, pipelinePauseInfo)); }
public void add(PipelineModel pipelineModel) { PipelineModel model = getExistingPipelineModelOrCacheThisOneAndGetItBack(new PipelineModel(pipelineModel, false)); for (PipelineInstanceModel pipelineInstanceModel : pipelineModel.getActivePipelineInstances()) { model.addPipelineInstance(pipelineInstanceModel); } }
private PipelineModel pipelineModel(String pipelineName) { PipelineModel pipelineModel = new PipelineModel(pipelineName, true, true, PipelinePauseInfo.notPaused()); return addInstanceTo(pipelineModel); }
@Test public void shouldCopyAllInternalsOfPipelineModelWhenCreatingANewOneIfNeeded() throws Exception { PipelineGroupModel groupModel = new PipelineGroupModel("group"); PipelineModel expectedModel = addInstanceTo(new PipelineModel("p1", true, true, PipelinePauseInfo.notPaused())); expectedModel.updateAdministrability(true); groupModel.add(expectedModel); PipelineModel actualModel = groupModel.getPipelineModel("p1"); String message = String.format("\nExpected: %s\nActual: %s", reflectionToString(expectedModel), reflectionToString(actualModel)); assertThat(message, EqualsBuilder.reflectionEquals(actualModel, expectedModel), is(true)); }
private PipelineModel pipelineModelFor(PipelineConfig pipelineConfig, PipelineInstanceModels historyForDashboard) { String pipelineName = str(pipelineConfig.name()); PipelinePauseInfo pauseInfo = pipelinePauseService.pipelinePauseInfo(pipelineName); boolean canBeForced = schedulingCheckerService.pipelineCanBeTriggeredManually(pipelineConfig); PipelineModel pipelineModel = new PipelineModel(pipelineName, canBeForced, true, pauseInfo); pipelineModel.updateAdministrability(pipelineConfig.isLocal()); pipelineModel.addPipelineInstances(instancesFor(pipelineConfig, historyForDashboard)); return pipelineModel; }
@Test public void shouldUnderstandCanOperateAndCanForce() { PipelineModel foo = new PipelineModel("foo", true, true, PipelinePauseInfo.notPaused()); foo.addPipelineInstance(pipelineNamed("foo")); PipelineModel bar = new PipelineModel("bar", false, false, PipelinePauseInfo.notPaused()); bar.addPipelineInstance(pipelineNamed("bar")); PipelineModel baz = new PipelineModel("baz", false, true, PipelinePauseInfo.notPaused()); baz.addPipelineInstance(pipelineNamed("baz")); assertThat(foo.canOperate(), is(true)); assertThat(foo.canForce(), is(true)); assertThat(bar.canOperate(), is(false)); assertThat(bar.canForce(), is(false)); assertThat(baz.canOperate(), is(true)); assertThat(baz.canForce(), is(false)); }
@Test public void shouldNotBeAbleToscheduleIfTheLatestPipelineIsPreparingToSchedule() throws Exception { PipelineInstanceModel instanceModel = PipelineInstanceModel.createPreparingToSchedule("pipelineName", new StageInstanceModels()); PipelineModel pipelineModel = new PipelineModel(instanceModel.getName(), true, true, PipelinePauseInfo.notPaused()); pipelineModel.addPipelineInstance(instanceModel); assertThat(pipelineModel.canForce(), is(false)); }
public PipelineModel latestPipelineModel(Username username, String pipelineName) { PipelineInstanceModel instanceModel = latest(pipelineName, username); if (instanceModel != null) { boolean canForce = schedulingCheckerService.canManuallyTrigger(pipelineName, username); PipelinePauseInfo pauseInfo = pipelinePauseService.pipelinePauseInfo(pipelineName); PipelineModel pipelineModel = new PipelineModel(pipelineName, canForce, securityService.hasOperatePermissionForPipeline( username.getUsername(), pipelineName ), pauseInfo); populateLockStatus(instanceModel.getName(), username, instanceModel); pipelineModel.addPipelineInstance(instanceModel); String groupName = goConfigService.findGroupNameByPipeline(new CaseInsensitiveString(pipelineName)); if (goConfigService.isPipelineEditable(pipelineName)) pipelineModel.updateAdministrability(goConfigService.isUserAdminOfGroup(username.getUsername(), groupName)); else pipelineModel.updateAdministrability(false); return pipelineModel; } return null; }
@Test public void shouldUnderstandIfHasNewRevisions() throws Exception { PipelineInstanceModel instanceModel = PipelineInstanceModel.createPipeline("pipelineName", -1, "1", BuildCause.createManualForced(), new StageInstanceModels()); MaterialRevisions latest = ModificationsMother.createHgMaterialRevisions(); instanceModel.setMaterialConfigs(new MaterialConfigs(latest.getMaterialRevision(0).getMaterial().config())); instanceModel.setLatestRevisions(latest); PipelineModel pipelineModel = new PipelineModel(instanceModel.getName(), true, true, PipelinePauseInfo.notPaused()); pipelineModel.addPipelineInstance(instanceModel); instanceModel.setMaterialRevisionsOnBuildCause(MaterialRevisions.EMPTY); assertThat(pipelineModel.hasNewRevisions(), is(true)); instanceModel.setMaterialRevisionsOnBuildCause(latest); assertThat(pipelineModel.hasNewRevisions(), is(false)); }
public static PipelineModel pipeline() { PipelineModel pipelineModel = new PipelineModel("pipe1", true, true, PipelinePauseInfo.notPaused()); MaterialRevisions materialRevisions = ModificationsMother.createHgMaterialRevisions(); PipelineInstanceModel instanceModel = PipelineInstanceModel.createPipeline("pipe1", -1, "label1", BuildCause.createWithModifications(materialRevisions, "foo-bar"), new StageInstanceModels()); instanceModel.setMaterialConfigs(new MaterialConfigs(materialRevisions.getMaterialRevision(0).getMaterial().config())); instanceModel.setLatestRevisions(materialRevisions); pipelineModel.addPipelineInstance(instanceModel); return pipelineModel; } }