Search in sources :

Example 11 with HgMaterialConfig

use of com.thoughtworks.go.config.materials.mercurial.HgMaterialConfig in project gocd by gocd.

the class ConfigConverterTest method shouldConvertHgMaterialWhenNullName.

@Test
public void shouldConvertHgMaterialWhenNullName() {
    CRHgMaterial crHgMaterial = new CRHgMaterial(null, "folder", true, false, filter, "url");
    HgMaterialConfig hgMaterialConfig = (HgMaterialConfig) configConverter.toMaterialConfig(crHgMaterial, context);
    assertNull(hgMaterialConfig.getName());
    assertThat(hgMaterialConfig.getFolder(), is("folder"));
    assertThat(hgMaterialConfig.getAutoUpdate(), is(true));
    assertThat(hgMaterialConfig.getFilterAsString(), is("filter"));
    assertThat(hgMaterialConfig.getUrl(), is("url"));
}
Also used : HgMaterialConfig(com.thoughtworks.go.config.materials.mercurial.HgMaterialConfig) Test(org.junit.Test)

Example 12 with HgMaterialConfig

use of com.thoughtworks.go.config.materials.mercurial.HgMaterialConfig in project gocd by gocd.

the class ConfigConverterTest method shouldConvertConfigMaterialWhenConfigRepoIsHgWithWhitelist.

@Test
public void shouldConvertConfigMaterialWhenConfigRepoIsHgWithWhitelist() {
    // this url would be configured inside xml config-repo section
    HgMaterialConfig configRepoMaterial = new HgMaterialConfig("url", "folder");
    when(context.configMaterial()).thenReturn(configRepoMaterial);
    CRConfigMaterial crConfigMaterial = new CRConfigMaterial(null, null, new CRFilter(filter, true));
    MaterialConfig materialConfig = configConverter.toMaterialConfig(crConfigMaterial, context);
    assertNull("shouldSetEmptyMaterialNameAsInConfigRepoSourceCode", materialConfig.getName());
    HgMaterialConfig hgMaterialConfig = (HgMaterialConfig) materialConfig;
    assertThat(hgMaterialConfig.getAutoUpdate(), is(true));
    assertThat(hgMaterialConfig.getFilterAsString(), is("filter"));
    assertThat(hgMaterialConfig.getUrl(), is("url"));
    Filter whitelistFilter = new Filter(new IgnoredFiles("filter"));
    assertThat(hgMaterialConfig.filter(), is(whitelistFilter));
    assertThat(hgMaterialConfig.isInvertFilter(), is(true));
}
Also used : Filter(com.thoughtworks.go.config.materials.Filter) IgnoredFiles(com.thoughtworks.go.config.materials.IgnoredFiles) HgMaterialConfig(com.thoughtworks.go.config.materials.mercurial.HgMaterialConfig) PluggableSCMMaterialConfig(com.thoughtworks.go.config.materials.PluggableSCMMaterialConfig) GitMaterialConfig(com.thoughtworks.go.config.materials.git.GitMaterialConfig) MaterialConfig(com.thoughtworks.go.domain.materials.MaterialConfig) HgMaterialConfig(com.thoughtworks.go.config.materials.mercurial.HgMaterialConfig) P4MaterialConfig(com.thoughtworks.go.config.materials.perforce.P4MaterialConfig) TfsMaterialConfig(com.thoughtworks.go.config.materials.tfs.TfsMaterialConfig) DependencyMaterialConfig(com.thoughtworks.go.config.materials.dependency.DependencyMaterialConfig) SvnMaterialConfig(com.thoughtworks.go.config.materials.svn.SvnMaterialConfig) PackageMaterialConfig(com.thoughtworks.go.config.materials.PackageMaterialConfig) Test(org.junit.Test)

Example 13 with HgMaterialConfig

use of com.thoughtworks.go.config.materials.mercurial.HgMaterialConfig in project gocd by gocd.

the class MaterialConfigsTest method shouldAddErrorOnMaterialIfAutoUpdateDoesNotMatchAcrossFingerPrint.

@Test
public void shouldAddErrorOnMaterialIfAutoUpdateDoesNotMatchAcrossFingerPrint() throws Exception {
    HgMaterialConfig materialOne = new HgMaterialConfig("http://url1", null);
    materialOne.setAutoUpdate(false);
    HgMaterialConfig materialTwo = new HgMaterialConfig("http://url1", null);
    materialTwo.setAutoUpdate(true);
    CruiseConfig config = GoConfigMother.configWithPipelines("one", "two");
    PipelineConfig pipelineOne = config.pipelineConfigByName(new CaseInsensitiveString("one"));
    pipelineOne.setMaterialConfigs(new MaterialConfigs(materialOne));
    PipelineConfig pipelineTwo = config.pipelineConfigByName(new CaseInsensitiveString("two"));
    pipelineTwo.setMaterialConfigs(new MaterialConfigs(materialTwo));
    pipelineOne.materialConfigs().validate(ConfigSaveValidationContext.forChain(config));
    assertThat(pipelineOne.materialConfigs().get(0).errors().on(ScmMaterialConfig.AUTO_UPDATE), is("Material of type Mercurial (http://url1) is specified more than once in the configuration with different values for the autoUpdate attribute. All copies of this material must have the same value for this attribute."));
}
Also used : HgMaterialConfig(com.thoughtworks.go.config.materials.mercurial.HgMaterialConfig) Test(org.junit.Test)

