Repository: brooklyn-server Updated Branches: refs/heads/master 2f57d79eb -> b1126924f
failing test illustrating problem Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/e797cbe1 Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/e797cbe1 Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/e797cbe1 Branch: refs/heads/master Commit: e797cbe179e0483599474a66141ed30d5f8c607a Parents: 48f0900 Author: Alex Heneveld <[email protected]> Authored: Thu Nov 2 15:35:58 2017 +0000 Committer: Alex Heneveld <[email protected]> Committed: Thu Nov 2 15:36:15 2017 +0000 ---------------------------------------------------------------------- .../mgmt/internal/LocalSubscriptionManagerTest.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/e797cbe1/core/src/test/java/org/apache/brooklyn/core/mgmt/internal/LocalSubscriptionManagerTest.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/org/apache/brooklyn/core/mgmt/internal/LocalSubscriptionManagerTest.java b/core/src/test/java/org/apache/brooklyn/core/mgmt/internal/LocalSubscriptionManagerTest.java index 5c04978..09cd40e 100644 --- a/core/src/test/java/org/apache/brooklyn/core/mgmt/internal/LocalSubscriptionManagerTest.java +++ b/core/src/test/java/org/apache/brooklyn/core/mgmt/internal/LocalSubscriptionManagerTest.java @@ -41,6 +41,7 @@ import org.apache.brooklyn.core.test.entity.TestEntity; import org.apache.brooklyn.entity.group.BasicGroup; import org.apache.brooklyn.test.Asserts; import org.apache.brooklyn.util.collections.MutableMap; +import org.apache.brooklyn.util.core.task.BasicExecutionContext; import org.apache.brooklyn.util.time.Duration; import org.testng.Assert; import org.testng.annotations.BeforeMethod; @@ -259,4 +260,19 @@ public class LocalSubscriptionManagerTest extends BrooklynAppUnitTestSupport { Assert.assertEquals(listener.getEvents().get(9).getValue(), entity.sensors().get(TestEntity.SEQUENCE)); } + @Test + public void testSubscriptionHasSubscribersExecutionContext() throws Exception { + final AtomicReference<BasicExecutionContext> result = new AtomicReference<>(); + final CountDownLatch latch = new CountDownLatch(1); + app.subscriptions().subscribe(entity, TestEntity.SEQUENCE, new SensorEventListener<Object>() { + @Override public void onEvent(SensorEvent<Object> event) { + result.set(BasicExecutionContext.getCurrentExecutionContext()); + latch.countDown(); + }}); + entity.setSequenceValue(1234); + if (!latch.await(TIMEOUT_MS, TimeUnit.MILLISECONDS)) { + fail("Timeout waiting for Event on TestEntity listener"); + } + Assert.assertEquals(result.get(), app.getExecutionContext()); + } }
