use of com.thoughtworks.go.config.materials.git.GitMaterialConfig in project gocd by gocd.
the class MagicalGoConfigXmlLoaderTest method shouldLoadIgnoresFromGitPartial.
@Test
void shouldLoadIgnoresFromGitPartial() throws Exception {
String gitPartial = "<git url='file:///tmp/testGitRepo/project1' >\n" + " <filter>\n" + " <ignore pattern='x'/>\n" + " </filter>\n" + " </git>";
GitMaterialConfig gitMaterial = xmlLoader.fromXmlPartial(gitPartial, GitMaterialConfig.class);
assertThat(gitMaterial.getBranch()).isEqualTo(GitMaterialConfig.DEFAULT_BRANCH);
Filter parsedFilter = gitMaterial.filter();
Filter expectedFilter = new Filter();
expectedFilter.add(new IgnoredFiles("x"));
assertThat(parsedFilter).isEqualTo(expectedFilter);
}
use of com.thoughtworks.go.config.materials.git.GitMaterialConfig in project gocd by gocd.
the class MagicalGoConfigXmlLoaderTest method shouldBeGitMaterial.
private void shouldBeGitMaterial(MaterialConfig material) {
assertThat(material).isInstanceOf(GitMaterialConfig.class);
GitMaterialConfig gitMaterial = (GitMaterialConfig) material;
assertThat(gitMaterial.getUrl()).isEqualTo("git://username:password@gitUrl");
}
use of com.thoughtworks.go.config.materials.git.GitMaterialConfig in project gocd by gocd.
the class GoConfigRepoConfigDataSourceTest method onParseOfConfigRepo_shouldUpdateTheListOfConfigReposWhichHaveChanged.
@Test
public void onParseOfConfigRepo_shouldUpdateTheListOfConfigReposWhichHaveChanged() {
GitMaterialConfig material = git("http://my.git");
ConfigRepoConfig configRepoConfig = ConfigRepoConfig.createConfigRepoConfig(material, "myplugin", "id");
GoConfigWatchList goConfigWatchList = mock(GoConfigWatchList.class);
repoConfigDataSource = new GoConfigRepoConfigDataSource(goConfigWatchList, configPluginService, serverHealthService, configRepoService, goConfigService);
when(goConfigWatchList.getConfigRepoForMaterial(material)).thenReturn(configRepoConfig);
when(goConfigWatchList.hasConfigRepoWithFingerprint(material.getFingerprint())).thenReturn(true);
repoConfigDataSource.onConfigRepoConfigChange(configRepoConfig);
assertTrue(repoConfigDataSource.hasConfigRepoConfigChangedSinceLastUpdate(material));
repoConfigDataSource.onCheckoutComplete(material, folder, getModificationFor("7a8f"));
assertFalse(repoConfigDataSource.hasConfigRepoConfigChangedSinceLastUpdate(material));
}
use of com.thoughtworks.go.config.materials.git.GitMaterialConfig 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.git.GitMaterialConfig 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));
}
Aggregations