use of com.thoughtworks.go.config.materials.svn.SvnMaterialConfig in project gocd by gocd.
the class MaterialExpansionServiceTest method shouldExpandSvnMaterialWithFolders.
@Test
public void shouldExpandSvnMaterialWithFolders() {
SvnMaterialConfig svn = svnMaterialConfig(svnRepo.projectRepositoryUrl(), null);
SvnMaterialConfig svnExt = svnMaterialConfig(svnRepo.externalRepositoryUrl(), "end2end");
svnExt.setName(null);
PipelineConfig pipelineConfig = new PipelineConfig();
pipelineConfig.addMaterialConfig(svn);
String cacheKeyForSvn = MaterialExpansionService.class + "_cacheKeyForSvnMaterialCheckExternalCommand_" + svn.getFingerprint();
String cacheKeyForSvnExt = MaterialExpansionService.class + "_cacheKeyForSvnMaterialCheckExternalCommand_" + svnExt.getFingerprint();
when(goCache.get(cacheKeyForSvn)).thenReturn(null);
when(goCache.get(cacheKeyForSvnExt)).thenReturn(null);
MaterialConfigs materialConfigs = materialExpansionService.expandMaterialConfigsForScheduling(pipelineConfig.materialConfigs());
assertThat(materialConfigs.size(), is(2));
assertThat(materialConfigs.get(0), is(svn));
assertThat(materialConfigs.get(1), is(svnExt));
assertThat(materialConfigs.get(1).filter(), is(svn.filter()));
}
use of com.thoughtworks.go.config.materials.svn.SvnMaterialConfig in project gocd by gocd.
the class MaterialExpansionServiceTest method shouldNotExapandSVNExternalsIfCheckExternalsIsFalse.
@Test
public void shouldNotExapandSVNExternalsIfCheckExternalsIsFalse() {
PipelineConfig pipelineConfig = new PipelineConfig();
SvnMaterialConfig svn = svnMaterialConfig(svnRepo.projectRepositoryUrl(), null);
svn.setConfigAttributes(Collections.singletonMap(SvnMaterialConfig.CHECK_EXTERNALS, String.valueOf(false)));
pipelineConfig.addMaterialConfig(svn);
String cacheKeyForSvn = MaterialExpansionService.class + "_cacheKeyForSvnMaterialCheckExternalCommand_" + svn.getFingerprint();
when(goCache.get(cacheKeyForSvn)).thenReturn(null);
MaterialConfigs materialConfigs = materialExpansionService.expandMaterialConfigsForScheduling(pipelineConfig.materialConfigs());
assertThat(materialConfigs.size(), is(1));
assertThat(materialConfigs.get(0), is(svn));
}
use of com.thoughtworks.go.config.materials.svn.SvnMaterialConfig in project gocd by gocd.
the class PipelineConfigDependencyGraphTest method shouldReturnIfSharedRevisionsAreIgnoredByAllDaddys.
@Test
public void shouldReturnIfSharedRevisionsAreIgnoredByAllDaddys() throws Exception {
SvnMaterialConfig firstOrderSVNMaterial = MaterialConfigsMother.svnMaterialConfig();
GitMaterialConfig firstOrderGitMaterial = MaterialConfigsMother.gitMaterialConfig("url");
P4MaterialConfig firstOrderP4Material = MaterialConfigsMother.p4MaterialConfig();
firstOrderP4Material.setFilter(new Filter(new IgnoredFiles("foo")));
PipelineConfig current = GoConfigMother.createPipelineConfigWithMaterialConfig("current", MaterialConfigsMother.hgMaterialConfig(), new DependencyMaterialConfig(new CaseInsensitiveString("up1"), new CaseInsensitiveString("first")), new DependencyMaterialConfig(new CaseInsensitiveString("up2"), new CaseInsensitiveString("first")));
PipelineConfig up1 = GoConfigMother.createPipelineConfigWithMaterialConfig("up1", filteredHgMaterialConfig("phigar"), firstOrderGitMaterial, new DependencyMaterialConfig(new CaseInsensitiveString("uppest"), new CaseInsensitiveString("first")));
PipelineConfig up2 = GoConfigMother.createPipelineConfigWithMaterialConfig("up2", firstOrderSVNMaterial, firstOrderP4Material, filteredHgMaterialConfig("phigar"), new DependencyMaterialConfig(new CaseInsensitiveString("uppest"), new CaseInsensitiveString("first")));
PipelineConfig uppest = GoConfigMother.createPipelineConfigWithMaterialConfig("uppest", filteredHgMaterialConfig("phigar"), firstOrderP4Material);
PipelineConfigDependencyGraph uppestGraph = new PipelineConfigDependencyGraph(uppest);
PipelineConfigDependencyGraph up1Graph = new PipelineConfigDependencyGraph(up1, uppestGraph);
PipelineConfigDependencyGraph up2Graph = new PipelineConfigDependencyGraph(up2, uppestGraph);
PipelineConfigDependencyGraph dependencyGraph = new PipelineConfigDependencyGraph(current, up1Graph, up2Graph);
Modification modification = new Modification("user", "comment", "i@u.com", new Date(), "foo");
modification.createModifiedFile("phigar", "", ModifiedAction.added);
boolean ignored = dependencyGraph.isRevisionsOfSharedMaterialsIgnored(ModificationsMother.createHgMaterialWithMultipleRevisions(1, modification));
assertThat(ignored, is(true));
ignored = dependencyGraph.isRevisionsOfSharedMaterialsIgnored(ModificationsMother.createHgMaterialWithMultipleRevisions(1, ModificationsMother.oneModifiedFile("Silly")));
assertThat(ignored, is(false));
MaterialRevisions materialRevisions = ModificationsMother.createSvnMaterialRevisions(modification);
materialRevisions.addAll(ModificationsMother.createP4MaterialRevisions(modification));
materialRevisions.addAll(ModificationsMother.createHgMaterialWithMultipleRevisions(1, modification));
ignored = up2Graph.isRevisionsOfSharedMaterialsIgnored(materialRevisions);
assertThat(ignored, is(true));
ignored = up2Graph.isRevisionsOfSharedMaterialsIgnored(ModificationsMother.createHgMaterialWithMultipleRevisions(1, ModificationsMother.oneModifiedFile("Silly")));
assertThat(ignored, is(false));
}
use of com.thoughtworks.go.config.materials.svn.SvnMaterialConfig in project gocd by gocd.
the class PipelineConfigDependencyGraphTest method shouldReturnTheListOfFirstOrderMaterialsIgnoringDestFoldersForScmMaterials.
@Test
public void shouldReturnTheListOfFirstOrderMaterialsIgnoringDestFoldersForScmMaterials() throws Exception {
HgMaterialConfig common1 = MaterialConfigsMother.hgMaterialConfig("hg-url", "one-folder");
HgMaterialConfig common2 = MaterialConfigsMother.hgMaterialConfig("hg-url", "another-folder");
SvnMaterialConfig firstOrderSVNMaterial = MaterialConfigsMother.svnMaterialConfig();
GitMaterialConfig firstOrderGitMaterial = MaterialConfigsMother.gitMaterialConfig("url", "submodule", "branch", false);
P4MaterialConfig firstOrderP4Material = MaterialConfigsMother.p4MaterialConfig();
DependencyMaterialConfig up1DependencyMaterial = new DependencyMaterialConfig(new CaseInsensitiveString("up1"), new CaseInsensitiveString("first"));
DependencyMaterialConfig up2DependencyMaterial = new DependencyMaterialConfig(new CaseInsensitiveString("up2"), new CaseInsensitiveString("first"));
DependencyMaterialConfig uppestDependencyMaterial = new DependencyMaterialConfig(new CaseInsensitiveString("uppest"), new CaseInsensitiveString("first"));
PipelineConfig current = GoConfigMother.createPipelineConfigWithMaterialConfig("current", common1, up1DependencyMaterial, up2DependencyMaterial);
PipelineConfig up1 = GoConfigMother.createPipelineConfigWithMaterialConfig("up1", common2, firstOrderGitMaterial, uppestDependencyMaterial);
PipelineConfig up2 = GoConfigMother.createPipelineConfigWithMaterialConfig("up2", firstOrderSVNMaterial, common2, uppestDependencyMaterial);
PipelineConfig uppest = GoConfigMother.createPipelineConfigWithMaterialConfig("uppest", common1, firstOrderP4Material);
PipelineConfigDependencyGraph uppestGraph = new PipelineConfigDependencyGraph(uppest);
PipelineConfigDependencyGraph up1Graph = new PipelineConfigDependencyGraph(up1, uppestGraph);
PipelineConfigDependencyGraph up2Graph = new PipelineConfigDependencyGraph(up2, uppestGraph);
PipelineConfigDependencyGraph dependencyGraph = new PipelineConfigDependencyGraph(current, up1Graph, up2Graph);
assertThat(dependencyGraph.unsharedMaterialConfigs().size(), is(2));
assertThat(dependencyGraph.unsharedMaterialConfigs().get(0), is(up1DependencyMaterial));
assertThat(dependencyGraph.unsharedMaterialConfigs().get(1), is(up2DependencyMaterial));
assertThat(up1Graph.unsharedMaterialConfigs().size(), is(2));
assertThat(up1Graph.unsharedMaterialConfigs().get(0), is(firstOrderGitMaterial));
assertThat(up1Graph.unsharedMaterialConfigs().get(1), is(uppestDependencyMaterial));
assertThat(up2Graph.unsharedMaterialConfigs().size(), is(2));
assertThat(up2Graph.unsharedMaterialConfigs().get(0), is(firstOrderSVNMaterial));
assertThat(up2Graph.unsharedMaterialConfigs().get(1), is(uppestDependencyMaterial));
assertThat(uppestGraph.unsharedMaterialConfigs().size(), is(2));
assertThat(uppestGraph.unsharedMaterialConfigs().get(0), is(common1));
assertThat(uppestGraph.unsharedMaterialConfigs().get(1), is(firstOrderP4Material));
}
use of com.thoughtworks.go.config.materials.svn.SvnMaterialConfig in project gocd by gocd.
the class BuildCauseProducerServiceTest method shouldCheckForModificationsWhenManuallyScheduling.
@Test
public void shouldCheckForModificationsWhenManuallyScheduling() throws Exception {
HgMaterialConfig hgMaterialConfig = new HgMaterialConfig("url", null);
HgMaterial hgMaterial = new HgMaterial("url", null);
SvnMaterial svnMaterial = new SvnMaterial("url", null, null, false);
SvnMaterialConfig svnMaterialConfig = new SvnMaterialConfig("url", null, null, false);
pipelineConfig.addMaterialConfig(hgMaterialConfig);
pipelineConfig.addMaterialConfig(svnMaterialConfig);
when(materialConfigConverter.toMaterial(hgMaterialConfig)).thenReturn(hgMaterial);
when(materialConfigConverter.toMaterial(svnMaterialConfig)).thenReturn(svnMaterial);
ServerHealthStateOperationResult result = new ServerHealthStateOperationResult();
buildCauseProducerService.manualSchedulePipeline(Username.ANONYMOUS, pipelineConfig.name(), new ScheduleOptions(), result);
assertThat(result.getServerHealthState().isSuccess(), is(true));
verify(mockMaterialUpdateService, times(2)).updateMaterial(any(Material.class));
verify(mockMaterialUpdateStatusNotifier).registerListenerFor(eq(pipelineConfig), any(MaterialUpdateStatusListener.class));
}
Aggregations