Example 14 with HgMaterialConfig

use of com.thoughtworks.go.config.materials.mercurial.HgMaterialConfig in project gocd by gocd.

the class ParamResolverTest method shouldResolveInBasicPipelineConfigs.

@Test
public void shouldResolveInBasicPipelineConfigs() throws NoSuchFieldException {
    PipelineConfig pipelineConfig = PipelineConfigMother.createPipelineConfig("cruise", "dev", "ant");
    pipelineConfig.setLabelTemplate("2.1-${COUNT}-#{foo}-bar-#{bar}");
    HgMaterialConfig materialConfig = MaterialConfigsMother.hgMaterialConfig("http://#{foo}.com/#{bar}");
    pipelineConfig.addMaterialConfig(materialConfig);
    BasicPipelineConfigs pipelines = new BasicPipelineConfigs(pipelineConfig);
    new ParamResolver(new ParamSubstitutionHandlerFactory(params(param("foo", "pavan"), param("bar", "jj"))), fieldCache).resolve(pipelines);
    assertThat(pipelineConfig.getLabelTemplate(), is("2.1-${COUNT}-pavan-bar-jj"));
    assertThat(pipelineConfig.materialConfigs().get(1).getUriForDisplay(), is("http://pavan.com/jj"));
}
Also used : HgMaterialConfig(com.thoughtworks.go.config.materials.mercurial.HgMaterialConfig) Test(org.junit.Test)

Example 15 with HgMaterialConfig

use of com.thoughtworks.go.config.materials.mercurial.HgMaterialConfig in project gocd by gocd.

the class ParamResolverTest method shouldResolveInMergePipelineConfigs.

@Test
public void shouldResolveInMergePipelineConfigs() throws NoSuchFieldException {
    PipelineConfig pipelineConfig = PipelineConfigMother.createPipelineConfig("cruise", "dev", "ant");
    pipelineConfig.setLabelTemplate("2.1-${COUNT}-#{foo}-bar-#{bar}");
    HgMaterialConfig materialConfig = MaterialConfigsMother.hgMaterialConfig("http://#{foo}.com/#{bar}");
    pipelineConfig.addMaterialConfig(materialConfig);
    MergePipelineConfigs merge = new MergePipelineConfigs(new BasicPipelineConfigs(), new BasicPipelineConfigs(pipelineConfig));
    new ParamResolver(new ParamSubstitutionHandlerFactory(params(param("foo", "pavan"), param("bar", "jj"))), fieldCache).resolve(merge);
    assertThat(pipelineConfig.getLabelTemplate(), is("2.1-${COUNT}-pavan-bar-jj"));
    assertThat(pipelineConfig.materialConfigs().get(1).getUriForDisplay(), is("http://pavan.com/jj"));
}
Also used : MergePipelineConfigs(com.thoughtworks.go.config.merge.MergePipelineConfigs) HgMaterialConfig(com.thoughtworks.go.config.materials.mercurial.HgMaterialConfig) Test(org.junit.Test)

Aggregations

HgMaterialConfig (com.thoughtworks.go.config.materials.mercurial.HgMaterialConfig)71 Test (org.junit.Test)60 SvnMaterialConfig (com.thoughtworks.go.config.materials.svn.SvnMaterialConfig)15 DependencyMaterialConfig (com.thoughtworks.go.config.materials.dependency.DependencyMaterialConfig)12 MaterialConfigs (com.thoughtworks.go.config.materials.MaterialConfigs)11 GitMaterialConfig (com.thoughtworks.go.config.materials.git.GitMaterialConfig)11 P4MaterialConfig (com.thoughtworks.go.config.materials.perforce.P4MaterialConfig)11 HgMaterial (com.thoughtworks.go.config.materials.mercurial.HgMaterial)9 CaseInsensitiveString (com.thoughtworks.go.config.CaseInsensitiveString)8 PipelineConfig (com.thoughtworks.go.config.PipelineConfig)8 TfsMaterialConfig (com.thoughtworks.go.config.materials.tfs.TfsMaterialConfig)8 ServerHealthStateOperationResult (com.thoughtworks.go.server.service.result.ServerHealthStateOperationResult)8 MaterialConfig (com.thoughtworks.go.domain.materials.MaterialConfig)7 HashMap (java.util.HashMap)7 PackageMaterialConfig (com.thoughtworks.go.config.materials.PackageMaterialConfig)6 PluggableSCMMaterialConfig (com.thoughtworks.go.config.materials.PluggableSCMMaterialConfig)6 MaterialUpdateStatusListener (com.thoughtworks.go.server.materials.MaterialUpdateStatusListener)5 Filter (com.thoughtworks.go.config.materials.Filter)4 ConfigRepoConfig (com.thoughtworks.go.config.remote.ConfigRepoConfig)4 MaterialRevisions (com.thoughtworks.go.domain.MaterialRevisions)4