You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bd...@apache.org on 2013/08/08 15:24:49 UTC
svn commit: r1511772 - in
/sling/branches/SLING-2987-healthcheck-redesign/hc-core/src:
main/java/org/apache/sling/hc/impl/healthchecks/
test/java/org/apache/sling/hc/impl/
Author: bdelacretaz
Date: Thu Aug 8 13:24:49 2013
New Revision: 1511772
URL: http://svn.apache.org/r1511772
Log:
SLING-2987 - bindings tests
Added:
sling/branches/SLING-2987-healthcheck-redesign/hc-core/src/test/java/org/apache/sling/hc/impl/JmxScriptBindingTest.java
sling/branches/SLING-2987-healthcheck-redesign/hc-core/src/test/java/org/apache/sling/hc/impl/OsgiScriptBindingTest.java
Modified:
sling/branches/SLING-2987-healthcheck-redesign/hc-core/src/main/java/org/apache/sling/hc/impl/healthchecks/JmxScriptBinding.java
sling/branches/SLING-2987-healthcheck-redesign/hc-core/src/main/java/org/apache/sling/hc/impl/healthchecks/OsgiScriptBinding.java
Modified: sling/branches/SLING-2987-healthcheck-redesign/hc-core/src/main/java/org/apache/sling/hc/impl/healthchecks/JmxScriptBinding.java
URL: http://svn.apache.org/viewvc/sling/branches/SLING-2987-healthcheck-redesign/hc-core/src/main/java/org/apache/sling/hc/impl/healthchecks/JmxScriptBinding.java?rev=1511772&r1=1511771&r2=1511772&view=diff
==============================================================================
--- sling/branches/SLING-2987-healthcheck-redesign/hc-core/src/main/java/org/apache/sling/hc/impl/healthchecks/JmxScriptBinding.java (original)
+++ sling/branches/SLING-2987-healthcheck-redesign/hc-core/src/main/java/org/apache/sling/hc/impl/healthchecks/JmxScriptBinding.java Thu Aug 8 13:24:49 2013
@@ -37,7 +37,7 @@ public class JmxScriptBinding {
private MBeanServer jmxServer = ManagementFactory.getPlatformMBeanServer();
private final Logger logger;
- JmxScriptBinding(Logger logger) {
+ public JmxScriptBinding(Logger logger) {
this.logger = logger;
}
Modified: sling/branches/SLING-2987-healthcheck-redesign/hc-core/src/main/java/org/apache/sling/hc/impl/healthchecks/OsgiScriptBinding.java
URL: http://svn.apache.org/viewvc/sling/branches/SLING-2987-healthcheck-redesign/hc-core/src/main/java/org/apache/sling/hc/impl/healthchecks/OsgiScriptBinding.java?rev=1511772&r1=1511771&r2=1511772&view=diff
==============================================================================
--- sling/branches/SLING-2987-healthcheck-redesign/hc-core/src/main/java/org/apache/sling/hc/impl/healthchecks/OsgiScriptBinding.java (original)
+++ sling/branches/SLING-2987-healthcheck-redesign/hc-core/src/main/java/org/apache/sling/hc/impl/healthchecks/OsgiScriptBinding.java Thu Aug 8 13:24:49 2013
@@ -30,7 +30,7 @@ public class OsgiScriptBinding {
private final Logger logger;
private final BundleContext bundleContext;
- OsgiScriptBinding(BundleContext ctx, Logger logger) {
+ public OsgiScriptBinding(BundleContext ctx, Logger logger) {
this.logger = logger;
this.bundleContext = ctx;
}
Added: sling/branches/SLING-2987-healthcheck-redesign/hc-core/src/test/java/org/apache/sling/hc/impl/JmxScriptBindingTest.java
URL: http://svn.apache.org/viewvc/sling/branches/SLING-2987-healthcheck-redesign/hc-core/src/test/java/org/apache/sling/hc/impl/JmxScriptBindingTest.java?rev=1511772&view=auto
==============================================================================
--- sling/branches/SLING-2987-healthcheck-redesign/hc-core/src/test/java/org/apache/sling/hc/impl/JmxScriptBindingTest.java (added)
+++ sling/branches/SLING-2987-healthcheck-redesign/hc-core/src/test/java/org/apache/sling/hc/impl/JmxScriptBindingTest.java Thu Aug 8 13:24:49 2013
@@ -0,0 +1,37 @@
+/*
+ * 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 SF 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.sling.hc.impl;
+
+import org.apache.sling.hc.impl.healthchecks.JmxScriptBinding;
+import org.junit.Test;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class JmxScriptBindingTest {
+ private final Logger logger = LoggerFactory.getLogger(getClass());
+
+ @Test
+ public void testJmxAttribute() throws Exception {
+ final JmxScriptBinding b = new JmxScriptBinding(logger);
+ final Object result = b.attribute("java.lang:type=ClassLoading", "LoadedClassCount");
+ assertNotNull("Expecting non-null attribute value", result);
+ assertTrue("Expecting non-empty value", result.toString().length() > 0);
+ }
+}
\ No newline at end of file
Added: sling/branches/SLING-2987-healthcheck-redesign/hc-core/src/test/java/org/apache/sling/hc/impl/OsgiScriptBindingTest.java
URL: http://svn.apache.org/viewvc/sling/branches/SLING-2987-healthcheck-redesign/hc-core/src/test/java/org/apache/sling/hc/impl/OsgiScriptBindingTest.java?rev=1511772&view=auto
==============================================================================
--- sling/branches/SLING-2987-healthcheck-redesign/hc-core/src/test/java/org/apache/sling/hc/impl/OsgiScriptBindingTest.java (added)
+++ sling/branches/SLING-2987-healthcheck-redesign/hc-core/src/test/java/org/apache/sling/hc/impl/OsgiScriptBindingTest.java Thu Aug 8 13:24:49 2013
@@ -0,0 +1,65 @@
+/*
+ * 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 SF 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.sling.hc.impl;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.Dictionary;
+import java.util.Hashtable;
+
+import org.apache.sling.hc.impl.healthchecks.OsgiScriptBinding;
+import org.junit.Test;
+import org.mockito.Mockito;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.Constants;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class OsgiScriptBindingTest {
+
+ private final Logger logger = LoggerFactory.getLogger(getClass());
+
+ private Bundle mockBundle(boolean isFragment, boolean isActive) {
+ final Bundle b = Mockito.mock(Bundle.class);
+ Mockito.when(b.getState()).thenReturn(isActive ? Bundle.ACTIVE : Bundle.RESOLVED);
+
+ final Dictionary<String, String> headers = new Hashtable<String, String>();
+ if(isFragment) {
+ headers.put(Constants.FRAGMENT_HOST, "FOO");
+ }
+ Mockito.when(b.getHeaders()).thenReturn(headers);
+
+ return b;
+ }
+
+ @Test
+ public void testInactiveBundles() throws Exception {
+ final BundleContext ctx = Mockito.mock(BundleContext.class);
+ final Bundle [] bundles = {
+ mockBundle(false, true),
+ mockBundle(false, false),
+ mockBundle(false, true),
+ mockBundle(true, false)
+ };
+ Mockito.when(ctx.getBundles()).thenReturn(bundles);
+
+ final OsgiScriptBinding b = new OsgiScriptBinding(ctx, logger);
+ assertEquals(1, b.inactiveBundlesCount());
+ }
+}
\ No newline at end of file