You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2017/05/02 10:43:41 UTC
[1/2] brooklyn-server git commit: expand test of future value
Repository: brooklyn-server
Updated Branches:
refs/heads/master 547357d26 -> 140631bcd
expand test of future value
fix logic where future no longer guaranteed to be available when non-blocking
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/2809d8a9
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/2809d8a9
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/2809d8a9
Branch: refs/heads/master
Commit: 2809d8a929c6d276509b9304b7dc0732af7f1bac
Parents: 259d88e
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Tue May 2 11:03:55 2017 +0100
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Tue May 2 11:13:32 2017 +0100
----------------------------------------------------------------------
.../core/config/ConfigTypeCoercionTest.java | 61 ---------------
.../core/config/DeferredConfigTest.java | 79 ++++++++++++++++++++
2 files changed, 79 insertions(+), 61 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/2809d8a9/core/src/test/java/org/apache/brooklyn/core/config/ConfigTypeCoercionTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/brooklyn/core/config/ConfigTypeCoercionTest.java b/core/src/test/java/org/apache/brooklyn/core/config/ConfigTypeCoercionTest.java
deleted file mode 100644
index 3c3a9a0..0000000
--- a/core/src/test/java/org/apache/brooklyn/core/config/ConfigTypeCoercionTest.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.brooklyn.core.config;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertTrue;
-
-import java.util.List;
-import java.util.concurrent.Callable;
-
-import org.apache.brooklyn.api.mgmt.Task;
-import org.apache.brooklyn.api.sensor.Sensor;
-import org.apache.brooklyn.config.ConfigKey;
-import org.apache.brooklyn.core.test.BrooklynAppUnitTestSupport;
-import org.apache.brooklyn.core.test.entity.TestApplication;
-import org.apache.brooklyn.util.guava.Maybe;
-import org.testng.annotations.Test;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Iterables;
-import com.google.common.reflect.TypeToken;
-
-public class ConfigTypeCoercionTest extends BrooklynAppUnitTestSupport {
- private static ConfigKey<Object> SENSORS_UNTYPED = ConfigKeys.newConfigKey(Object.class, "sensors");
- @SuppressWarnings("serial")
- private static ConfigKey<List<? extends Sensor<?>>> SENSORS = ConfigKeys.newConfigKey(new TypeToken<List<? extends Sensor<?>>>() {}, "sensors");
-
- @Test
- public void testSshConfigFromDefault() throws Exception {
- // Simulate a deferred value
- Task<Sensor<?>> sensorFuture = app.getExecutionContext().submit(new Callable<Sensor<?>>() {
- @Override
- public Sensor<?> call() throws Exception {
- return TestApplication.MY_ATTRIBUTE;
- }
- });
- app.config().set(SENSORS_UNTYPED, (Object)ImmutableList.of(sensorFuture));
-
- Maybe<List<? extends Sensor<?>>> sensors = app.config().getNonBlocking(SENSORS);
- assertTrue(sensors.isPresent(), "value expected");
- Sensor<?> sensor = Iterables.getOnlyElement(sensors.get());
- assertEquals(sensor, TestApplication.MY_ATTRIBUTE);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/2809d8a9/core/src/test/java/org/apache/brooklyn/core/config/DeferredConfigTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/brooklyn/core/config/DeferredConfigTest.java b/core/src/test/java/org/apache/brooklyn/core/config/DeferredConfigTest.java
new file mode 100644
index 0000000..9decca8
--- /dev/null
+++ b/core/src/test/java/org/apache/brooklyn/core/config/DeferredConfigTest.java
@@ -0,0 +1,79 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.brooklyn.core.config;
+
+import static org.testng.Assert.assertEquals;
+
+import java.util.List;
+import java.util.concurrent.Callable;
+
+import org.apache.brooklyn.api.mgmt.Task;
+import org.apache.brooklyn.api.sensor.Sensor;
+import org.apache.brooklyn.config.ConfigKey;
+import org.apache.brooklyn.core.test.BrooklynAppUnitTestSupport;
+import org.apache.brooklyn.core.test.entity.TestApplication;
+import org.apache.brooklyn.util.guava.Maybe;
+import org.apache.brooklyn.util.time.Duration;
+import org.apache.brooklyn.util.time.Time;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Iterables;
+import com.google.common.reflect.TypeToken;
+
+public class DeferredConfigTest extends BrooklynAppUnitTestSupport {
+ private static ConfigKey<Object> SENSORS_UNTYPED = ConfigKeys.newConfigKey(Object.class, "sensors");
+ @SuppressWarnings("serial")
+ private static ConfigKey<List<? extends Sensor<?>>> SENSORS = ConfigKeys.newConfigKey(new TypeToken<List<? extends Sensor<?>>>() {}, "sensors");
+
+ @Test
+ public void testDeferredConfigInListWhenAvailable() throws Exception {
+ doTestDeferredConfigInList(false);
+ }
+
+ @Test
+ public void testDeferredConfigInListNotAvailable() throws Exception {
+ doTestDeferredConfigInList(true);
+ }
+
+ void doTestDeferredConfigInList(final boolean delay) throws Exception {
+ // Simulate a deferred value
+ Task<Sensor<?>> sensorFuture = app.getExecutionContext().submit(new Callable<Sensor<?>>() {
+ @Override
+ public Sensor<?> call() throws Exception {
+ if (delay) Time.sleep(Duration.FIVE_SECONDS);
+ return TestApplication.MY_ATTRIBUTE;
+ }
+ });
+ app.config().set(SENSORS_UNTYPED, (Object)ImmutableList.of(sensorFuture));
+
+ if (!delay) sensorFuture.get(Duration.ONE_SECOND);
+ // should resolve if future completed
+ Maybe<List<? extends Sensor<?>>> sensors = app.config().getNonBlocking(SENSORS);
+ if (delay) {
+ Assert.assertFalse(sensors.isPresent(), "value shouldn't be available");
+ } else {
+ Assert.assertTrue(sensors.isPresent(), "value should be available");
+ Sensor<?> sensor = Iterables.getOnlyElement(sensors.get());
+ assertEquals(sensor, TestApplication.MY_ATTRIBUTE);
+ }
+ }
+
+}
[2/2] brooklyn-server git commit: This closes #663
Posted by he...@apache.org.
This closes #663
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/140631bc
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/140631bc
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/140631bc
Branch: refs/heads/master
Commit: 140631bcd81bff8fd8e6c32ec1b7855d058fc786
Parents: 547357d 2809d8a
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Tue May 2 11:43:29 2017 +0100
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Tue May 2 11:43:29 2017 +0100
----------------------------------------------------------------------
.../core/config/ConfigTypeCoercionTest.java | 61 ---------------
.../core/config/DeferredConfigTest.java | 79 ++++++++++++++++++++
2 files changed, 79 insertions(+), 61 deletions(-)
----------------------------------------------------------------------