use of org.eclipse.jkube.kit.common.Assembly in project jkube by eclipse.
the class AssemblyFileSetUtilsProcessAssemblyFileSetTest method minimumRequiredFieldsWithAssemblyId.
/**
* @see #minimumRequiredFields()
*/
@Test
public void minimumRequiredFieldsWithAssemblyId() throws Exception {
// Given
final AssemblyFileSet afs = AssemblyFileSet.builder().directory(sourceDirectory).build();
final Assembly layer = Assembly.builder().id("layer-1").build();
final AssemblyConfiguration ac = AssemblyConfiguration.builder().targetDir("deployments").build();
// When
final List<AssemblyFileEntry> result = processAssemblyFileSet(baseDirectory, outputDirectory, afs, layer, ac);
// Then
assertThat(result).hasSize(16);
FileAssertions.assertThat(new File(outputDirectory, "layer-1")).exists().fileTree().containsExactlyInAnyOrder("deployments", "deployments/source-directory", "deployments/source-directory/1.txt", "deployments/source-directory/3.other", "deployments/source-directory/37", "deployments/source-directory/one", "deployments/source-directory/one/1.txt", "deployments/source-directory/one/3.other", "deployments/source-directory/one/37", "deployments/source-directory/two", "deployments/source-directory/two/1.txt", "deployments/source-directory/two/3.other", "deployments/source-directory/two/37", "deployments/source-directory/three", "deployments/source-directory/three/1.txt", "deployments/source-directory/three/3.other", "deployments/source-directory/three/37");
}
use of org.eclipse.jkube.kit.common.Assembly in project jkube by eclipse.
the class AssemblyFileSetUtilsProcessAssemblyFileSetTest method wildcardHierarchicalInclude.
@Test
public void wildcardHierarchicalInclude() throws IOException {
// Given
final AssemblyFileSet afs = AssemblyFileSet.builder().directory(sourceDirectory).include("**/*.txt").fileMode("0766").build();
final Assembly layer = new Assembly();
final AssemblyConfiguration ac = AssemblyConfiguration.builder().name("deployments").targetDir("/deployments").build();
// When
final List<AssemblyFileEntry> result = processAssemblyFileSet(baseDirectory, outputDirectory, afs, layer, ac);
// Then
assertThat(result).hasSize(3);
FileAssertions.assertThat(new File(outputDirectory, "deployments")).exists().fileTree().containsExactlyInAnyOrder("source-directory", "source-directory/one", "source-directory/one/1.txt", "source-directory/two", "source-directory/two/1.txt", "source-directory/three", "source-directory/three/1.txt");
}
use of org.eclipse.jkube.kit.common.Assembly in project jkube by eclipse.
the class AssemblyFileSetUtilsProcessAssemblyFileSetTest method wildcardInclude.
@Test
public void wildcardInclude() throws IOException {
// Given
final AssemblyFileSet afs = AssemblyFileSet.builder().directory(sourceDirectory).include("*.txt").fileMode("0766").build();
final Assembly layer = new Assembly();
final AssemblyConfiguration ac = AssemblyConfiguration.builder().name("deployments").targetDir("/deployments").build();
// When
final List<AssemblyFileEntry> result = processAssemblyFileSet(baseDirectory, outputDirectory, afs, layer, ac);
// Then
assertThat(result).hasSize(1);
FileAssertions.assertThat(new File(outputDirectory, "deployments")).exists().fileTree().containsExactlyInAnyOrder("source-directory", "source-directory/1.txt");
}
use of org.eclipse.jkube.kit.common.Assembly in project jkube by eclipse.
the class AssemblyFileSetUtilsProcessAssemblyFileSetTest method fileSetDirectoryAndAbsoluteOutputDirectory.
/**
* Has AssemblyFileSet directory and absolute outputDirectory.
* Has AssemblyConfiguration targetDir.
*
* Should copy contents of AssemblyFileSet#directory to the absoluteOutputDirectory.
*/
@Test
public void fileSetDirectoryAndAbsoluteOutputDirectory() throws Exception {
// Given
final File absoluteOutputDirectory = temp.newFolder("absolute-output");
assertThat(absoluteOutputDirectory).isEmptyDirectory();
final AssemblyFileSet afs = AssemblyFileSet.builder().directory(sourceDirectory).outputDirectory(absoluteOutputDirectory).build();
final Assembly layer = new Assembly();
final AssemblyConfiguration ac = AssemblyConfiguration.builder().targetDir("/deployments").build();
// When
final List<AssemblyFileEntry> result = processAssemblyFileSet(baseDirectory, outputDirectory, afs, layer, ac);
// Then
assertThat(result).hasSize(16);
FileAssertions.assertThat(new File(outputDirectory, "deployments")).doesNotExist();
FileAssertions.assertThat(absoluteOutputDirectory).exists().fileTree().containsExactlyInAnyOrder("1.txt", "3.other", "37", "one", "one/1.txt", "one/3.other", "one/37", "two", "two/1.txt", "two/3.other", "two/37", "three", "three/1.txt", "three/3.other", "three/37").doesNotContainSequence("source-directory");
}
use of org.eclipse.jkube.kit.common.Assembly in project jkube by eclipse.
the class AssemblyFileSetUtilsProcessAssemblyFileSetTest method hierarchicalIncludeInRelativeDirectory.
/**
* AssemblyFileSet#directory, relative outputDirectory and includes for files in several hierarchic levels.
* Has AssemblyConfiguration targetDir.
*
* Should copy contents of AssemblyFileSet#directory to the outputDirectory in a subdirectory named as the AssemblyConfiguration#targetDir.
*/
@Test
public void hierarchicalIncludeInRelativeDirectory() throws Exception {
// Given
final AssemblyFileSet afs = AssemblyFileSet.builder().directory(sourceDirectory).outputDirectory(new File("relative")).include("37").include("one/1.txt").include("three").build();
final Assembly layer = new Assembly();
final AssemblyConfiguration ac = AssemblyConfiguration.builder().targetDir("maven").build();
// When
final List<AssemblyFileEntry> result = processAssemblyFileSet(baseDirectory, outputDirectory, afs, layer, ac);
// Then
assertThat(result).hasSize(6);
FileAssertions.assertThat(new File(outputDirectory, "maven")).exists().fileTree().containsExactlyInAnyOrder("relative", "relative/37", "relative/one", "relative/one/1.txt", "relative/three", "relative/three/1.txt", "relative/three/3.other", "relative/three/37");
}
Aggregations