Author: bdelacretaz
Date: Mon Feb 29 09:50:27 2016
New Revision: 1732840

URL: http://svn.apache.org/viewvc?rev=1732840&view=rev
Log:
SLING-4941 - restructure tests and add testAnotherTag()

Modified:
    
sling/trunk/bundles/extensions/healthcheck/it/src/test/java/org/apache/sling/hc/it/core/JmxAdjustableStatusForTestingTest.java

Modified: 
sling/trunk/bundles/extensions/healthcheck/it/src/test/java/org/apache/sling/hc/it/core/JmxAdjustableStatusForTestingTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/healthcheck/it/src/test/java/org/apache/sling/hc/it/core/JmxAdjustableStatusForTestingTest.java?rev=1732840&r1=1732839&r2=1732840&view=diff
==============================================================================
--- 
sling/trunk/bundles/extensions/healthcheck/it/src/test/java/org/apache/sling/hc/it/core/JmxAdjustableStatusForTestingTest.java
 (original)
+++ 
sling/trunk/bundles/extensions/healthcheck/it/src/test/java/org/apache/sling/hc/it/core/JmxAdjustableStatusForTestingTest.java
 Mon Feb 29 09:50:27 2016
@@ -64,16 +64,28 @@ public class JmxAdjustableStatusForTesti
        public Option[] config() {
                return U.config();
        }
+       
+       private void assertResult(String tag, Result.Status expected) {
+        final Result result = getOverallResult(executor.execute(tag));
+        assertEquals("Expected status " + expected + " for tag " + tag, 
expected, result.getStatus());
+       }
 
        @Before
        public void setup() {
                U.expectHealthChecks(0, executor, testTag);
                registerHC(testTag);
+        U.expectHealthChecks(1, executor, testTag);
+        assertResult(testTag, Result.Status.OK);
        }
 
        @After
        @SuppressWarnings("rawtypes")
-       public void cleanup() {
+       public void cleanup() throws Exception {
+        invokeMBean("reset", new Object[] {}, new String[] {});
+
+        U.expectHealthChecks(1, executor, testTag);
+        assertResult(testTag, Result.Status.OK);
+        
                for (ServiceRegistration r : regs) {
                        r.unregister();
                }
@@ -82,40 +94,31 @@ public class JmxAdjustableStatusForTesti
        }
 
        @Test
-       public void testJmxAdjustableStatusForTesting() throws Exception {
-
-               U.expectHealthChecks(1, executor, testTag);
-
-               Result result = getOverallResult(executor.execute(testTag));
-               assertEquals(Result.Status.OK, result.getStatus());
-
+       public void testWarnStatus() throws Exception {
                invokeMBean("addWarnResultForTags", new Object[] { testTag }, 
new String[] { String.class.getName() });
-
-               U.expectHealthChecks(2, executor, testTag);
-               result = getOverallResult(executor.execute(testTag));
-               assertEquals(Result.Status.WARN, result.getStatus());
-
-               invokeMBean("reset", new Object[] {}, new String[] {});
-
-               U.expectHealthChecks(1, executor, testTag);
-               result = getOverallResult(executor.execute(testTag));
-               assertEquals(Result.Status.OK, result.getStatus());
-
-               invokeMBean("addCriticalResultForTags", new Object[] { 
"anotherTag," + testTag },
-                               new String[] { String.class.getName() });
-
                U.expectHealthChecks(2, executor, testTag);
-               result = getOverallResult(executor.execute(testTag));
-               assertEquals(Result.Status.CRITICAL, result.getStatus());
-
-               invokeMBean("reset", new Object[] {}, new String[] {});
-
-               U.expectHealthChecks(1, executor, testTag);
-               result = getOverallResult(executor.execute(testTag));
-               assertEquals(Result.Status.OK, result.getStatus());
-
+        assertResult(testTag, Result.Status.WARN);
        }
 
+    @Test
+    public void testCriticalStatus() throws Exception {
+        invokeMBean("addCriticalResultForTags", new Object[] { "anotherTag," + 
testTag },
+                new String[] { String.class.getName() });
+
+        final String [] tags = { "anotherTag", testTag };
+        for(String tag : tags) {
+            U.expectHealthChecks(2, executor, testTag);
+            assertResult(tag, Result.Status.CRITICAL);
+        }
+    }
+
+    @Test
+    public void testAnotherTag() throws Exception {
+        // Selecting an unused tag returns WARN - not sure why but
+        // if that changes we should detect it.
+        assertResult("some_unused_tag", Result.Status.WARN);
+    }
+
        private void registerHC(final String... tags) {
                final HealthCheck hc = new HealthCheck() {
                        @Override
@@ -149,5 +152,4 @@ public class JmxAdjustableStatusForTesti
                }
                return new Result(resultLog);
        }
-
 }


Reply via email to