@Test public void shouldReturnDuplicateWithoutName() { PipelineConfig pipelineConfig = PipelineConfigMother.pipelineConfig("somePipeline"); PipelineConfig clonedPipelineConfig = pipelineConfig.duplicate(); assertThat(clonedPipelineConfig.name(), is(new CaseInsensitiveString(""))); assertThat(clonedPipelineConfig.materialConfigs(), is(pipelineConfig.materialConfigs())); assertThat(clonedPipelineConfig.getFirstStageConfig(), is(pipelineConfig.getFirstStageConfig())); }
@Test //#6821 public void shouldCopyOverAllEnvironmentVariablesWhileCloningAPipeline() throws CryptoException { PipelineConfig source = PipelineConfigMother.createPipelineConfig("somePipeline", "stage", "job"); source.addEnvironmentVariable("k1", "v1"); source.addEnvironmentVariable("k2", "v2"); GoCipher goCipher = new GoCipher(); source.addEnvironmentVariable(new EnvironmentVariableConfig(goCipher, "secret_key", "secret", true)); PipelineConfig cloned = source.duplicate(); EnvironmentVariablesConfig clonedEnvVariables = cloned.getPlainTextVariables(); EnvironmentVariablesConfig sourceEnvVariables = source.getPlainTextVariables(); assertThat(clonedEnvVariables.size(), is(sourceEnvVariables.size())); clonedEnvVariables.getPlainTextVariables().containsAll(sourceEnvVariables.getPlainTextVariables()); assertThat(cloned.getSecureVariables().size(), is(source.getSecureVariables().size())); assertThat(cloned.getSecureVariables().containsAll(source.getSecureVariables()), is(true)); }
@Test public void shouldReturnDuplicateWithPipelineNameEmptyIfFetchArtifactTaskIsFetchingFromSamePipeline() { PipelineConfig pipelineConfig = PipelineConfigMother.createPipelineConfig("somePipeline", "stage", "job"); StageConfig stageConfig = pipelineConfig.get(0); JobConfig jobConfig = stageConfig.getJobs().get(0); Tasks originalTasks = jobConfig.getTasks(); originalTasks.add(new FetchTask(pipelineConfig.name(), stageConfig.name(), jobConfig.name(), "src", "dest")); originalTasks.add(new FetchTask(new CaseInsensitiveString("some_other_pipeline"), stageConfig.name(), jobConfig.name(), "src", "dest")); PipelineConfig clone = pipelineConfig.duplicate(); Tasks clonedTasks = clone.get(0).getJobs().get(0).getTasks(); assertThat(((FetchTask) clonedTasks.get(0)).getTargetPipelineName(), is(new CaseInsensitiveString(""))); assertThat(((FetchTask) clonedTasks.get(1)).getTargetPipelineName(), is(new CaseInsensitiveString("some_other_pipeline"))); assertThat(((FetchTask) originalTasks.get(0)).getTargetPipelineName(), is(pipelineConfig.name())); }