diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/pom.xml
index a0b88e0a94b..b12ff077b6e 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/pom.xml
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/pom.xml
@@ -78,6 +78,10 @@
org.wso2.carbon
org.wso2.carbon.securevault
+
+ org.apache.sling
+ org.apache.sling.testing.osgi-mock
+
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/src/test/java/org/wso2/carbon/device/mgt/analytics/data/publisher/DataPublisherConfigTest.java b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/src/test/java/org/wso2/carbon/device/mgt/analytics/data/publisher/DataPublisherConfigTest.java
index 5f594ef6866..e5bcab93787 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/src/test/java/org/wso2/carbon/device/mgt/analytics/data/publisher/DataPublisherConfigTest.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/src/test/java/org/wso2/carbon/device/mgt/analytics/data/publisher/DataPublisherConfigTest.java
@@ -79,4 +79,5 @@ public class DataPublisherConfigTest extends BaseAnalyticsDataPublisherTest {
Assert.assertEquals(analyticsConfiguration.getReceiverServerUrl(), "tcp://localhost:7615");
Assert.assertTrue(analyticsConfiguration.isEnable());
}
+
}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/src/test/java/org/wso2/carbon/device/mgt/analytics/data/publisher/DataPublisherServiceComponentTest.java b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/src/test/java/org/wso2/carbon/device/mgt/analytics/data/publisher/DataPublisherServiceComponentTest.java
new file mode 100644
index 00000000000..d5ffb75d487
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/src/test/java/org/wso2/carbon/device/mgt/analytics/data/publisher/DataPublisherServiceComponentTest.java
@@ -0,0 +1,67 @@
+/*
+* Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
+* WSO2 Inc. 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.wso2.carbon.device.mgt.analytics.data.publisher;
+
+
+import org.apache.sling.testing.mock.osgi.MockOsgi;
+import org.osgi.service.component.ComponentContext;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+import org.wso2.carbon.device.mgt.analytics.data.publisher.internal.DataPublisherServiceComponent;
+import org.wso2.carbon.device.mgt.analytics.data.publisher.util.TestComponentContext;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+/**
+ * This tesclass will be validating the behaviour of {@link DataPublisherServiceComponent}
+ */
+public class DataPublisherServiceComponentTest extends BaseAnalyticsDataPublisherTest {
+ private DataPublisherServiceComponent serviceComponent;
+
+ @BeforeClass
+ public void initTest() {
+ this.serviceComponent = new DataPublisherServiceComponent();
+ }
+
+ @Test (description = "Test bundle activation with exception thrown when service resgistration")
+ public void activateWithException() throws NoSuchMethodException, IllegalAccessException,
+ InvocationTargetException {
+ this.activate(new TestComponentContext());
+ }
+
+ @Test(dependsOnMethods = "activateWithException", description = "Test the bundle activation with succesful path")
+ public void activateWithoutException() throws NoSuchMethodException, InvocationTargetException,
+ IllegalAccessException {
+ this.activate(MockOsgi.newComponentContext());
+ }
+
+ @Test(dependsOnMethods = "activateWithoutException", description = "Test bundle deactivation")
+ public void deActivate() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
+ Method method = this.serviceComponent.getClass().getDeclaredMethod("deactivate", ComponentContext.class);
+ method.setAccessible(true);
+ method.invoke(this.serviceComponent, MockOsgi.newComponentContext());
+ }
+
+ private void activate(ComponentContext componentContext) throws NoSuchMethodException, InvocationTargetException,
+ IllegalAccessException {
+ Method method = this.serviceComponent.getClass().getDeclaredMethod("activate", ComponentContext.class);
+ method.setAccessible(true);
+ method.invoke(this.serviceComponent, componentContext);
+ }
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/src/test/java/org/wso2/carbon/device/mgt/analytics/data/publisher/EventPublisherServiceTest.java b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/src/test/java/org/wso2/carbon/device/mgt/analytics/data/publisher/EventPublisherServiceTest.java
index b9b822e4c16..a7e5e8083df 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/src/test/java/org/wso2/carbon/device/mgt/analytics/data/publisher/EventPublisherServiceTest.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/src/test/java/org/wso2/carbon/device/mgt/analytics/data/publisher/EventPublisherServiceTest.java
@@ -29,9 +29,7 @@ import org.wso2.carbon.device.mgt.analytics.data.publisher.exception.DataPublish
import org.wso2.carbon.device.mgt.analytics.data.publisher.service.EventsPublisherService;
import org.wso2.carbon.device.mgt.analytics.data.publisher.service.EventsPublisherServiceImpl;
-import java.io.File;
import java.lang.reflect.Field;
-import java.net.URL;
/**
* This test class will test the methods that are exposed from {@link EventsPublisherService}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/src/test/java/org/wso2/carbon/device/mgt/analytics/data/publisher/util/TestComponentContext.java b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/src/test/java/org/wso2/carbon/device/mgt/analytics/data/publisher/util/TestComponentContext.java
new file mode 100644
index 00000000000..adcb3cba2fa
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/src/test/java/org/wso2/carbon/device/mgt/analytics/data/publisher/util/TestComponentContext.java
@@ -0,0 +1,81 @@
+/*
+* Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
+* WSO2 Inc. 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.wso2.carbon.device.mgt.analytics.data.publisher.util;
+
+import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.component.ComponentContext;
+import org.osgi.service.component.ComponentInstance;
+
+import java.util.Dictionary;
+
+/**
+ * Mock implementation for component context.
+ */
+public class TestComponentContext implements ComponentContext {
+ @Override
+ public Dictionary getProperties() {
+ return null;
+ }
+
+ @Override
+ public Object locateService(String s) {
+ return null;
+ }
+
+ @Override
+ public Object locateService(String s, ServiceReference serviceReference) {
+ return null;
+ }
+
+ @Override
+ public Object[] locateServices(String s) {
+ return new Object[0];
+ }
+
+ @Override
+ public BundleContext getBundleContext() {
+ return null;
+ }
+
+ @Override
+ public Bundle getUsingBundle() {
+ return null;
+ }
+
+ @Override
+ public ComponentInstance getComponentInstance() {
+ return null;
+ }
+
+ @Override
+ public void enableComponent(String s) {
+
+ }
+
+ @Override
+ public void disableComponent(String s) {
+
+ }
+
+ @Override
+ public ServiceReference getServiceReference() {
+ return null;
+ }
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/src/test/resources/testng.xml b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/src/test/resources/testng.xml
index 71303997921..8a3669fd4db 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/src/test/resources/testng.xml
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.analytics.data.publisher/src/test/resources/testng.xml
@@ -25,6 +25,7 @@
+
diff --git a/components/test-coverage/pom.xml b/components/test-coverage/pom.xml
index 73a47046b6e..1cac186071f 100644
--- a/components/test-coverage/pom.xml
+++ b/components/test-coverage/pom.xml
@@ -180,6 +180,9 @@
+
+
+
diff --git a/pom.xml b/pom.xml
index 1d2c49c2bbf..0c41886401c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -403,6 +403,12 @@
${carbon.kernel.version}
test
+
+ org.apache.sling
+ org.apache.sling.testing.osgi-mock
+ ${apache.osgi.mock.version}
+ test
+
org.wso2.carbon.governance
org.wso2.carbon.governance.api
@@ -1964,6 +1970,9 @@
1.6.1
+
+ 2.3.2
+
2.1.7-wso2v7
1.5.11.wso2v15