Moved config keys [assert,timeout] into BaseTest [TestHttpCall,TestEffector] now extend BaseTest
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/4cb53307 Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/4cb53307 Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/4cb53307 Branch: refs/heads/master Commit: 4cb533078e5954e53104cd7be581f756b2360b80 Parents: a346f5c Author: Mark McKenna <[email protected]> Authored: Wed Nov 11 12:19:23 2015 +0000 Committer: Mark McKenna <[email protected]> Committed: Wed Nov 11 12:19:23 2015 +0000 ---------------------------------------------------------------------- .../apache/brooklyn/test/framework/BaseTest.java | 15 +++++++++++++++ .../brooklyn/test/framework/TestEffector.java | 2 -- .../brooklyn/test/framework/TestHttpCall.java | 16 +--------------- .../brooklyn/test/framework/TestHttpCallImpl.java | 14 +++++--------- .../apache/brooklyn/test/framework/TestSensor.java | 3 --- 5 files changed, 21 insertions(+), 29 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4cb53307/usage/test-framework/src/main/java/org/apache/brooklyn/test/framework/BaseTest.java ---------------------------------------------------------------------- diff --git a/usage/test-framework/src/main/java/org/apache/brooklyn/test/framework/BaseTest.java b/usage/test-framework/src/main/java/org/apache/brooklyn/test/framework/BaseTest.java index 69eb04d..19dcb63 100644 --- a/usage/test-framework/src/main/java/org/apache/brooklyn/test/framework/BaseTest.java +++ b/usage/test-framework/src/main/java/org/apache/brooklyn/test/framework/BaseTest.java @@ -1,9 +1,14 @@ package org.apache.brooklyn.test.framework; +import com.google.common.collect.Maps; import org.apache.brooklyn.api.entity.Entity; import org.apache.brooklyn.config.ConfigKey; import org.apache.brooklyn.core.config.ConfigKeys; import org.apache.brooklyn.core.entity.trait.Startable; +import org.apache.brooklyn.util.time.Duration; + +import java.util.Map; +import java.util.concurrent.TimeUnit; /** * A base interface for all tests. @@ -21,6 +26,16 @@ public interface BaseTest extends Entity, Startable { ConfigKey<String> TARGET_ID = ConfigKeys.newStringConfigKey("targetId", "Id of the entity under test"); /** + * The assertions to be made + */ + ConfigKey<Map> ASSERTIONS = ConfigKeys.newConfigKey(Map.class, "assert", "Assertions to be evaluated", Maps.newHashMap()); + + /** + * THe duration to wait + */ + ConfigKey<Duration> TIMEOUT = ConfigKeys.newConfigKey(Duration.class, "timeout", "Time to wait on result", new Duration(1L, TimeUnit.SECONDS)); + + /** * Get the target of the test. * * @return The target. http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4cb53307/usage/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestEffector.java ---------------------------------------------------------------------- diff --git a/usage/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestEffector.java b/usage/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestEffector.java index e9ec832..f280137 100644 --- a/usage/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestEffector.java +++ b/usage/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestEffector.java @@ -26,8 +26,6 @@ public interface TestEffector extends BaseTest { ConfigKey<Map<String, ?>> EFFECTOR_PARAMS = ConfigKeys.newConfigKey(new TypeToken<Map<String, ?>>() { }, "params", "The parameters to pass to the effector", ImmutableMap.<String, Object>of()); - ConfigKey<Duration> TIMEOUT = ConfigKeys.newConfigKey(Duration.class, "timeout", "Time to wait on sensor result", new Duration(5L, TimeUnit.SECONDS)); - AttributeSensorAndConfigKey<Object, Object> EFFECTOR_RESULT = ConfigKeys.newSensorAndConfigKey(Object.class, "result", "The result of invoking the effector"); } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4cb53307/usage/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestHttpCall.java ---------------------------------------------------------------------- diff --git a/usage/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestHttpCall.java b/usage/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestHttpCall.java index 5dfa1c8..b283af8 100644 --- a/usage/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestHttpCall.java +++ b/usage/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestHttpCall.java @@ -1,16 +1,9 @@ package org.apache.brooklyn.test.framework; -import com.google.common.collect.Maps; -import org.apache.brooklyn.api.entity.Entity; import org.apache.brooklyn.api.entity.ImplementedBy; import org.apache.brooklyn.config.ConfigKey; import org.apache.brooklyn.core.config.ConfigKeys; -import org.apache.brooklyn.core.entity.trait.Startable; import org.apache.brooklyn.util.core.flags.SetFromFlag; -import org.apache.brooklyn.util.time.Duration; - -import java.util.Map; -import java.util.concurrent.TimeUnit; /** * Entity that makes a HTTP Request and tests the respose @@ -18,16 +11,9 @@ import java.util.concurrent.TimeUnit; * @author johnmccabe */ @ImplementedBy(value = TestHttpCallImpl.class) -public interface TestHttpCall extends Entity, Startable { +public interface TestHttpCall extends BaseTest { @SetFromFlag(nullable = false) ConfigKey<String> TARGET_URL = ConfigKeys.newStringConfigKey("url", "URL to test"); - @SetFromFlag(nullable = false) - ConfigKey<Map> ASSERTIONS = ConfigKeys.newConfigKey(Map.class, "assert", - "Assertions to be evaluated", Maps.newLinkedHashMap()); - - ConfigKey<Duration> TIMEOUT = ConfigKeys.newConfigKey(Duration.class, "timeout", - "The duration to wait for assertion result", new Duration(1L, TimeUnit.SECONDS)); - } http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4cb53307/usage/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestHttpCallImpl.java ---------------------------------------------------------------------- diff --git a/usage/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestHttpCallImpl.java b/usage/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestHttpCallImpl.java index 7413066..1b0b3a6 100644 --- a/usage/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestHttpCallImpl.java +++ b/usage/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestHttpCallImpl.java @@ -4,7 +4,6 @@ import com.google.api.client.util.Objects; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Lists; import org.apache.brooklyn.api.location.Location; -import org.apache.brooklyn.core.entity.AbstractEntity; import org.apache.brooklyn.core.entity.lifecycle.Lifecycle; import org.apache.brooklyn.core.entity.lifecycle.ServiceStateLogic; import org.apache.brooklyn.util.core.flags.TypeCoercions; @@ -16,14 +15,12 @@ import org.slf4j.LoggerFactory; import java.util.Collection; import java.util.Map; -import static org.apache.brooklyn.util.http.HttpAsserts.assertContentEventuallyContainsText; -import static org.apache.brooklyn.util.http.HttpAsserts.assertContentEventuallyMatches; -import static org.apache.brooklyn.util.http.HttpAsserts.assertHttpStatusCodeEventuallyEquals; +import static org.apache.brooklyn.util.http.HttpAsserts.*; /** * {@inheritDoc} */ -public class TestHttpCallImpl extends AbstractEntity implements TestHttpCall { +public class TestHttpCallImpl extends AbstractTest implements TestHttpCall { private static final Logger LOG = LoggerFactory.getLogger(TestHttpCallImpl.class); @@ -36,7 +33,7 @@ public class TestHttpCallImpl extends AbstractEntity implements TestHttpCall { final Map assertions = getConfig(ASSERTIONS); final Duration timeout = getConfig(TIMEOUT); try { - checkAssertions(url.toString(), ImmutableMap.of("timeout", timeout), assertions); + checkAssertions(url, ImmutableMap.of("timeout", timeout), assertions); sensors().set(SERVICE_UP, true); ServiceStateLogic.setExpectedState(this, Lifecycle.RUNNING); } catch (Throwable t) { @@ -65,16 +62,15 @@ public class TestHttpCallImpl extends AbstractEntity implements TestHttpCall { * @param flags Passed to {@link org.apache.brooklyn.util.http.HttpAsserts#assertContentEventuallyContainsText(Map, String, String, String...)}, * {@link org.apache.brooklyn.util.http.HttpAsserts#assertContentEventuallyMatches(Map, String, String)}, * {@link org.apache.brooklyn.util.http.HttpAsserts#assertHttpStatusCodeEventuallyEquals(Map, String, int)} - * * @param assertions The map of assertions */ - private void checkAssertions(final String url, final Map<String,?> flags, final Map<?, ?> assertions) { + private void checkAssertions(final String url, final Map<String, ?> flags, final Map<?, ?> assertions) { for (final Map.Entry<?, ?> entry : assertions.entrySet()) { if (Objects.equal(entry.getKey(), "regex")) { LOG.info("Testing if url [{}] matches regex [{}]", new Object[]{url, entry.getValue()}); - assertContentEventuallyMatches( flags, url, TypeCoercions.coerce(entry.getValue(), String.class)); + assertContentEventuallyMatches(flags, url, TypeCoercions.coerce(entry.getValue(), String.class)); } else if (Objects.equal(entry.getKey(), "string")) { LOG.debug("Testing if url [{}] contains string [{}]", new Object[]{url, entry.getValue()}); http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/4cb53307/usage/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestSensor.java ---------------------------------------------------------------------- diff --git a/usage/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestSensor.java b/usage/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestSensor.java index c6303eb..e5b46a5 100644 --- a/usage/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestSensor.java +++ b/usage/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestSensor.java @@ -21,7 +21,4 @@ public interface TestSensor extends BaseTest { @SetFromFlag(nullable = false) ConfigKey<String> SENSOR_NAME = ConfigKeys.newConfigKey(String.class, "sensor", "Sensor to evaluate"); - ConfigKey<Map> ASSERTIONS = ConfigKeys.newConfigKey(Map.class, "assert", "Assertions to be evaluated", Maps.newLinkedHashMap()); - - ConfigKey<Duration> TIMEOUT = ConfigKeys.newConfigKey(Duration.class, "timeout", "Time to wait on sensor result", new Duration(1L, TimeUnit.SECONDS)); }
