use of io.fabric8.annotations.Path in project docker-maven-plugin by fabric8io.
the class DockerPathUtilTest method resolveAbsolutelyWithRelativePath.
@Test
public void resolveAbsolutelyWithRelativePath() {
// relative/path
String toResolve = RELATIVE_PATH;
// /base/directory
String absBaseDir = ABS_BASE_DIR;
// '/base/directory' and 'relative/path' to '/base/directory/relative/path'
assertEquals(new File(absBaseDir + SEP + toResolve), DockerPathUtil.resolveAbsolutely(toResolve, absBaseDir));
}
use of io.fabric8.annotations.Path in project docker-maven-plugin by fabric8io.
the class DockerPathUtilTest method resolveAbsolutelyWithExtraSlashes.
@Test
public void resolveAbsolutelyWithExtraSlashes() throws Exception {
// relative/path//
String toResolve = RELATIVE_PATH + SEP + SEP;
// '/base/directory' and 'relative/path//' to '/base/directory/relative/path'
assertEquals(new File(ABS_BASE_DIR + SEP + RELATIVE_PATH), DockerPathUtil.resolveAbsolutely(toResolve, ABS_BASE_DIR));
}
use of io.fabric8.annotations.Path in project docker-maven-plugin by fabric8io.
the class VolumeBindingUtilTest method testResolveParentRelativeVolumePathWithNoParent.
/**
* Insures that a relative path referencing the parent directory are properly resolved against a base directory.
*/
@Test
@Ignore("TODO: fix this test, and DockerPathUtil as well")
public void testResolveParentRelativeVolumePathWithNoParent() {
// '../../rel'
String relativePath = join(SEP, DOT + DOT, DOT + DOT, "rel");
String volumeString = format(BIND_STRING_FMT, relativePath, CONTAINER_PATH);
File baseDir = PathTestUtil.getFirstDirectory(ABS_BASEDIR);
// '../../rel:/path/to/container/dir to '/absolute/rel:/path/to/container/dir'
String relativizedVolumeString = resolveRelativeVolumeBinding(baseDir, volumeString);
String expectedBindingString = format(BIND_STRING_FMT, new File(baseDir.getParent(), stripLeadingPeriod(RELATIVE_PATH)), CONTAINER_PATH);
assertEquals(expectedBindingString, relativizedVolumeString);
}
use of io.fabric8.annotations.Path in project docker-maven-plugin by fabric8io.
the class VolumeBindingUtilTest method testResolveRelativeVolumePathContainingSlashes.
/**
* The volume binding string: {@code src/test/docker:/path/to/container/mountpoint} is resolved, because {@code src/
* test/docker} is considered a <em>relative path</em>.
*/
@Test
public void testResolveRelativeVolumePathContainingSlashes() throws Exception {
String relativePath = "src" + SEP + "test" + SEP + "docker";
String volumeString = format(BIND_STRING_FMT, relativePath, CONTAINER_PATH);
// 'src/test/docker:/path/to/container/dir' to '/absolute/basedir/src/test/docker:/path/to/container/dir'
String relativizedVolumeString = resolveRelativeVolumeBinding(ABS_BASEDIR, volumeString);
String expectedBindingString = format(BIND_STRING_FMT, new File(ABS_BASEDIR, relativePath), CONTAINER_PATH);
assertEquals(expectedBindingString, relativizedVolumeString);
}
use of io.fabric8.annotations.Path in project docker-maven-plugin by fabric8io.
the class VolumeBindingUtilTest method testResolveVolumeBindingsWithRunVolumeConfiguration.
/**
* Insures that relative paths in the host portion of a volume binding string are properly resolved against a base
* directory when present in a {@link RunVolumeConfiguration}.
*/
@Test
public void testResolveVolumeBindingsWithRunVolumeConfiguration() {
RunVolumeConfiguration.Builder builder = new RunVolumeConfiguration.Builder();
builder.bind(singletonList(format(BIND_STRING_FMT, RELATIVE_PATH, CONTAINER_PATH)));
RunVolumeConfiguration volumeConfiguration = builder.build();
// './rel:/path/to/container/dir' to '/absolute/basedir/rel:/path/to/container/dir'
resolveRelativeVolumeBindings(ABS_BASEDIR, volumeConfiguration);
String expectedBindingString = format(BIND_STRING_FMT, join("", ABS_BASEDIR.getAbsolutePath(), stripLeadingPeriod(RELATIVE_PATH)), CONTAINER_PATH);
assertEquals(expectedBindingString, volumeConfiguration.getBind().get(0));
}
Aggregations