@Test public void shouldNotBeEqualWhenAlternateFolderDifferent() throws Exception { final SvnMaterial material1 = MaterialsMother.svnMaterial("url1"); final SvnMaterial material2 = MaterialsMother.svnMaterial("url1"); assertComplementaryEquals(material1, material2, true); material1.setFolder("foo"); material2.setFolder(null); assertComplementaryEquals(material1, material2, false); material1.setFolder("foo"); material2.setFolder("bar"); assertComplementaryEquals(material1, material2, false); }
@Test public void shouldUpdateToDestinationFolder() throws Exception { svnMaterial.setFolder("dest"); updateTo(svnMaterial, new RevisionContext(revision), JobResult.Passed); assertThat(new File(workingDir, "dest").exists(), is(true)); assertThat(new File(workingDir, "dest/.svn").exists(), is(true)); }
private SvnMaterial svnMaterial(String folder, Filter filter) { SvnMaterial material = MaterialsMother.svnMaterial(); material.setFolder(folder); material.setFilter(filter); return material; }
public SvnMaterial externalMaterial() { SvnMaterial svnMaterial = new SvnMaterial(getSvnExternalCommand(externalRepositoryUrl(), true)); svnMaterial.setFolder(EXTERNAL_REPO_NAME); return svnMaterial; } }
@Test public void shouldSetUpRevisionIntoEnvironmentContextCorrectlyForMutipleMaterial() throws IOException { svnMaterial.setFolder("svn-Dir"); EnvironmentVariableContext environmentVariableContext = doWorkWithMaterials(new Materials(svnMaterial, hgMaterial)); assertThat(environmentVariableContext.getProperty("GO_REVISION_SVN_DIR"), is("3")); assertThat(environmentVariableContext.getProperty("GO_REVISION_HG_DIR"), is("ca3ebb67f527c0ad7ed26b789056823d8b9af23f")); }
@Test public void shouldSetEnvironmentVariableForSvnExternal() throws IOException { svnRepoFixture.createExternals(svnRepoFixture.getEnd2EndRepoUrl()); command = new SvnCommand(null, svnRepoFixture.getEnd2EndRepoUrl(), null, null, true); svnMaterial = SvnMaterial.createSvnMaterialWithMock(command); svnMaterial.setFolder("svn-Dir"); EnvironmentVariableContext environmentVariableContext = doWorkWithMaterials(new Materials(svnMaterial)); assertThat(environmentVariableContext.getProperty("GO_REVISION_SVN_DIR"), is("4")); assertThat(environmentVariableContext.getProperty("GO_REVISION_SVN_DIR_EXTERNAL"), is("4")); }
@Test public void shouldReturnTrueIfScmMaterialHasNoDestinationFolderSet() { Materials materials = new Materials(); SvnMaterial material1 = new SvnMaterial("url", "user", "pass", false); DependencyMaterial material2 = new DependencyMaterial(new CaseInsensitiveString("pipelineName"), new CaseInsensitiveString("stageName")); SvnMaterial material3 = new SvnMaterial("url", "user", "pass", false); material3.setFolder("foo"); materials.add(material1); materials.add(material2); assertThat(materials.scmMaterialsHaveDestination(), is(false)); }
@Test public void shouldPopulateEnvironmentForMaterialUsingDest() throws IOException { SvnMaterial svn = MaterialsMother.svnMaterial(); svn.setFolder("svn-dir"); MaterialRevision revision = new MaterialRevision(svn, ModificationsMother.oneModifiedFile("revision1")); MaterialRevisions materialRevisions = new MaterialRevisions(revision); EnvironmentVariableContext context = new EnvironmentVariableContext(); context.setProperty("GO_SERVER_URL", SystemEnvironment.getProperty("serviceUrl"), false); jobIdentifier().populateEnvironmentVariables(context); materialRevisions.populateEnvironmentVariables(context, temporaryFolder.newFolder()); assertThat(context.getProperty("GO_REVISION_SVN_DIR"), is("revision1")); }
@Test public void shouldPopulateEnvironmentForMaterialUsingMaterialName() throws IOException { SvnMaterial svn = MaterialsMother.svnMaterial(); svn.setName(new CaseInsensitiveString("svn")); svn.setFolder("svn-dir"); MaterialRevision revision = new MaterialRevision(svn, ModificationsMother.oneModifiedFile("revision1")); MaterialRevisions materialRevisions = new MaterialRevisions(revision); EnvironmentVariableContext context = new EnvironmentVariableContext(); context.setProperty("GO_SERVER_URL", SystemEnvironment.getProperty("serviceUrl"), false); jobIdentifier().populateEnvironmentVariables(context); materialRevisions.populateEnvironmentVariables(context, temporaryFolder.newFolder()); assertThat(context.getProperty("GO_REVISION_SVN"), is("revision1")); assertThat(context.getProperty("GO_MATERIAL_SVN_HAS_CHANGED"), is("false")); }
private MaterialRevisions materialRevisions() throws IOException { MaterialRevision svnRevision = new MaterialRevision(this.svnMaterial, ModificationsMother.oneModifiedFile( svnRepoFixture.getHeadRevision(svnRepoFixture.getEnd2EndRepoUrl()))); SvnMaterial svnMaterialForExternal = SvnMaterial.createSvnMaterialWithMock(new SvnCommand(null, svnRepoFixture.getExternalRepoUrl())); String folder = this.svnMaterial.getFolder() == null ? "external" : this.svnMaterial.getFolder() + "/" + "external"; svnMaterialForExternal.setFolder(folder); MaterialRevision svnExternalRevision = new MaterialRevision(svnMaterialForExternal, ModificationsMother.oneModifiedFile( svnRepoFixture.getHeadRevision(svnRepoFixture.getExternalRepoUrl()))); MaterialRevision hgRevision = new MaterialRevision(hgMaterial, ModificationsMother.oneModifiedFile(hgTestRepo.latestModifications().get(0).getRevision())); MaterialRevision dependencyRevision1 = ModificationsMother.dependencyMaterialRevision(0, dependencyMaterial.getPipelineName() + "-label", 1, dependencyMaterial, new Date()); MaterialRevision dependencyRevisionWithName = ModificationsMother.dependencyMaterialRevision(0, dependencyMaterialWithName.getPipelineName() + "-label", 1, dependencyMaterialWithName, new Date()); return new MaterialRevisions(svnRevision, svnExternalRevision, hgRevision, dependencyRevision1, dependencyRevisionWithName); }
private MaterialRevisions materialRevisions() throws IOException { MaterialRevision svnRevision = new MaterialRevision(this.svnMaterial, ModificationsMother.oneModifiedFile( svnRepoFixture.getHeadRevision(svnRepoFixture.getEnd2EndRepoUrl()))); SvnMaterial svnMaterialForExternal = createSvnMaterialWithMock(new SvnCommand(null, svnRepoFixture.getExternalRepoUrl())); String folder = this.svnMaterial.getFolder() == null ? "external" : this.svnMaterial.getFolder() + "/" + "external"; svnMaterialForExternal.setFolder(folder); MaterialRevision svnExternalRevision = new MaterialRevision(svnMaterialForExternal, ModificationsMother.oneModifiedFile( svnRepoFixture.getHeadRevision(svnRepoFixture.getExternalRepoUrl()))); MaterialRevision hgRevision = new MaterialRevision(hgMaterial, ModificationsMother.oneModifiedFile(hgTestRepo.latestModifications().get(0).getRevision())); MaterialRevision dependencyRevision1 = ModificationsMother.dependencyMaterialRevision(0, dependencyMaterial.getPipelineName() + "-label", 1, dependencyMaterial, new Date()); MaterialRevision dependencyRevisionWithName = ModificationsMother.dependencyMaterialRevision(0, dependencyMaterialWithName.getPipelineName() + "-label", 1, dependencyMaterialWithName, new Date()); return new MaterialRevisions(svnRevision, svnExternalRevision, hgRevision, dependencyRevision1, dependencyRevisionWithName); }