Decomplicate consuming the output of docker commands in tests.
Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs/commit/0c6c1296 Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs/tree/0c6c1296 Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs/diff/0c6c1296 Branch: refs/heads/1.8.x Commit: 0c6c12962aea5da9aaed9cebea6f215a83f96def Parents: 0f460ce Author: Adrian Cole <[email protected]> Authored: Wed Oct 29 12:52:13 2014 -0700 Committer: Adrian Cole <[email protected]> Committed: Thu Oct 30 21:20:00 2014 -0700 ---------------------------------------------------------------------- .../docker/compute/BaseDockerApiLiveTest.java | 22 +++++++------------- .../docker/features/RemoteApiLiveTest.java | 10 +++------ 2 files changed, 10 insertions(+), 22 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0c6c1296/docker/src/test/java/org/jclouds/docker/compute/BaseDockerApiLiveTest.java ---------------------------------------------------------------------- diff --git a/docker/src/test/java/org/jclouds/docker/compute/BaseDockerApiLiveTest.java b/docker/src/test/java/org/jclouds/docker/compute/BaseDockerApiLiveTest.java index 3e25dde..f779b7f 100644 --- a/docker/src/test/java/org/jclouds/docker/compute/BaseDockerApiLiveTest.java +++ b/docker/src/test/java/org/jclouds/docker/compute/BaseDockerApiLiveTest.java @@ -16,6 +16,9 @@ */ package org.jclouds.docker.compute; +import static com.google.common.base.Charsets.UTF_8; +import static org.jclouds.util.Closeables2.closeQuietly; + import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; @@ -32,10 +35,8 @@ import org.jclouds.docker.DockerApi; import org.jclouds.io.Payload; import org.jclouds.io.Payloads; import org.jclouds.sshj.config.SshjSshClientModule; -import org.testng.Assert; import org.testng.annotations.Test; -import com.google.common.base.Charsets; import com.google.common.collect.ImmutableSet; import com.google.common.io.CharStreams; import com.google.common.io.Closeables; @@ -61,23 +62,14 @@ public class BaseDockerApiLiveTest extends BaseApiLiveTest<DockerApi> { return overrides; } - protected String consumeStream(InputStream stream, boolean swallowIOException) { - String result = null; + protected String consumeStream(InputStream stream) { try { - result = CharStreams.toString(new InputStreamReader(stream, Charsets.UTF_8)); + return CharStreams.toString(new InputStreamReader(stream, UTF_8)); } catch (IOException e) { - Assert.fail(); + throw new AssertionError(e); } finally { - // TODO: remove swallowIOException over-optimization and just use Closeables2.closeQuietly - try { - stream.close(); - } catch (IOException e) { - if (!swallowIOException) { - throw new RuntimeException(e); - } - } + closeQuietly(stream); } - return result; } public static Payload tarredDockerfile() throws IOException { http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/0c6c1296/docker/src/test/java/org/jclouds/docker/features/RemoteApiLiveTest.java ---------------------------------------------------------------------- diff --git a/docker/src/test/java/org/jclouds/docker/features/RemoteApiLiveTest.java b/docker/src/test/java/org/jclouds/docker/features/RemoteApiLiveTest.java index a489ac3..3f23212 100644 --- a/docker/src/test/java/org/jclouds/docker/features/RemoteApiLiveTest.java +++ b/docker/src/test/java/org/jclouds/docker/features/RemoteApiLiveTest.java @@ -23,7 +23,6 @@ import static org.testng.Assert.assertNull; import static org.testng.Assert.assertTrue; import java.io.IOException; -import java.io.InputStream; import java.net.URISyntaxException; import org.jclouds.docker.compute.BaseDockerApiLiveTest; @@ -55,8 +54,7 @@ public class RemoteApiLiveTest extends BaseDockerApiLiveTest { @Test(dependsOnMethods = "testVersion") public void testCreateImage() throws IOException, InterruptedException { CreateImageOptions options = CreateImageOptions.Builder.fromImage(BUSYBOX_IMAGE); - InputStream createImageStream = api().createImage(options); - consumeStream(createImageStream, false); + consumeStream(api().createImage(options)); image = api().inspectImage(BUSYBOX_IMAGE); assertNotNull(image); } @@ -96,15 +94,13 @@ public class RemoteApiLiveTest extends BaseDockerApiLiveTest { @Test(dependsOnMethods = "testRemoveContainer", expectedExceptions = ResourceNotFoundException.class) public void testDeleteImage() { - InputStream deleteImageStream = api().deleteImage(image.id()); - consumeStream(deleteImageStream, false); + consumeStream(api().deleteImage(image.id())); assertNull(api().inspectImage(image.id())); } public void testBuildImage() throws IOException, InterruptedException, URISyntaxException { BuildOptions options = BuildOptions.Builder.tag("testBuildImage").verbose(false).nocache(false); - InputStream buildImageStream = api().build(tarredDockerfile(), options); - String buildStream = consumeStream(buildImageStream, false); + String buildStream = consumeStream(api().build(tarredDockerfile(), options)); Iterable<String> splitted = Splitter.on("\n").split(buildStream.replace("\r", "").trim()); String lastStreamedLine = Iterables.getLast(splitted).trim(); String rawImageId = Iterables.getLast(Splitter.on("Successfully built ").split(lastStreamedLine));
