@Override public void setConfigAttributes(Object attributes) { if (attributes == null) { return; } Map attributeMap = (Map) attributes; if (attributeMap.containsKey(NAME_FIELD)) { name = new CaseInsensitiveString((String) attributeMap.get(NAME_FIELD)); } if (attributeMap.containsKey(PIPELINES_FIELD)) { pipelines.setConfigAttributes(attributeMap.get(PIPELINES_FIELD)); } if (attributeMap.containsKey(AGENTS_FIELD)) { agents.setConfigAttributes(attributeMap.get(AGENTS_FIELD)); } if (attributeMap.containsKey(VARIABLES_FIELD)) { variables.setConfigAttributes(attributeMap.get(VARIABLES_FIELD)); } }
variables.setConfigAttributes(attributeMap.get(ENVIRONMENT_VARIABLES));
public void setConfigAttributes(Object attributes, TaskFactory taskFactory) { Map attributesMap = (Map) attributes; if (attributesMap.containsKey(NAME)) { String nameString = (String) attributesMap.get(NAME); jobName = nameString == null ? null : new CaseInsensitiveString(nameString); } if (attributesMap.containsKey("elasticProfileId")) { String elasticProfileId = (String) attributesMap.get("elasticProfileId"); setElasticProfileId(StringUtils.isBlank(elasticProfileId) ? null : elasticProfileId); } if (attributesMap.containsKey(TASKS)) { tasks.setConfigAttributes(attributesMap.get(TASKS), taskFactory); } if (attributesMap.containsKey(ENVIRONMENT_VARIABLES)) { variables.setConfigAttributes(attributesMap.get(ENVIRONMENT_VARIABLES)); } if (attributesMap.containsKey(TABS)) { tabs.setConfigAttributes(attributesMap.get(TABS)); } if (attributesMap.containsKey(RESOURCES)) { resourceConfigs.importFromCsv((String) attributesMap.get(RESOURCES)); } if (attributesMap.containsKey(ARTIFACT_CONFIGS)) { artifactConfigs.setConfigAttributes(attributesMap.get(ARTIFACT_CONFIGS)); } setTimeoutAttribute(attributesMap); setJobRunTypeAttribute(attributesMap); }
variables.setConfigAttributes(attributeMap.get(ENVIRONMENT_VARIABLES));
@Test public void shouldPopulateEnvironmentVariablesFromAttributeMap() { PipelineConfig pipelineConfig = new PipelineConfig(); HashMap map = new HashMap(); HashMap valueHashMap = new HashMap(); valueHashMap.put("name", "FOO"); valueHashMap.put("value", "BAR"); map.put(PipelineConfig.ENVIRONMENT_VARIABLES, valueHashMap); pipelineConfig.setVariables(mockEnvironmentVariablesConfig); pipelineConfig.setConfigAttributes(map); verify(mockEnvironmentVariablesConfig).setConfigAttributes(valueHashMap); }
@Test public void shouldPopulateEnvironmentVariablesFromAttributeMap() { JobConfig jobConfig = new JobConfig(); HashMap map = new HashMap(); HashMap valueHashMap = new HashMap(); valueHashMap.put("name", "FOO"); valueHashMap.put("value", "BAR"); map.put(JobConfig.ENVIRONMENT_VARIABLES, valueHashMap); EnvironmentVariablesConfig mockEnvironmentVariablesConfig = mock(EnvironmentVariablesConfig.class); jobConfig.setVariables(mockEnvironmentVariablesConfig); jobConfig.setConfigAttributes(map); verify(mockEnvironmentVariablesConfig).setConfigAttributes(valueHashMap); }
@Test public void shouldPopulateEnvironmentVariablesFromAttributeMap() { StageConfig stageConfig = new StageConfig(); HashMap map = new HashMap(); HashMap valueHashMap = new HashMap(); valueHashMap.put("name", "FOO"); valueHashMap.put("value", "BAR"); map.put(StageConfig.ENVIRONMENT_VARIABLES, valueHashMap); EnvironmentVariablesConfig mockEnvironmentVariablesConfig = mock(EnvironmentVariablesConfig.class); stageConfig.setVariables(mockEnvironmentVariablesConfig); stageConfig.setConfigAttributes(map); verify(mockEnvironmentVariablesConfig).setConfigAttributes(valueHashMap); }
@Test public void shouldSetConfigAttributesSecurely(){ environmentVariablesConfig = new EnvironmentVariablesConfig(); ArrayList<Map<String,String>> attribs = new ArrayList<>(); Map<String,String> var1 = new HashMap<>(); var1.put(EnvironmentVariableConfig.NAME, "name-var1"); var1.put(EnvironmentVariableConfig.VALUE, "val-var1"); attribs.add(var1); Map<String,String> var2 = new HashMap<>(); var2.put(EnvironmentVariableConfig.NAME, "name-var2"); var2.put(EnvironmentVariableConfig.VALUE, "val-var2"); var2.put(EnvironmentVariableConfig.SECURE, "true"); var2.put(EnvironmentVariableConfig.ISCHANGED, "true"); attribs.add(var2); assertThat(environmentVariablesConfig.size(), is(0)); environmentVariablesConfig.setConfigAttributes(attribs); assertThat(environmentVariablesConfig.size(), is(2)); assertThat(environmentVariablesConfig, hasItem(new EnvironmentVariableConfig(null, "name-var1", "val-var1", false))); assertThat(environmentVariablesConfig, hasItem(new EnvironmentVariableConfig(new GoCipher(), "name-var2", "val-var2", true))); }
@Test public void shouldClearEnvironmentVariablesWhenTheMapIsNull() { environmentVariablesConfig = new EnvironmentVariablesConfig(); EnvironmentVariableConfig one = new EnvironmentVariableConfig("FOO", "BAR"); environmentVariablesConfig.add(one); environmentVariablesConfig.setConfigAttributes(null); assertThat(environmentVariablesConfig.size(), is(0)); }