Search in sources :

Example 21 with ElasticProfile

use of com.thoughtworks.go.config.elastic.ElasticProfile in project gocd by gocd.

the class PipelineConfigSaveValidationContextTest method isValidProfileIdShouldBeInValidInAbsenceOfElasticProfileForTheGivenId.

@Test
public void isValidProfileIdShouldBeInValidInAbsenceOfElasticProfileForTheGivenId() {
    BasicCruiseConfig cruiseConfig = new BasicCruiseConfig();
    ElasticConfig elasticConfig = new ElasticConfig();
    elasticConfig.setProfiles(new ElasticProfiles(new ElasticProfile("docker.unit-test", "docker")));
    cruiseConfig.setServerConfig(new ServerConfig(elasticConfig));
    ValidationContext context = PipelineConfigSaveValidationContext.forChain(true, "group", cruiseConfig, new PipelineConfig());
    assertFalse(context.isValidProfileId("invalid.profile-id"));
}
Also used : ElasticConfig(com.thoughtworks.go.config.elastic.ElasticConfig) ElasticProfiles(com.thoughtworks.go.config.elastic.ElasticProfiles) ElasticProfile(com.thoughtworks.go.config.elastic.ElasticProfile) Test(org.junit.Test)

Example 22 with ElasticProfile

use of com.thoughtworks.go.config.elastic.ElasticProfile in project gocd by gocd.

the class JobAgentMetadata method elasticProfile.

public ElasticProfile elasticProfile() {
    Gson gson = new Gson();
    Map map = gson.fromJson(metadata, LinkedHashMap.class);
    String pluginId = (String) map.get("pluginId");
    String id = (String) map.get("id");
    Map<String, String> properties = (Map<String, String>) map.get("properties");
    Collection<ConfigurationProperty> configProperties = MapUtil.collect(properties, new ListUtil.Transformer<Map.Entry<String, String>, ConfigurationProperty>() {

        @Override
        public ConfigurationProperty transform(Map.Entry<String, String> entry) {
            return new ConfigurationProperty(new ConfigurationKey(entry.getKey()), new ConfigurationValue(entry.getValue()));
        }
    });
    return new ElasticProfile(id, pluginId, configProperties);
}
Also used : ConfigurationProperty(com.thoughtworks.go.domain.config.ConfigurationProperty) Gson(com.google.gson.Gson) ListUtil(com.thoughtworks.go.util.ListUtil) ConfigurationValue(com.thoughtworks.go.domain.config.ConfigurationValue) ConfigurationKey(com.thoughtworks.go.domain.config.ConfigurationKey) ElasticProfile(com.thoughtworks.go.config.elastic.ElasticProfile) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map)

Example 23 with ElasticProfile

use of com.thoughtworks.go.config.elastic.ElasticProfile in project gocd by gocd.

the class CreateAgentMessageTest method shouldGetPluginId.

@Test
public void shouldGetPluginId() {
    List<ConfigurationProperty> properties = Arrays.asList(new ConfigurationProperty(new ConfigurationKey("key"), new ConfigurationValue("value")));
    ElasticProfile jobAgentConfig = new ElasticProfile("foo", "plugin-id", properties);
    CreateAgentMessage message = new CreateAgentMessage("key", "env", jobAgentConfig);
    assertThat(message.pluginId(), is(jobAgentConfig.getPluginId()));
    Map<String, String> configurationAsMap = jobAgentConfig.getConfigurationAsMap(true);
    assertThat(message.configuration(), is(configurationAsMap));
}
Also used : ConfigurationProperty(com.thoughtworks.go.domain.config.ConfigurationProperty) ConfigurationValue(com.thoughtworks.go.domain.config.ConfigurationValue) ConfigurationKey(com.thoughtworks.go.domain.config.ConfigurationKey) ElasticProfile(com.thoughtworks.go.config.elastic.ElasticProfile) Test(org.junit.Test)

Example 24 with ElasticProfile

use of com.thoughtworks.go.config.elastic.ElasticProfile in project gocd by gocd.

the class InstanceFactory method createJobPlan.

public JobPlan createJobPlan(JobConfig config, SchedulingContext context) {
    JobIdentifier identifier = new JobIdentifier();
    String elasticProfileId = config.getElasticProfileId();
    ElasticProfile elasticProfile = null;
    if (elasticProfileId != null) {
        elasticProfile = context.getElasticProfile(elasticProfileId);
    }
    return new DefaultJobPlan(config.resources(), config.artifactPlans(), config.getProperties(), -1, identifier, null, context.overrideEnvironmentVariables(config.getVariables()).getEnvironmentVariablesConfig(), new EnvironmentVariablesConfig(), elasticProfile);
}
Also used : ElasticProfile(com.thoughtworks.go.config.elastic.ElasticProfile)

Example 25 with ElasticProfile

use of com.thoughtworks.go.config.elastic.ElasticProfile in project gocd by gocd.

the class ElasticAgentProfileUpdateCommand method isRequestFresh.

private boolean isRequestFresh(CruiseConfig cruiseConfig) {
    ElasticProfile existingProfile = findExistingProfile(cruiseConfig);
    boolean freshRequest = hashingService.md5ForEntity(existingProfile).equals(md5);
    if (!freshRequest) {
        result.stale(LocalizedMessage.string("STALE_RESOURCE_CONFIG", getObjectDescriptor(), existingProfile.getId()));
    }
    return freshRequest;
}
Also used : ElasticProfile(com.thoughtworks.go.config.elastic.ElasticProfile)

Aggregations

ElasticProfile (com.thoughtworks.go.config.elastic.ElasticProfile)29 Test (org.junit.Test)23 ElasticProfiles (com.thoughtworks.go.config.elastic.ElasticProfiles)9 HttpLocalizedOperationResult (com.thoughtworks.go.server.service.result.HttpLocalizedOperationResult)6 ElasticConfig (com.thoughtworks.go.config.elastic.ElasticConfig)4 ConfigurationKey (com.thoughtworks.go.domain.config.ConfigurationKey)4 ConfigurationProperty (com.thoughtworks.go.domain.config.ConfigurationProperty)4 ConfigurationValue (com.thoughtworks.go.domain.config.ConfigurationValue)4 CoreMatchers.containsString (org.hamcrest.CoreMatchers.containsString)4 SystemEnvironment (com.thoughtworks.go.util.SystemEnvironment)3 BasicCruiseConfig (com.thoughtworks.go.config.BasicCruiseConfig)2 Gson (com.google.gson.Gson)1 Agents (com.thoughtworks.go.config.Agents)1 ArtifactPlans (com.thoughtworks.go.config.ArtifactPlans)1 EnvironmentVariablesConfig (com.thoughtworks.go.config.EnvironmentVariablesConfig)1 PipelineConfig (com.thoughtworks.go.config.PipelineConfig)1 DefaultJobPlan (com.thoughtworks.go.domain.DefaultJobPlan)1 DefaultSchedulingContext (com.thoughtworks.go.domain.DefaultSchedulingContext)1 JobIdentifier (com.thoughtworks.go.domain.JobIdentifier)1 ValidationError (com.thoughtworks.go.plugin.api.response.validation.ValidationError)1