public static EnvironmentVariables toEnvironmentVariables(EnvironmentVariablesConfig environmentVariableConfigs) { final EnvironmentVariables environmentVariables = new EnvironmentVariables(); for (EnvironmentVariableConfig environmentVariableConfig : environmentVariableConfigs) { environmentVariables.add(new EnvironmentVariable(environmentVariableConfig)); } return environmentVariables; }
public EnvironmentVariables load(final Long entityId, final EnvironmentVariableType type) { List<EnvironmentVariable> result = (List<EnvironmentVariable>) transactionTemplate.execute((TransactionCallback) transactionStatus -> { Criteria criteria = sessionFactory.getCurrentSession().createCriteria(EnvironmentVariable.class).add(Restrictions.eq("entityId", entityId)).add( Restrictions.eq("entityType", type.toString())).addOrder(Order.asc("id")); criteria.setCacheable(true); return criteria.list(); }); return new EnvironmentVariables(result); }
private DefaultJobPlan jobPlan(String pipelineName) { return new DefaultJobPlan(null, null, null, 0, new JobIdentifier(pipelineName, 0, "label", "stage", "1", "blahBuildName", 0L), null, new EnvironmentVariables(), new EnvironmentVariables(), null); } }
private DefaultJobPlan jobPlan() { JobIdentifier jobIdentifier = new JobIdentifier("pipelineName", 1, "1", "defaultStage", "1", "job1", 100L); return new DefaultJobPlan(new Resources(), new ArrayList<>(), new ArrayList<>(), 1L, jobIdentifier, null, new EnvironmentVariables(), new EnvironmentVariables(), null); } }
private DefaultJobPlan jobPlan(String pipelineName, String jobName, String resource, String uuid) { JobIdentifier jobIdentifier = new JobIdentifier(pipelineName, 1, "1", "stage1", "1", jobName, 1L); DefaultJobPlan plan = new DefaultJobPlan(new Resources(resource), new ArrayList<>(), null, 100, jobIdentifier, null, new EnvironmentVariables(), new EnvironmentVariables(), null); plan.setAgentUuid(uuid); return plan; }
@Test public void shouldBeAbleToSerializeAndDeserialize() throws ClassNotFoundException, IOException { DefaultJobPlan original = new DefaultJobPlan(new Resources(), new ArrayList<>(), new ArrayList<>(), 0, new JobIdentifier(), "uuid", new EnvironmentVariables(), new EnvironmentVariables(), null); DefaultJobPlan clone = (DefaultJobPlan) serializeAndDeserialize(original); assertThat(clone, is(original)); } }
private BuildAssignment createAssignment(List<ArtifactPlan> artifactPlans, String[] fileToCreate) throws IOException { MaterialRevisions materialRevisions = materialRevisions(); BuildCause buildCause = BuildCause.createWithModifications(materialRevisions, ""); List<Builder> builders = new ArrayList<>(); builders.add(new CreateFileBuilder(fileToCreate)); DefaultJobPlan plan = new DefaultJobPlan(new Resources(), artifactPlans, new ArrayList<>(), -1, new JobIdentifier(PIPELINE_NAME, -2, "1", STAGE_NAME, "1", JOB_NAME), null, new EnvironmentVariables(), new EnvironmentVariables(), null); return BuildAssignment.create(plan, buildCause, builders, buildWorkingDirectory, new EnvironmentVariableContext(), new ArtifactStores()); }
@Test public void shouldApplyEnvironmentVariablesWhenRunningTheJob() { EnvironmentVariables variables = new EnvironmentVariables(); variables.add("VARIABLE_NAME", "variable value"); DefaultJobPlan plan = new DefaultJobPlan(new Resources(), new ArrayList<>(), new ArrayList<>(), -1, null, null, variables, new EnvironmentVariables(), null); EnvironmentVariableContext variableContext = new EnvironmentVariableContext(); plan.applyTo(variableContext); assertThat(variableContext.getProperty("VARIABLE_NAME"), is("variable value")); }
private BuildAssignment createAssignment(EnvironmentVariableContext environmentVariableContext) throws IOException { JobPlan plan = new DefaultJobPlan(new Resources(), new ArrayList<>(), new ArrayList<>(), -1, new JobIdentifier(PIPELINE_NAME, 1, "1", STAGE_NAME, "1", JOB_NAME, 123L), null, new EnvironmentVariables(), new EnvironmentVariables(), null); MaterialRevisions materialRevisions = materialRevisions(); BuildCause buildCause = BuildCause.createWithModifications(materialRevisions, TRIGGERED_BY_USER); List<Builder> builders = new ArrayList<>(); builders.add(new CommandBuilder("ls", "", dir, new RunIfConfigs(), new NullBuilder(), "")); return BuildAssignment.create(plan, buildCause, builders, dir, environmentVariableContext, new ArtifactStores()); }
private BuildAssignment createAssignment(EnvironmentVariableContext environmentVariableContext) throws IOException { JobPlan plan = new DefaultJobPlan(new Resources(), new ArrayList<>(), new ArrayList<>(), -1, new JobIdentifier(PIPELINE_NAME, 1, "1", STAGE_NAME, "1", JOB_NAME, 123L), null, new EnvironmentVariables(), new EnvironmentVariables(), null); MaterialRevisions materialRevisions = materialRevisions(); BuildCause buildCause = BuildCause.createWithModifications(materialRevisions, TRIGGERED_BY_USER); List<Builder> builders = new ArrayList<>(); builders.add(new CommandBuilder("ant", "", dir, new RunIfConfigs(), new NullBuilder(), "")); return BuildAssignment.create(plan, buildCause, builders, dir, environmentVariableContext, new ArtifactStores()); }
@Test public void shouldCreateJobPlan() { ResourceConfigs resourceConfigs = new ResourceConfigs(); ArtifactConfigs artifactConfigs = new ArtifactConfigs(); JobConfig jobConfig = new JobConfig(new CaseInsensitiveString("test"), resourceConfigs, artifactConfigs); JobPlan plan = instanceFactory.createJobPlan(jobConfig, new DefaultSchedulingContext()); assertThat(plan, is(new DefaultJobPlan(new Resources(resourceConfigs), ArtifactPlan.toArtifactPlans(artifactConfigs), new ArrayList<>(), -1, new JobIdentifier(), null, new EnvironmentVariables(), new EnvironmentVariables(), null))); }
@Test public void add_shouldAddEnvironmentVariable() { final EnvironmentVariables environmentVariables = new EnvironmentVariables(); assertThat(environmentVariables, hasSize(0)); environmentVariables.add("foo", "bar"); assertThat(environmentVariables, hasSize(1)); assertThat(environmentVariables, contains(new EnvironmentVariable("foo", "bar"))); }
@Test public void addTo_shouldAddEnvironmentVariablesToEnvironmentVariableContext() { final EnvironmentVariableContext environmentVariableContext = mock(EnvironmentVariableContext.class); final EnvironmentVariables environmentVariables = new EnvironmentVariables( new EnvironmentVariable("foo", "bar"), new EnvironmentVariable("baz", "car", true) ); environmentVariables.addTo(environmentVariableContext); verify(environmentVariableContext, times(1)).setProperty("foo", "bar", false); verify(environmentVariableContext, times(1)).setProperty("baz", "car", true); }
private BuildWork getBuildWorkWithP4MaterialRevision(P4Material p4Material) { pipelineConfig.setMaterialConfigs(new Materials(p4Material).convertToConfigs()); JobPlan plan = new DefaultJobPlan(new Resources(), new ArrayList<>(), new ArrayList<>(), -1, new JobIdentifier(PIPELINE_NAME, 1, "1", STAGE_NAME, "1", JOB_NAME, 123L), null, new EnvironmentVariables(), new EnvironmentVariables(), null); MaterialRevisions materialRevisions = new MaterialRevisions(new MaterialRevision(p4Material, new Modification("user", "comment", "a@b.com", new Date(), "10"))); BuildCause buildCause = BuildCause.createWithModifications(materialRevisions, TRIGGERED_BY_USER); List<Builder> builders = new ArrayList<>(); builders.add(new CommandBuilder("ant", "", dir, new RunIfConfigs(), new NullBuilder(), "")); BuildAssignment assignment = BuildAssignment.create(plan, buildCause, builders, dir, environmentVariableContext, new ArtifactStores()); return new BuildWork(assignment, systemEnvironment.consoleLogCharset()); }
@Test public void shouldReplaceTheTemplateWithEnvironmentVariable() { EnvironmentVariables envVars = new EnvironmentVariables(); envVars.add("VAR", "var_value"); PipelineLabel label = PipelineLabel.create("release-${ENV:VAR}", envVars); label.updateLabel(Collections.emptyMap(), 1); assertThat(label.toString(), is("release-var_value")); }
@Test public void shouldReplaceTheTemplateWithMultipleEnvironmentVariable() { EnvironmentVariables envVars = new EnvironmentVariables(); envVars.add("VAR1", "1"); envVars.add("VAR2", "2"); PipelineLabel label = PipelineLabel.create("release-${ENV:VAR1}, ${ENV:VAR2}", envVars); label.updateLabel(Collections.emptyMap(), 1); assertThat(label.toString(), is("release-1, 2")); }
@Test public void shouldGetOnlyInsecureValues() { EnvironmentVariables variables = new EnvironmentVariables( new EnvironmentVariable("key1", "value1", true), new EnvironmentVariable("key2", "value2") ); assertThat(variables.getInsecureEnvironmentVariableOrDefault("key1", "def1"), is("def1")); assertThat(variables.getInsecureEnvironmentVariableOrDefault("key2", null), is("value2")); assertThat(variables.getInsecureEnvironmentVariableOrDefault("key3", null), is(nullValue())); }
public static JobPlan jobPlanWithAssociatedEntities(String jobName, long id, List<ArtifactPlan> artifactPlans, List<ArtifactPropertiesGenerator> artifactPropertiesGenerators) { ConfigurationProperty configurationProperty = new ConfigurationProperty(new ConfigurationKey("image"), new ConfigurationValue("elastic-agent")); ElasticProfile elasticProfile = new ElasticProfile("elastic", "plugin", configurationProperty); EnvironmentVariables variables = new EnvironmentVariables(); variables.add("some_var", "blah"); return new DefaultJobPlan(new Resources(new Resource("foo"), new Resource("bar")), artifactPlans, artifactPropertiesGenerators, id, defaultJobIdentifier(jobName), null, variables, new EnvironmentVariables(), elasticProfile); } }
public static JobPlan createJobPlan(JobConfig jobConfig, JobIdentifier jobIdentifier, SchedulingContext schedulingContext) { final EnvironmentVariables environmentVariables = EnvironmentVariables.toEnvironmentVariables(schedulingContext.overrideEnvironmentVariables(jobConfig.getVariables()).getEnvironmentVariablesConfig()); final List<ArtifactPropertiesGenerator> artifactPropertiesGenerators = ArtifactPropertiesGenerator.toArtifactProperties(jobConfig.getProperties()); final List<ArtifactPlan> artifactPlans = ArtifactPlan.toArtifactPlans(jobConfig.artifactConfigs()); return new DefaultJobPlan(new Resources(jobConfig.resourceConfigs()), artifactPlans, artifactPropertiesGenerators, -1, jobIdentifier, null, environmentVariables, new EnvironmentVariables(), null); }
@Test public void shouldReplaceTheTemplateCaseInsensitively() { EnvironmentVariables envVars = new EnvironmentVariables(); envVars.add("VAR", "var_value"); PipelineLabel label = PipelineLabel.create("release-${SVNMaterial}-${EnV:Var}", envVars); MaterialRevisions materialRevisions = ModificationsMother.oneUserOneFile(); label.updateLabel(materialRevisions.getNamedRevisions(), 1); assertThat(label.toString(), is("release-" + ModificationsMother.currentRevision() + "-var_value")); }