public Materials(MaterialConfigs materialConfigs) { for (MaterialConfig materialConfig : materialConfigs) { add(convertToMaterial(materialConfig)); } }
/** * @deprecated Very very evil - TODO: get rid of this as part of #2055 */ public Materials getMaterials() { Materials materials = new Materials(); for (MaterialRevision revision : revisions) { materials.add(revision.getMaterial()); } return materials; }
@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 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 shouldGetPluggableSCMMaterial_byFolder() { Materials materials = new Materials(); PluggableSCMMaterial material1 = new PluggableSCMMaterial("scm-id"); material1.setFolder("folder"); Material material2 = new HgMaterial("", "folder"); materials.add(material1); materials.add(material2); assertThat(materials.byFolder("folder"), is(material1)); }
@Test public void shouldGetMaterialByFolder() { Materials materials = new Materials(); HgMaterial material1 = MaterialsMother.hgMaterial(); material1.setFolder("folder1"); HgMaterial material2 = MaterialsMother.hgMaterial(); material2.setFolder("folder2"); materials.add(material1); materials.add(material2); assertThat(materials.byFolder("folder1"), is(material1)); }
@Test public void shouldNotRemoveJunkFoldersWhenCleanUpIsCalled_hasOneMaterialUseBaseFolderReturnsTrue() throws Exception { File junkFolder = temporaryFolder.newFolder("junk-folder"); Materials materials = new Materials(); GitMaterial gitMaterial = new GitMaterial("http://some-url.com", "some-branch"); materials.add(gitMaterial); materials.cleanUp(temporaryFolder.getRoot(), mock(ConsoleOutputStreamConsumer.class)); assertThat(junkFolder.exists(), is(true)); temporaryFolder.delete(); }
@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 shouldNotGetDependencyMaterialWhenOneOtherScmMaterialWithNoFolder() { Materials materials = new Materials(); Material material1 = new DependencyMaterial(new CaseInsensitiveString("foo"), new CaseInsensitiveString("bar")); Material material2 = new HgMaterial("", null); materials.add(material1); materials.add(material2); assertThat(materials.byFolder(null), is(material2)); }
@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 shouldReturnExistingGitMaterialFromMaterialsIfItContainsOne() { Materials materials = new Materials(); GitMaterial existingMaterial = new GitMaterial("foo"); materials.add(existingMaterial); assertThat(materials.getGitMaterial(), is(sameInstance(existingMaterial))); }
@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())); } }
@Test public void shouldGetMaterialByFolderWhenHasOnlyOneMaterial() { Materials materials = new Materials(); HgMaterial material1 = MaterialsMother.hgMaterial(); materials.add(material1); assertThat(materials.byFolder(material1.getFolder()), is(material1)); }
@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 shouldGenerateCleanupCommandForRemovingJunkFoldersWhenCleanUpIsCalled_hasOneMaterialUseBaseFolderReturnsFalse() throws Exception { Materials materials = new Materials(); GitMaterial gitMaterial = new GitMaterial("http://some-url.com", "some-branch", "some-folder"); materials.add(gitMaterial); BuildCommand command = materials.cleanUpCommand("basedir"); assertThat(command.getName(), is("cleandir")); assertThat(command.getStringArg("path"), is("basedir")); assertThat(command.getArrayArg("allowed"), is(new String[]{"some-folder", "cruise-output"})); }
@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))); }