public Materials toMaterials(MaterialConfigs materialConfigs) { return new Materials(materialConfigs); }
@Test public void shouldNotGetPackageMaterialWhenOneOtherScmMaterialWithNoFolder() { Materials materials = new Materials(); Material material1 = new PackageMaterial("pid"); Material material2 = new HgMaterial("", null); materials.add(material1); materials.add(material2); assertThat(materials.byFolder(null), is(material2)); }
@Test public void shouldGenerateNoopCommandWhenCleanUpIsCalled_hasOneMaterialUseBaseFolderReturnsTrue() throws Exception { Materials materials = new Materials(); materials.add(new GitMaterial("http://some-url.com", "some-branch")); assertThat(materials.cleanUpCommand("foo"), is(BuildCommand.noop())); } }
public Materials(MaterialConfigs materialConfigs) { for (MaterialConfig materialConfig : materialConfigs) { add(convertToMaterial(materialConfig)); } }
@Test public void shouldFindModificationsForBothMaterials() throws Exception { Materials materials = new Materials(repo.createMaterial("dest1"), repo.createMaterial("dest2")); repo.commitAndPushFile("SomeDocumentation.txt"); MaterialRevisions materialRevisions = materials.latestModification(pipelineDir, new TestSubprocessExecutionContext()); assertThat(materialRevisions.getRevisions().size(), is(2)); assertThat(materialRevisions, containsModifiedBy("SomeDocumentation.txt", "user")); }
@Test public void shouldRemoveJunkFoldersWhenCleanUpIsCalled_hasOneMaterialUseBaseFolderReturnsFalse() throws Exception { File junkFolder = temporaryFolder.newFolder("junk-folder"); Materials materials = new Materials(); GitMaterial gitMaterial = new GitMaterial("http://some-url.com", "some-branch", "some-folder"); materials.add(gitMaterial); materials.cleanUp(temporaryFolder.getRoot(), mock(ConsoleOutputStreamConsumer.class)); assertThat(junkFolder.exists(), is(false)); temporaryFolder.delete(); }
@Test public void shouldGetLatestModificationsFromRepoWithSubmodules() throws Exception { GitSubmoduleRepos submoduleRepos = new GitSubmoduleRepos(temporaryFolder); submoduleRepos.addSubmodule(SUBMODULE, "sub1"); GitMaterial gitMaterial = new GitMaterial(submoduleRepos.mainRepo().getUrl()); File workingDirectory = temporaryFolder.newFolder(); Materials materials = new Materials(); materials.add(gitMaterial); MaterialRevisions materialRevisions = materials.latestModification(workingDirectory, new TestSubprocessExecutionContext()); assertThat(materialRevisions.numberOfRevisions(), is(1)); MaterialRevision materialRevision = materialRevisions.getMaterialRevision(0); assertThat(materialRevision.getRevision().getRevision(), is(submoduleRepos.currentRevision(GitSubmoduleRepos.NAME))); }
@Test public void shouldReturnMaterialMatchingTheGivenMaterial() { Materials materials = new Materials(); HgMaterial material1 = MaterialsMother.hgMaterial(); material1.setFilter(new Filter(new IgnoredFiles("patter"))); SvnMaterial material2 = MaterialsMother.svnMaterial(); materials.add(material1); materials.add(material2); assertThat(materials.get(MaterialsMother.hgMaterial()), is(material1)); try { materials.get(MaterialsMother.p4Material()); fail("Must not have found the p4 material"); } catch (Exception expected) { } }
@Test public void shouldReturnMaterialBasedOnPiplineUniqueFingerPrint() { Materials materials = new Materials(); HgMaterial expectedMaterial = MaterialsMother.hgMaterial(); materials.add(expectedMaterial); materials.add(MaterialsMother.gitMaterial("url")); materials.add(MaterialsMother.svnMaterial("url", "folder")); Material actualMaterial = materials.getByFingerPrint(expectedMaterial.getPipelineUniqueFingerprint()); assertThat(actualMaterial, is(expectedMaterial)); }
@Test public void shouldReturnExistingGitMaterialFromMaterialsIfItContainsOne() { Materials materials = new Materials(); GitMaterial existingMaterial = new GitMaterial("foo"); materials.add(existingMaterial); assertThat(materials.getGitMaterial(), is(sameInstance(existingMaterial))); }
@Test public void shouldReturnExistingHgMaterialFromMaterialsIfItContainsOne() { Materials materials = new Materials(); HgMaterial existingMaterial = new HgMaterial("foo", null); materials.add(existingMaterial); assertThat(materials.getHgMaterial(), is(sameInstance(existingMaterial))); }
@Test public void shouldReturnExistingSvnMaterialFromMaterialsIfItContainsOne() { Materials materials = new Materials(); SvnMaterial existingMaterial = new SvnMaterial("foo", "bar", "blah", true); materials.add(existingMaterial); assertThat(materials.getSvnMaterial(), is(sameInstance(existingMaterial))); }
@Test public void shouldReturnExistingP4MaterialFromMaterialsIfItContainsOne() { Materials materials = new Materials(); P4Material existingMaterial = new P4Material("foo", "bar"); materials.add(existingMaterial); assertThat(materials.getP4Material(), is(sameInstance(existingMaterial))); }
@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 shouldReturnExistingDependencyMaterialFromMaterialsIfItContainsOne() { Materials materials = new Materials(); DependencyMaterial existingMaterial = new DependencyMaterial(new CaseInsensitiveString("foo"), new CaseInsensitiveString("bar")); materials.add(existingMaterial); assertThat(materials.getDependencyMaterial(), is(sameInstance(existingMaterial))); }
@Test public void shouldBeEqual() { final Material hgMaterial1 = MaterialsMother.hgMaterials("url1", "hgdir").get(0); final Material hgMaterial2 = MaterialsMother.hgMaterials("url1", "hgdir").get(0); assertThat(hgMaterial1.equals(hgMaterial2), is(true)); assertThat(hgMaterial1.hashCode(), is(hgMaterial2.hashCode())); }
@Test public void shouldReturnANewSvnMaterialIfTheMaterialsCollectionDoesNotHaveASvnMaterial() { assertThat(new Materials().getSvnMaterial(), is(new SvnMaterial("", "", "", false))); }