RabbitMQ: support disabling direct connection
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/bdf46a26 Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/bdf46a26 Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/bdf46a26 Branch: refs/heads/master Commit: bdf46a265d4e24bb5f76362a61d0e02cba9ce1c2 Parents: 0904ed9 Author: Aled Sage <[email protected]> Authored: Tue Nov 24 13:26:09 2015 +0000 Committer: Aled Sage <[email protected]> Committed: Tue Nov 24 13:53:48 2015 +0000 ---------------------------------------------------------------------- .../messaging/rabbit/RabbitEc2LiveTest.java | 34 ++++++++++++++++++-- 1 file changed, 31 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/bdf46a26/software/messaging/src/test/java/org/apache/brooklyn/entity/messaging/rabbit/RabbitEc2LiveTest.java ---------------------------------------------------------------------- diff --git a/software/messaging/src/test/java/org/apache/brooklyn/entity/messaging/rabbit/RabbitEc2LiveTest.java b/software/messaging/src/test/java/org/apache/brooklyn/entity/messaging/rabbit/RabbitEc2LiveTest.java index 263ae57..d6959b8 100644 --- a/software/messaging/src/test/java/org/apache/brooklyn/entity/messaging/rabbit/RabbitEc2LiveTest.java +++ b/software/messaging/src/test/java/org/apache/brooklyn/entity/messaging/rabbit/RabbitEc2LiveTest.java @@ -19,20 +19,26 @@ package org.apache.brooklyn.entity.messaging.rabbit; import static org.testng.Assert.assertEquals; +import static org.testng.Assert.assertNotNull; import org.apache.brooklyn.api.entity.EntitySpec; import org.apache.brooklyn.api.location.Location; +import org.apache.brooklyn.core.entity.Attributes; +import org.apache.brooklyn.core.entity.EntityAsserts; +import org.apache.brooklyn.core.entity.lifecycle.Lifecycle; +import org.apache.brooklyn.core.location.cloud.CloudLocationConfig; +import org.apache.brooklyn.entity.AbstractEc2LiveTest; +import org.apache.brooklyn.entity.messaging.MessageBroker; +import org.apache.brooklyn.entity.messaging.amqp.AmqpExchange; import org.apache.brooklyn.test.EntityTestUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.testng.SkipException; import org.testng.annotations.Test; -import org.apache.brooklyn.entity.AbstractEc2LiveTest; -import org.apache.brooklyn.entity.messaging.MessageBroker; -import org.apache.brooklyn.entity.messaging.amqp.AmqpExchange; import com.google.common.base.Charsets; import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; import com.google.common.collect.Maps; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; @@ -92,6 +98,28 @@ public class RabbitEc2LiveTest extends AbstractEc2LiveTest { throw new SkipException("Centos 5 is not supported"); } + @Test(groups = {"Live"}) + public void testWithOnlyPort22() throws Exception { + // CentOS-6.3-x86_64-GA-EBS-02-85586466-5b6c-4495-b580-14f72b4bcf51-ami-bb9af1d2.1 + jcloudsLocation = mgmt.getLocationRegistry().resolve(LOCATION_SPEC, ImmutableMap.of( + "tags", ImmutableList.of(getClass().getName()), + "imageId", "us-east-1/ami-a96b01c0", + "hardwareId", SMALL_HARDWARE_ID)); + + final RabbitBroker server = app.createAndManageChild(EntitySpec.create(RabbitBroker.class) + .configure(RabbitBroker.PROVISIONING_PROPERTIES.subKey(CloudLocationConfig.INBOUND_PORTS.getName()), ImmutableList.of(22))); + + app.start(ImmutableList.of(jcloudsLocation)); + + EntityAsserts.assertAttributeEqualsEventually(server, Attributes.SERVICE_UP, true); + EntityAsserts.assertAttributeEqualsEventually(server, Attributes.SERVICE_STATE_ACTUAL, Lifecycle.RUNNING); + + Integer port = server.getAttribute(RabbitBroker.AMQP_PORT); + assertNotNull(port); + + assertViaSshLocalPortListeningEventually(server, port); + } + @Test(enabled=false) public void testDummy() {} // Convince testng IDE integration that this really does have test methods }
