Docker.ContainerToNodeMetadata: remove needless mocking Previously it mocked the container and the StateToStatus. It just asserted that getter methods were called, rather than confirming the resulting NodeMetadata had the right values.
By removing some of the mocks, it not only simplifies the code but improves code-coverage. (e.g. if StateToStatus was being passed the wrong value, the previous test would not have noticed). Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs/commit/6dcadf1f Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs/tree/6dcadf1f Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs/diff/6dcadf1f Branch: refs/heads/master Commit: 6dcadf1fba9700fcaaf30d809938954bcb700cbe Parents: 58104f7 Author: Aled Sage <[email protected]> Authored: Mon Jun 13 14:13:34 2016 +0100 Committer: Andrea Turli <[email protected]> Committed: Mon Jun 13 17:18:01 2016 +0200 ---------------------------------------------------------------------- .../functions/ContainerToNodeMetadataTest.java | 49 +++----------------- 1 file changed, 6 insertions(+), 43 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/6dcadf1f/docker/src/test/java/org/jclouds/docker/compute/functions/ContainerToNodeMetadataTest.java ---------------------------------------------------------------------- diff --git a/docker/src/test/java/org/jclouds/docker/compute/functions/ContainerToNodeMetadataTest.java b/docker/src/test/java/org/jclouds/docker/compute/functions/ContainerToNodeMetadataTest.java index c439e47..5360097 100644 --- a/docker/src/test/java/org/jclouds/docker/compute/functions/ContainerToNodeMetadataTest.java +++ b/docker/src/test/java/org/jclouds/docker/compute/functions/ContainerToNodeMetadataTest.java @@ -16,10 +16,8 @@ */ package org.jclouds.docker.compute.functions; -import static org.easymock.EasyMock.anyObject; import static org.easymock.EasyMock.expect; import static org.easymock.EasyMock.replay; -import static org.easymock.EasyMock.verify; import static org.testng.Assert.assertEquals; import java.util.Arrays; @@ -48,7 +46,6 @@ import org.jclouds.providers.ProviderMetadata; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; -import com.google.common.base.Function; import com.google.common.base.Supplier; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; @@ -171,28 +168,19 @@ public class ContainerToNodeMetadataTest { } }; - function = new ContainerToNodeMetadata(providerMetadata, toPortableStatus(), namingConvention, images, locations, + function = new ContainerToNodeMetadata(providerMetadata, new StateToStatus(), namingConvention, images, locations, new LoginPortForContainer.LoginPortLookupChain(null)); } - private Function<State, NodeMetadata.Status> toPortableStatus() { - StateToStatus function = EasyMock.createMock(StateToStatus.class); - expect(function.apply(anyObject(State.class))).andReturn(NodeMetadata.Status.RUNNING).atLeastOnce(); - replay(function); - return function; - } - public void testVirtualMachineToNodeMetadata() { - Container mockContainer = mockContainer(); - - NodeMetadata node = function.apply(mockContainer); - - verify(mockContainer); + NodeMetadata node = function.apply(container); assertEquals(node.getId(), "6d35806c1bd2b25cd92bba2d2c2c5169dc2156f53ab45c2b62d76e2d2fee14a9"); assertEquals(node.getGroup(), "hopeful_mclean"); assertEquals(node.getImageId(), "af0f59f1c19eef9471c3b8c8d587c39b8f130560b54f3766931b37d76d5de4b6"); assertEquals(node.getLoginPort(), 49199); + assertEquals(node.getStatus(), NodeMetadata.Status.RUNNING); + assertEquals(node.getImageId(), "af0f59f1c19eef9471c3b8c8d587c39b8f130560b54f3766931b37d76d5de4b6"); assertEquals(node.getPrivateAddresses(), ImmutableSet.of("172.17.0.2")); assertEquals(node.getPublicAddresses(), ImmutableSet.of("127.0.0.1")); } @@ -226,36 +214,11 @@ public class ContainerToNodeMetadataTest { .build()) .build(); - Container mockContainer = mockContainer(containerWithNetwork); - - NodeMetadata node = function.apply(mockContainer); + NodeMetadata node = function.apply(containerWithNetwork); - verify(mockContainer); - - assertEquals(node.getId(), "6d35806c1bd2b25cd92bba2d2c2c5169dc2156f53ab45c2b62d76e2d2fee14a9"); - assertEquals(node.getGroup(), "hopeful_mclean"); - assertEquals(node.getImageId(), "af0f59f1c19eef9471c3b8c8d587c39b8f130560b54f3766931b37d76d5de4b6"); + // Only asserting network-related aspects; the rest is covered by testVirtualMachineToNodeMetadata assertEquals(node.getLoginPort(), 49199); assertEquals(node.getPrivateAddresses(), ImmutableSet.of("172.17.0.2", "172.19.0.2")); assertEquals(node.getPublicAddresses(), ImmutableSet.of("127.0.0.1")); } - - private Container mockContainer() { - return mockContainer(container); - } - - private Container mockContainer(Container container) { - Container mockContainer = EasyMock.createMock(Container.class); - - expect(mockContainer.id()).andReturn(container.id()); - expect(mockContainer.name()).andReturn(container.name()); - expect(mockContainer.config()).andReturn(container.config()).anyTimes(); - expect(mockContainer.networkSettings()).andReturn(container.networkSettings()).anyTimes(); - expect(mockContainer.node()).andReturn(container.node()).anyTimes(); - expect(mockContainer.state()).andReturn(container.state()); - expect(mockContainer.image()).andReturn(container.image()).anyTimes(); - replay(mockContainer); - - return mockContainer; - } }
