public AgentConfig(String uuid, String hostName, String ipAddress) { this(uuid, hostName, ipAddress, new ResourceConfigs()); }
@Test public void shouldTrimResourceNames() { ResourceConfigs resourceConfigs = new ResourceConfigs(); resourceConfigs.add(new ResourceConfig("foo")); resourceConfigs.add(new ResourceConfig("foo ")); assertThat(resourceConfigs.size(), is(1)); ResourceConfigs newResourceConfigs = new ResourceConfigs(); newResourceConfigs.add(new ResourceConfig("foo ")); newResourceConfigs.add(new ResourceConfig("foo ")); assertThat(newResourceConfigs.size(), is(1)); }
@Test public void shouldGetAllResourcesNames() { ResourceConfigs resourceConfigs = new ResourceConfigs(); resourceConfigs.add(new ResourceConfig("Eoo")); resourceConfigs.add(new ResourceConfig("Poo")); List<String> names = new ArrayList<>(); names.add("Eoo"); names.add("Poo"); List<String> resourceNames = resourceConfigs.resourceNames(); assertThat(resourceNames, is(names)); }
public String exportToCsv() { return join(resourceNames(), ", "); }
public ResourceConfigs toResourceConfigs() { final ResourceConfigs resourceConfigs = new ResourceConfigs(); for (Resource resource : this) { resourceConfigs.add(new ResourceConfig(resource.getName())); } return resourceConfigs; } }
@Test public void shouldCompareBasedOnSimilarResourceList() { ResourceConfigs resourceConfigsA = new ResourceConfigs(); ResourceConfigs resourceConfigsB = new ResourceConfigs(); resourceConfigsA.add(new ResourceConfig("xyz")); resourceConfigsA.add(new ResourceConfig("aaa")); resourceConfigsB.add(new ResourceConfig("xyz")); resourceConfigsB.add(new ResourceConfig("aaa")); assertThat(resourceConfigsA.compareTo(resourceConfigsB), is(0)); }
@Test public void shouldClearAndSetPrimitiveAttributes() { ResourceConfigs resourceConfigs = new ResourceConfigs(); String csv = "a, b, c,d "; resourceConfigs.add(new ResourceConfig("old_resource")); assertThat(resourceConfigs.size(), is(1)); resourceConfigs.importFromCsv(csv); assertThat(resourceConfigs.size(), is(4)); assertThat(resourceConfigs.exportToCsv(), is("a, b, c, d, ")); }
@Test public void shouldReturnSortedResourceNamesAsStringRepresention() { ResourceConfigs actual = new ResourceConfigs(); actual.add(new ResourceConfig("jdk1.4")); actual.add(new ResourceConfig("linux")); actual.add(new ResourceConfig("gentoo")); actual.add(new ResourceConfig("jdk1.5")); actual.add(new ResourceConfig("Jdk1.5")); assertThat(actual.size(), is(4)); assertThat(actual.toString(), is("gentoo | jdk1.4 | jdk1.5 | linux")); }
@Test public void shouldReturnListOfResoucesAsCommaSeperatedList() { ResourceConfigs actual = new ResourceConfigs(); actual.add(new ResourceConfig(" a ")); actual.add(new ResourceConfig(" b")); actual.add(new ResourceConfig("c")); assertThat(actual.exportToCsv(), is("a, b, c, ")); }
public void addResourceConfig(ResourceConfig resourceConfig) { this.resourceConfigs.add(resourceConfig); }
@Test public void shouldFailValidationIfAnyDescendentIsInvalid(){ ResourceConfigs resourceConfigs = mock(ResourceConfigs.class); when(resourceConfigs.iterator()).thenReturn(new ResourceConfigs().iterator()); ArtifactConfigs artifactConfigs = mock(ArtifactConfigs.class); ArtifactPropertiesConfig properties = mock(ArtifactPropertiesConfig.class); EnvironmentVariablesConfig variables = mock(EnvironmentVariablesConfig.class); when(tasks.validateTree(any(PipelineConfigSaveValidationContext.class))).thenReturn(false); when(resourceConfigs.validateTree(any(PipelineConfigSaveValidationContext.class))).thenReturn(false); when(properties.validateTree(any(PipelineConfigSaveValidationContext.class))).thenReturn(false); when(artifactConfigs.validateTree(any(PipelineConfigSaveValidationContext.class))).thenReturn(false); PipelineConfigSaveValidationContext childContext = captor.getValue(); assertThat(childContext.getParent(), is(jobConfig)); verify(resourceConfigs).validateTree(childContext); verify(properties).validateTree(childContext); verify(artifactConfigs).validateTree(childContext);
@Test public void shouldValidateTree(){ ResourceConfig resourceConfig1 = new ResourceConfig("a#"); ResourceConfig resourceConfig2 = new ResourceConfig("b"); ResourceConfigs resourceConfigs = new ResourceConfigs(resourceConfig1, resourceConfig2); resourceConfigs.validateTree(PipelineConfigSaveValidationContext.forChain(true, "group", new PipelineConfig())); assertThat(resourceConfig1.errors().size(), is(1)); assertThat(resourceConfig1.errors().firstError(), is(String.format("Resource name 'a#' is not valid. Valid names much match '%s'", ResourceConfig.VALID_REGEX))); assertThat(resourceConfig2.errors().isEmpty(), is(true)); } }
@Test public void shouldHaveNiceConvenienceConstructorThatDoesSomeNiftyParsing() { ResourceConfigs actual = new ResourceConfigs("mou, fou"); assertThat(actual.toString(), is("fou | mou")); }
@Test public void shouldNotBombIfNoResourcesPresent() { assertThat(new ResourceConfigs(new ResourceConfig("xyz")).compareTo(new ResourceConfigs()), is(greaterThan(0))); }
public List<String> getResources() { return resources().resourceNames(); }
public CruiseConfig update(CruiseConfig cruiseConfig) { AgentConfig agentConfig = cruiseConfig.agents().getAgentByUuid(uuid); agentConfig.getResourceConfigs().importFromCsv(resources); return cruiseConfig; } }
public boolean shouldAssociate(AgentConfig agent, ResourceConfig resourceConfig) { return agent.getResourceConfigs().contains(resourceConfig); }
private static Collection<String> getResourceNames(JobConfig jobConfig) { return jobConfig.resourceConfigs().stream().map(ResourceConfig::getName).collect(Collectors.toList()); }
public static JobConfig jobWithNoResourceRequirement() { JobConfig jobConfig = jobConfig(); jobConfig.setName(UUID.randomUUID().toString()); jobConfig.setRunInstanceCount((String)null); jobConfig.resourceConfigs().clear(); return jobConfig; } }