Postgres: 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/e0afa328
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/e0afa328
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/e0afa328

Branch: refs/heads/master
Commit: e0afa328393f326ebe50eb3492a86622e9a96836
Parents: bdf46a2
Author: Aled Sage <[email protected]>
Authored: Tue Nov 24 13:26:15 2015 +0000
Committer: Aled Sage <[email protected]>
Committed: Tue Nov 24 13:53:48 2015 +0000

----------------------------------------------------------------------
 .../postgresql/PostgreSqlEc2LiveTest.java       | 33 +++++++++++++++++---
 1 file changed, 29 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/e0afa328/software/database/src/test/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlEc2LiveTest.java
----------------------------------------------------------------------
diff --git 
a/software/database/src/test/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlEc2LiveTest.java
 
b/software/database/src/test/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlEc2LiveTest.java
index f878778..2d18561 100644
--- 
a/software/database/src/test/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlEc2LiveTest.java
+++ 
b/software/database/src/test/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlEc2LiveTest.java
@@ -18,14 +18,21 @@
  */
 package org.apache.brooklyn.entity.database.postgresql;
 
+import static org.testng.Assert.assertNotNull;
+
 import org.apache.brooklyn.api.entity.EntitySpec;
 import org.apache.brooklyn.api.location.Location;
-import org.testng.annotations.Test;
+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.database.DatastoreMixins.DatastoreCommon;
 import org.apache.brooklyn.entity.database.VogellaExampleAccess;
+import org.testng.annotations.Test;
 
 import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableMap;
 
 public class PostgreSqlEc2LiveTest extends AbstractEc2LiveTest {
 
@@ -47,7 +54,25 @@ public class PostgreSqlEc2LiveTest extends 
AbstractEc2LiveTest {
     @Test(enabled=false, groups = "Live")
     public void test_Ubuntu_10_0() throws Exception { } // Disabled because 
PostgreSql 9.1 not available
 
-    @Test(enabled=false)
-    public void testDummy() { } // Convince testng IDE integration that this 
really does have test methods
-}
+    @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));
 
+        PostgreSqlNode server = 
app.createAndManageChild(EntitySpec.create(PostgreSqlNode.class)
+                
.configure(PostgreSqlNode.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(PostgreSqlNode.POSTGRESQL_PORT);
+        assertNotNull(port);
+        
+        assertViaSshLocalPortListeningEventually(server, port);
+    }
+}

Reply via email to