You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by dr...@apache.org on 2017/03/23 12:45:42 UTC

[2/4] brooklyn-server git commit: Adds testAddMultipleUsageListenersViaProperties

Adds testAddMultipleUsageListenersViaProperties

Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/75474323
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/75474323
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/75474323

Branch: refs/heads/master
Commit: 7547432358ccbc5ad16ba4126633d06be03a4edc
Parents: ed53550
Author: Aled Sage <al...@gmail.com>
Authored: Wed Mar 22 16:15:48 2017 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Wed Mar 22 16:15:48 2017 +0000

----------------------------------------------------------------------
 .../mgmt/internal/LocalUsageManagerTest.java    | 33 ++++++++++++++++++++
 1 file changed, 33 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/75474323/core/src/test/java/org/apache/brooklyn/core/mgmt/internal/LocalUsageManagerTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/brooklyn/core/mgmt/internal/LocalUsageManagerTest.java b/core/src/test/java/org/apache/brooklyn/core/mgmt/internal/LocalUsageManagerTest.java
index 1851d72..7ec87bd 100644
--- a/core/src/test/java/org/apache/brooklyn/core/mgmt/internal/LocalUsageManagerTest.java
+++ b/core/src/test/java/org/apache/brooklyn/core/mgmt/internal/LocalUsageManagerTest.java
@@ -19,6 +19,7 @@
 
 package org.apache.brooklyn.core.mgmt.internal;
 
+import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertTrue;
 
 import java.util.List;
@@ -79,6 +80,30 @@ public class LocalUsageManagerTest extends BrooklynAppUnitTestSupport {
         assertUsageListenerCalledWhenApplicationStarted();
     }
 
+    @Test
+    public void testAddMultipleUsageListenersViaProperties() throws Exception {
+        BrooklynProperties brooklynProperties = BrooklynProperties.Factory.newEmpty();
+        brooklynProperties.put(UsageManager.USAGE_LISTENERS, RecordingStaticUsageListener.class.getName() + "," + RecordingStaticUsageListener.class.getName());
+        replaceManagementContext(LocalManagementContextForTests.newInstance(brooklynProperties));
+        
+        final List<RecordingStaticUsageListener> listeners = RecordingStaticUsageListener.getInstances();
+        assertEquals(listeners.size(), 2);
+        assertTrue(listeners.get(0) instanceof RecordingStaticUsageListener, "listeners="+listeners);
+        assertTrue(listeners.get(1) instanceof RecordingStaticUsageListener, "listeners="+listeners);
+        
+        app = TestApplication.Factory.newManagedInstanceForTests(mgmt);
+
+        Asserts.succeedsEventually(new Runnable() {
+            @Override public void run() {
+                assertHasAppEvents(listeners.get(0));
+                assertHasAppEvents(listeners.get(1));
+            }
+            private void assertHasAppEvents(RecordingStaticUsageListener listener) {
+                List<List<?>> events = listener.getApplicationEvents();
+                assertTrue(listeners.get(0).getApplicationEvents().size() > 0, "events="+events); // expect some events
+            }});
+    }
+
     @Test(expectedExceptions = ClassCastException.class)
     public void testErrorWhenConfiguredClassIsNotAUsageListener() {
         BrooklynProperties brooklynProperties = BrooklynProperties.Factory.newEmpty();
@@ -104,6 +129,14 @@ public class LocalUsageManagerTest extends BrooklynAppUnitTestSupport {
             return Iterables.getOnlyElement(STATIC_INSTANCES);
         }
 
+        public static RecordingStaticUsageListener getLastInstance() {
+            return Iterables.getLast(STATIC_INSTANCES);
+        }
+        
+        public static List<RecordingStaticUsageListener> getInstances() {
+            return ImmutableList.copyOf(STATIC_INSTANCES);
+        }
+
         public static void clearInstances() {
             STATIC_INSTANCES.clear();
         }