Repository: jclouds-labs
Updated Branches:
  refs/heads/master acd382e58 -> 970250d31


[JCLOUDS-1157] fix networks in DockerComputeServiceAdapterLiveTest


Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs/repo
Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs/commit/970250d3
Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs/tree/970250d3
Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs/diff/970250d3

Branch: refs/heads/master
Commit: 970250d31fe7a7ca0633aa791a3034344ef43e2e
Parents: acd382e
Author: Josef Cacek <[email protected]>
Authored: Fri Aug 19 15:24:44 2016 +0200
Committer: Andrea Turli <[email protected]>
Committed: Fri Aug 19 17:51:42 2016 +0200

----------------------------------------------------------------------
 .../DockerComputeServiceAdapterLiveTest.java    | 68 ++++++++++++--------
 1 file changed, 41 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/970250d3/docker/src/test/java/org/jclouds/docker/compute/DockerComputeServiceAdapterLiveTest.java
----------------------------------------------------------------------
diff --git 
a/docker/src/test/java/org/jclouds/docker/compute/DockerComputeServiceAdapterLiveTest.java
 
b/docker/src/test/java/org/jclouds/docker/compute/DockerComputeServiceAdapterLiveTest.java
index cb8ca3e..c37c474 100644
--- 
a/docker/src/test/java/org/jclouds/docker/compute/DockerComputeServiceAdapterLiveTest.java
+++ 
b/docker/src/test/java/org/jclouds/docker/compute/DockerComputeServiceAdapterLiveTest.java
@@ -46,6 +46,7 @@ import 
org.jclouds.docker.compute.strategy.DockerComputeServiceAdapter;
 import org.jclouds.docker.domain.Container;
 import org.jclouds.docker.domain.Image;
 import org.jclouds.docker.domain.Network;
+import org.jclouds.docker.features.NetworkApi;
 import org.jclouds.sshj.config.SshjSshClientModule;
 
 @Test(groups = "live", singleThreaded = true, testName = 
"DockerComputeServiceAdapterLiveTest")
@@ -67,8 +68,8 @@ public class DockerComputeServiceAdapterLiveTest extends 
BaseDockerApiLiveTest {
       super.initialize();
       String imageName = SSHABLE_IMAGE + ":" + SSHABLE_IMAGE_TAG;
       defaultImage = adapter.getImage(imageName);
-      network1 = 
api.getNetworkApi().createNetwork(Network.builder().name("network1").driver("overlay").build());
-      network2 = 
api.getNetworkApi().createNetwork(Network.builder().name("network2").driver("overlay").build());
+      network1 = createAndInspectNetwork("network1");
+      network2 = createAndInspectNetwork("network2");
       assertNotNull(defaultImage);
    }
 
@@ -116,47 +117,60 @@ public class DockerComputeServiceAdapterLiveTest extends 
BaseDockerApiLiveTest {
    }
 
    public void testGetImageNotHiddenByCache() {
-      //Ensure image to be tested is unknown to jclouds and docker and that 
cache is warm
+      // Ensure image to be tested is unknown to jclouds and docker and that
+      // cache is warm
       assertNull(findImageFromListImages(CHUANWEN_COWSAY));
       assertNull(api.getImageApi().inspectImage(CHUANWEN_COWSAY));
 
       // Get new image
       adapter.getImage(CHUANWEN_COWSAY);
 
-      assertNotNull(findImageFromListImages(CHUANWEN_COWSAY), "New image is 
not available from listImages presumably due to caching");
+      assertNotNull(findImageFromListImages(CHUANWEN_COWSAY),
+            "New image is not available from listImages presumably due to 
caching");
    }
 
    public void testCreateNodeWithMultipleNetworks() {
-       String name = "container" + new Random().nextInt();
-       Template template = templateBuilder.imageId(defaultImage.id()).build();
-       DockerTemplateOptions options = 
template.getOptions().as(DockerTemplateOptions.class);
-       options.env(ImmutableList.of("ROOT_PASSWORD=password"));
-       options.networkMode("bridge");
-       options.networks(network1.name(), network2.name());
-       guest = adapter.createNodeWithGroupEncodedIntoName("test", name, 
template);
-
-       
assertTrue(guest.getNode().networkSettings().networks().containsKey("network1"));
-       
assertTrue(guest.getNode().networkSettings().networks().containsKey("network2"));
-       
assertEquals(guest.getNode().networkSettings().secondaryIPAddresses().size(), 
2);
-    }
+      String name = "container" + new Random().nextInt();
+      Template template = templateBuilder.imageId(defaultImage.id()).build();
+      DockerTemplateOptions options = 
template.getOptions().as(DockerTemplateOptions.class);
+      options.env(ImmutableList.of("ROOT_PASSWORD=password"));
+      options.networkMode("bridge");
+      options.networks(network1.name(), network2.name());
+      guest = adapter.createNodeWithGroupEncodedIntoName("test", name, 
template);
+
+      
assertTrue(guest.getNode().networkSettings().networks().containsKey("network1"));
+      
assertTrue(guest.getNode().networkSettings().networks().containsKey("network2"));
+      assertEquals(guest.getNode().networkSettings().networks().size(), 3);
+   }
 
    private Image findImageFromListImages(final String image) {
       return Iterables.find(adapter.listImages(), new Predicate<Image>() {
-        @Override
-        public boolean apply(Image input) {
-           for (String tag : input.repoTags()) {
-              if (tag.equals(image) || tag.equals(CHUANWEN_COWSAY + 
":latest")) {
-                 return true;
-              }
-           }
-           return false;
-        }
-     }, null);
+         @Override
+         public boolean apply(Image input) {
+            for (String tag : input.repoTags()) {
+               if (tag.equals(image) || tag.equals(CHUANWEN_COWSAY + 
":latest")) {
+                  return true;
+               }
+            }
+            return false;
+         }
+      }, null);
    }
 
    @Override
    protected Iterable<Module> setupModules() {
-      return ImmutableSet.<Module>of(getLoggingModule(), new 
SshjSshClientModule());
+      return ImmutableSet.<Module> of(getLoggingModule(), new 
SshjSshClientModule());
    }
 
+   /**
+    * Creates network (driver="bridge") with given name and then inspects it to
+    * fully populate the returned {@link Network} object.
+    *
+    * @param networkName
+    */
+   private Network createAndInspectNetwork(final String networkName) {
+      final NetworkApi networkApi = api.getNetworkApi();
+      Network network = 
networkApi.createNetwork(Network.builder().name(networkName).driver("bridge").build());
+      return networkApi.inspectNetwork(network.id());
+   }
 }

Reply via email to