Cleanup ByonLocationResolverTest
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/09f3cc87 Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/09f3cc87 Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/09f3cc87 Branch: refs/heads/master Commit: 09f3cc87afcf99772bf6597dc4bb2f77ed10660d Parents: 7b866a9 Author: Aled Sage <[email protected]> Authored: Fri Jun 26 14:44:57 2015 +0100 Committer: Aled Sage <[email protected]> Committed: Fri Jun 26 15:33:08 2015 +0100 ---------------------------------------------------------------------- .../basic/ByonLocationResolverTest.java | 68 +++++++++----------- 1 file changed, 32 insertions(+), 36 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/09f3cc87/core/src/test/java/brooklyn/location/basic/ByonLocationResolverTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/brooklyn/location/basic/ByonLocationResolverTest.java b/core/src/test/java/brooklyn/location/basic/ByonLocationResolverTest.java index c83d2f0..307fc6a 100644 --- a/core/src/test/java/brooklyn/location/basic/ByonLocationResolverTest.java +++ b/core/src/test/java/brooklyn/location/basic/ByonLocationResolverTest.java @@ -38,6 +38,7 @@ import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import brooklyn.config.BrooklynProperties; +import brooklyn.entity.basic.ConfigKeys; import brooklyn.entity.basic.Entities; import brooklyn.location.MachineLocation; import brooklyn.location.MachineProvisioningLocation; @@ -47,12 +48,12 @@ import brooklyn.test.Asserts; import brooklyn.test.entity.LocalManagementContextForTests; import brooklyn.util.collections.MutableMap; import brooklyn.util.net.Networking; +import brooklyn.util.net.UserAndHostAndPort; import brooklyn.util.os.Os; import brooklyn.util.text.StringPredicates; import com.google.common.base.Function; import com.google.common.base.Joiner; -import com.google.common.base.Objects; import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.ImmutableList; @@ -209,16 +210,20 @@ public class ByonLocationResolverTest { @Test public void testResolvesUsernameAtHost() throws Exception { - assertByonClusterWithUsersEquals(resolve("byon(hosts=\"[email protected]\")"), ImmutableSet.of(new UserHostTuple("myuser", "1.1.1.1"))); - assertByonClusterWithUsersEquals(resolve("byon(hosts=\"[email protected],[email protected]\")"), ImmutableSet.of(new UserHostTuple("myuser", "1.1.1.1"), new UserHostTuple("myuser2", "1.1.1.1"))); - assertByonClusterWithUsersEquals(resolve("byon(hosts=\"[email protected],[email protected]\")"), ImmutableSet.of(new UserHostTuple("myuser", "1.1.1.1"), new UserHostTuple("myuser2", "1.1.1.2"))); + assertByonClusterWithUsersEquals(resolve("byon(hosts=\"[email protected]\")"), + ImmutableSet.of(UserAndHostAndPort.fromParts("myuser", "1.1.1.1", 22))); + assertByonClusterWithUsersEquals(resolve("byon(hosts=\"[email protected],[email protected]\")"), ImmutableSet.of( + UserAndHostAndPort.fromParts("myuser", "1.1.1.1", 22), UserAndHostAndPort.fromParts("myuser2", "1.1.1.1", 22))); + assertByonClusterWithUsersEquals(resolve("byon(hosts=\"[email protected],[email protected]\")"), ImmutableSet.of( + UserAndHostAndPort.fromParts("myuser", "1.1.1.1", 22), UserAndHostAndPort.fromParts("myuser2", "1.1.1.2", 22))); } @Test public void testResolvesUserArg() throws Exception { - assertByonClusterWithUsersEquals(resolve("byon(hosts=\"1.1.1.1\",user=bob)"), ImmutableSet.of(new UserHostTuple("bob", "1.1.1.1"))); + assertByonClusterWithUsersEquals(resolve("byon(hosts=\"1.1.1.1\",user=bob)"), + ImmutableSet.of(UserAndHostAndPort.fromParts("bob", "1.1.1.1", 22))); assertByonClusterWithUsersEquals(resolve("byon(user=\"bob\",hosts=\"[email protected],1.1.1.1\")"), - ImmutableSet.of(new UserHostTuple("myuser", "1.1.1.1"), new UserHostTuple("bob", "1.1.1.1"))); + ImmutableSet.of(UserAndHostAndPort.fromParts("myuser", "1.1.1.1", 22), UserAndHostAndPort.fromParts("bob", "1.1.1.1", 22))); } @Test @@ -244,6 +249,14 @@ public class ByonLocationResolverTest { Assert.assertEquals("bob", l.getUser()); } + @Test + public void testResolvesPortArg() throws Exception { + assertByonClusterWithUsersEquals(resolve("byon(user=bob,port=8022,hosts=\"1.1.1.1\")"), + ImmutableSet.of(UserAndHostAndPort.fromParts("bob", "1.1.1.1", 8022))); + assertByonClusterWithUsersEquals(resolve("byon(user=bob,port=8022,hosts=\"[email protected],1.1.1.2:8901\")"), + ImmutableSet.of(UserAndHostAndPort.fromParts("myuser", "1.1.1.1", 8022), UserAndHostAndPort.fromParts("bob", "1.1.1.2", 8901))); + } + @SuppressWarnings("unchecked") @Test /** private key should be inherited, so confirm that happens correctly */ @@ -342,6 +355,13 @@ public class ByonLocationResolverTest { assertTrue(location instanceof SshMachineLocation, "Expected location to be SshMachineLocation, found " + location); } + @Test + public void testAdditionalConfig() throws Exception { + FixedListMachineProvisioningLocation<MachineLocation> loc = resolve("byon(mykey=myval,hosts=\"1.1.1.1\")"); + MachineLocation machine = loc.obtain(ImmutableMap.of()); + assertEquals(machine.getConfig(ConfigKeys.newConfigKey(String.class, "mykey")), "myval"); + } + private void assertByonClusterEquals(FixedListMachineProvisioningLocation<? extends MachineLocation> cluster, Set<String> expectedHosts) { assertByonClusterEquals(cluster, expectedHosts, defaultNamePredicate); } @@ -359,14 +379,15 @@ public class ByonLocationResolverTest { assertTrue(expectedName.apply(cluster.getDisplayName()), "name="+cluster.getDisplayName()); } - private void assertByonClusterWithUsersEquals(FixedListMachineProvisioningLocation<? extends MachineLocation> cluster, Set<UserHostTuple> expectedHosts) { + private void assertByonClusterWithUsersEquals(FixedListMachineProvisioningLocation<? extends MachineLocation> cluster, Set<UserAndHostAndPort> expectedHosts) { assertByonClusterWithUsersEquals(cluster, expectedHosts, defaultNamePredicate); } - private void assertByonClusterWithUsersEquals(FixedListMachineProvisioningLocation<? extends MachineLocation> cluster, Set<UserHostTuple> expectedHosts, Predicate<? super String> expectedName) { - Set<UserHostTuple> actualHosts = ImmutableSet.copyOf(Iterables.transform(cluster.getMachines(), new Function<MachineLocation, UserHostTuple>() { - @Override public UserHostTuple apply(MachineLocation input) { - return new UserHostTuple(((SshMachineLocation)input).getUser(), input.getAddress().getHostName()); + private void assertByonClusterWithUsersEquals(FixedListMachineProvisioningLocation<? extends MachineLocation> cluster, Set<UserAndHostAndPort> expectedHosts, Predicate<? super String> expectedName) { + Set<UserAndHostAndPort> actualHosts = ImmutableSet.copyOf(Iterables.transform(cluster.getMachines(), new Function<MachineLocation, UserAndHostAndPort>() { + @Override public UserAndHostAndPort apply(MachineLocation input) { + SshMachineLocation machine = (SshMachineLocation) input; + return UserAndHostAndPort.fromParts(machine.getUser(), machine.getAddress().getHostName(), machine.getPort()); }})); assertEquals(actualHosts, expectedHosts); assertTrue(expectedName.apply(cluster.getDisplayName()), "name="+cluster.getDisplayName()); @@ -399,29 +420,4 @@ public class ByonLocationResolverTest { private FixedListMachineProvisioningLocation<MachineLocation> resolve(String val, Map<?, ?> locationFlags) { return (FixedListMachineProvisioningLocation<MachineLocation>) managementContext.getLocationRegistry().resolve(val, locationFlags); } - - private static class UserHostTuple { - final String username; - final String hostname; - - UserHostTuple(String username, String hostname) { - this.username = username; - this.hostname = hostname; - } - - @Override - public boolean equals(Object o) { - return o instanceof UserHostTuple && Objects.equal(username, ((UserHostTuple)o).username) - && Objects.equal(hostname, ((UserHostTuple)o).hostname); - } - - @Override - public int hashCode() { - return Objects.hashCode(username, hostname); - } - @Override - public String toString() { - return Objects.toStringHelper(UserHostTuple.class).add("user", username).add("host", hostname).toString(); - } - } }
