Add more tests. Correct typo.
diff --git a/brooklyn-server/software/base/src/main/java/org/apache/brooklyn/entity/software/base/SoftwareProcess.java b/brooklyn-server/software/base/src/main/java/org/apache/brooklyn/entity/software/base/SoftwareProcess.java
index 0478677..c0e87bd 100644
--- a/brooklyn-server/software/base/src/main/java/org/apache/brooklyn/entity/software/base/SoftwareProcess.java
+++ b/brooklyn-server/software/base/src/main/java/org/apache/brooklyn/entity/software/base/SoftwareProcess.java
@@ -66,7 +66,7 @@
ImmutableSet.of(22));
ConfigKey<String> INBOUND_PORTS_CONFIG_REGEX = ConfigKeys.newStringConfigKey("inboundPorts.configRegex",
- "Regex governing the opening of ports based on sensor names",
+ "Regex governing the opening of ports based on config names",
".*\\.port");
ConfigKey<Boolean> INBOUND_PORTS_AUTO_INFER = ConfigKeys.newBooleanConfigKey("inboundPorts.autoInfer",
diff --git a/brooklyn-server/software/base/src/test/java/org/apache/brooklyn/entity/software/base/SameServerDriverLifecycleEffectorTasksTest.java b/brooklyn-server/software/base/src/test/java/org/apache/brooklyn/entity/software/base/SameServerDriverLifecycleEffectorTasksTest.java
index 6aa8122..d79274e 100644
--- a/brooklyn-server/software/base/src/test/java/org/apache/brooklyn/entity/software/base/SameServerDriverLifecycleEffectorTasksTest.java
+++ b/brooklyn-server/software/base/src/test/java/org/apache/brooklyn/entity/software/base/SameServerDriverLifecycleEffectorTasksTest.java
@@ -49,6 +49,8 @@
"test.double", "double", 2.0);
ConfigKey<String> STRING = ConfigKeys.newStringConfigKey(
"test.string", "string", "3");
+ ConfigKey<Integer> REGEX_PORT = ConfigKeys.newIntegerConfigKey(
+ "my.port", "int", null);
}
public static class EntityWithConfigImpl extends AbstractEntity implements EntityWithConfig {
@@ -69,4 +71,54 @@
"expected=" + Iterables.toString(expected) + ", actual=" + Iterables.toString(requiredPorts));
}
+ @Test
+ public void testGetRequiredOpenPortsByConfigName() {
+ SameServerEntity entity = app.createAndManageChild(EntitySpec.create(SameServerEntity.class).child(
+ EntitySpec.create(EntityWithConfig.class)
+ // Previously SSDLET coerced everything TypeCoercions could handle to a port!
+ .configure(EntityWithConfig.INTEGER, 1)
+ .configure(EntityWithConfig.DOUBLE, 2.0)
+ .configure(EntityWithConfig.STRING, "3")
+ .configure(EntityWithConfig.REGEX_PORT, 4321)));
+ SameServerDriverLifecycleEffectorTasks effectorTasks = new SameServerDriverLifecycleEffectorTasks();
+ Collection<Integer> requiredPorts = effectorTasks.getRequiredOpenPorts(entity);
+ final ImmutableSet<Integer> expected = ImmutableSet.of(22, 1234, 4321);
+ assertEquals(requiredPorts, expected,
+ "expected=" + Iterables.toString(expected) + ", actual=" + Iterables.toString(requiredPorts));
+ }
+
+ @Test
+ public void testGetRequiredOpenPortsNoAutoInfer() {
+ SameServerEntity entity = app.createAndManageChild(EntitySpec.create(SameServerEntity.class)
+ .child(
+ EntitySpec.create(EntityWithConfig.class)
+ // Previously SSDLET coerced everything TypeCoercions could handle to a port!
+ .configure(EntityWithConfig.INTEGER, 1)
+ .configure(EntityWithConfig.DOUBLE, 2.0)
+ .configure(EntityWithConfig.STRING, "3")
+ .configure(EntityWithConfig.REGEX_PORT, 4321)
+ .configure(SameServerEntity.INBOUND_PORTS_AUTO_INFER, false)));
+ SameServerDriverLifecycleEffectorTasks effectorTasks = new SameServerDriverLifecycleEffectorTasks();
+ Collection<Integer> requiredPorts = effectorTasks.getRequiredOpenPorts(entity);
+ final ImmutableSet<Integer> expected = ImmutableSet.of(22);
+ assertEquals(requiredPorts, expected,
+ "expected=" + Iterables.toString(expected) + ", actual=" + Iterables.toString(requiredPorts));
+ }
+
+ @Test
+ public void testGetRequiredOpenPortsWithCustomLoginPort() {
+ SameServerEntity entity = app.createAndManageChild(EntitySpec.create(SameServerEntity.class)
+ .configure(SameServerEntity.REQUIRED_OPEN_LOGIN_PORTS, ImmutableSet.of(2022))
+ .child(
+ EntitySpec.create(EntityWithConfig.class)
+ // Previously SSDLET coerced everything TypeCoercions could handle to a port!
+ .configure(EntityWithConfig.INTEGER, 1)
+ .configure(EntityWithConfig.DOUBLE, 2.0)
+ .configure(EntityWithConfig.STRING, "3")));
+ SameServerDriverLifecycleEffectorTasks effectorTasks = new SameServerDriverLifecycleEffectorTasks();
+ Collection<Integer> requiredPorts = effectorTasks.getRequiredOpenPorts(entity);
+ final ImmutableSet<Integer> expected = ImmutableSet.of(2022, 1234);
+ assertEquals(requiredPorts, expected,
+ "expected=" + Iterables.toString(expected) + ", actual=" + Iterables.toString(requiredPorts));
+ }
}