From 67fdf0e4d3a5176bec926e867f608ef749971d95 Mon Sep 17 00:00:00 2001 From: charitha Date: Wed, 29 Nov 2017 21:30:04 +0530 Subject: [PATCH] Improve testing --- pom.xml | 26 ++++++ .../siddhi/device/ExtensionTestCase.java | 44 ++++++++-- .../device/test/util/TestDataHolder.java | 85 +++---------------- .../siddhi/device/test/util/TestUtils.java | 31 ------- src/test/resources/testng.xml | 2 +- 5 files changed, 76 insertions(+), 112 deletions(-) diff --git a/pom.xml b/pom.xml index b6f55e1a31..18ddcde60e 100644 --- a/pom.xml +++ b/pom.xml @@ -148,6 +148,32 @@ + + org.jacoco + jacoco-maven-plugin + + ${basedir}/target/coverage-reports/jacoco-unit.exec + + + + jacoco-initialize + + prepare-agent + + + + jacoco-site + test + + report + + + ${basedir}/target/coverage-reports/jacoco-unit.exec + ${basedir}/target/coverage-reports/site + + + + \ No newline at end of file diff --git a/src/test/java/org/wso2/extension/siddhi/device/ExtensionTestCase.java b/src/test/java/org/wso2/extension/siddhi/device/ExtensionTestCase.java index 801b9e93ab..607fcb5375 100644 --- a/src/test/java/org/wso2/extension/siddhi/device/ExtensionTestCase.java +++ b/src/test/java/org/wso2/extension/siddhi/device/ExtensionTestCase.java @@ -49,7 +49,6 @@ import org.wso2.carbon.utils.multitenancy.MultitenantConstants; import org.wso2.extension.siddhi.device.test.util.SiddhiTestHelper; import org.wso2.extension.siddhi.device.test.util.TestDataHolder; import org.wso2.extension.siddhi.device.test.util.TestDeviceManagementService; -import org.wso2.extension.siddhi.device.test.util.TestUtils; import org.wso2.extension.siddhi.device.utils.DeviceUtils; import org.wso2.siddhi.core.ExecutionPlanRuntime; import org.wso2.siddhi.core.SiddhiManager; @@ -79,7 +78,7 @@ public class ExtensionTestCase extends BaseDeviceManagementTest { @Override public void receive(long timeStamp, Event[] inEvents, Event[] removeEvents) { EventPrinter.print(timeStamp, inEvents, removeEvents); - for (Event event : inEvents) { + for (Event ignored : inEvents) { count.incrementAndGet(); eventArrived = true; } @@ -127,8 +126,10 @@ public class ExtensionTestCase extends BaseDeviceManagementTest { @Test public void createGroup() throws GroupManagementException, GroupAlreadyExistException { - groupManagementProviderService.createGroup(TestUtils.createDeviceGroup1(), DEFAULT_ADMIN_ROLE, DEFAULT_ADMIN_PERMISSIONS); - groupManagementProviderService.createGroup(TestUtils.createDeviceGroup2(), DEFAULT_ADMIN_ROLE, DEFAULT_ADMIN_PERMISSIONS); + groupManagementProviderService.createGroup(TestDataHolder.generateDummyGroupData(1), + DEFAULT_ADMIN_ROLE, DEFAULT_ADMIN_PERMISSIONS); + groupManagementProviderService.createGroup(TestDataHolder.generateDummyGroupData(2), + DEFAULT_ADMIN_ROLE, DEFAULT_ADMIN_PERMISSIONS); } @Test @@ -149,13 +150,38 @@ public class ExtensionTestCase extends BaseDeviceManagementTest { configuration.setEnabled(false); DeviceConfigurationManager.getInstance().getDeviceManagementConfig().setDeviceCacheConfiguration(configuration); - List list = TestUtils.getDeviceIdentifiersList(DEVICE_TYPE); - DeviceGroup deviceGroup = groupManagementProviderService.getGroup(TestUtils.createDeviceGroup1().getName()); + List list = TestDataHolder.getDeviceIdentifiersList(DEVICE_TYPE); + DeviceGroup deviceGroup = groupManagementProviderService.getGroup(TestDataHolder.generateDummyGroupData(1).getName()); Assert.assertNotNull(deviceGroup); groupManagementProviderService.addDevices(deviceGroup.getGroupId(), list); } @Test(dependsOnMethods = {"addDevices"}) + public void testIsEnrolledExtension() throws InterruptedException, GroupManagementException { + log.info("IsEnrolled TestCase"); + SiddhiManager siddhiManager = new SiddhiManager(); + + count.set(0); + eventArrived = false; + + String inStreamDefinition = "define stream inputStream (deviceId string, deviceType string);"; + String query = ("@info(name = 'query1') from inputStream[device:isEnrolled(deviceId, deviceType)] " + + "select deviceId insert into outputStream;"); + ExecutionPlanRuntime executionPlanRuntime = siddhiManager.createExecutionPlanRuntime(inStreamDefinition + query); + executionPlanRuntime.addCallback("query1", queryCallback); + + InputHandler inputHandler = executionPlanRuntime.getInputHandler("inputStream"); + executionPlanRuntime.start(); + DeviceIdentifier deviceIdentifier = TestDataHolder.getDeviceIdentifiersList(DEVICE_TYPE).get(0); + inputHandler.send(new Object[]{deviceIdentifier.getId(), deviceIdentifier.getType()}); + inputHandler.send(new Object[]{"99999", deviceIdentifier.getType()}); + SiddhiTestHelper.waitForEvents(100, 1, count, 10000); + Assert.assertTrue(eventArrived); + Assert.assertEquals(1, count.get()); + executionPlanRuntime.shutdown(); + } + + @Test(dependsOnMethods = {"testIsEnrolledExtension"}) public void testIsInGroupExtension() throws InterruptedException, GroupManagementException { log.info("IsInGroup TestCase"); SiddhiManager siddhiManager = new SiddhiManager(); @@ -171,11 +197,11 @@ public class ExtensionTestCase extends BaseDeviceManagementTest { InputHandler inputHandler = executionPlanRuntime.getInputHandler("inputStream"); executionPlanRuntime.start(); - DeviceIdentifier deviceIdentifier = TestUtils.getDeviceIdentifiersList(DEVICE_TYPE).get(0); + DeviceIdentifier deviceIdentifier = TestDataHolder.getDeviceIdentifiersList(DEVICE_TYPE).get(0); inputHandler.send(new Object[]{groupManagementProviderService.getGroup( - TestUtils.createDeviceGroup1().getName()).getGroupId(), deviceIdentifier.getId(), deviceIdentifier.getType()}); + TestDataHolder.generateDummyGroupData(1).getName()).getGroupId(), deviceIdentifier.getId(), deviceIdentifier.getType()}); inputHandler.send(new Object[]{groupManagementProviderService.getGroup( - TestUtils.createDeviceGroup2().getName()).getGroupId(), deviceIdentifier.getId(), deviceIdentifier.getType()}); + TestDataHolder.generateDummyGroupData(2).getName()).getGroupId(), deviceIdentifier.getId(), deviceIdentifier.getType()}); SiddhiTestHelper.waitForEvents(100, 1, count, 10000); Assert.assertTrue(eventArrived); Assert.assertEquals(1, count.get()); diff --git a/src/test/java/org/wso2/extension/siddhi/device/test/util/TestDataHolder.java b/src/test/java/org/wso2/extension/siddhi/device/test/util/TestDataHolder.java index 6c2fe832ff..6b482abcb0 100644 --- a/src/test/java/org/wso2/extension/siddhi/device/test/util/TestDataHolder.java +++ b/src/test/java/org/wso2/extension/siddhi/device/test/util/TestDataHolder.java @@ -30,13 +30,8 @@ import java.util.Properties; public class TestDataHolder { - public final static String TEST_DEVICE_TYPE = "Test"; - public final static Integer SUPER_TENANT_ID = -1234; - public final static String SUPER_TENANT_DOMAIN = "carbon.super"; public final static String initialDeviceIdentifier = "12345"; public final static String OWNER = "admin"; - public static Device initialTestDevice; - public static DeviceType initialTestDeviceType; public static Device generateDummyDeviceData(String deviceType) { Device device = new Device(); @@ -53,75 +48,23 @@ public class TestDataHolder { return device; } - public static Notification getNotification(int notificationId, String status, String deviceId, - String description, String deviceName, int operationId, - String deviceType) { - Notification notification = new Notification(); - notification.setNotificationId(notificationId); - notification.setStatus(status); - notification.setDeviceIdentifier(deviceId); - notification.setDescription(description); - notification.setDeviceName(deviceName); - notification.setOperationId(operationId); - notification.setDeviceType(deviceType); - return notification; - } - - public static Device generateDummyDeviceData(String deviceIdentifier, String deviceType, - EnrolmentInfo enrolmentInfo) { - Device device = new Device(); - device.setEnrolmentInfo(enrolmentInfo); - device.setDescription("Test Description"); - device.setDeviceIdentifier(deviceIdentifier); - device.setType(deviceType); - return device; - } - - public static List generateDummyDeviceData(List deviceIds) { - List devices = new ArrayList<>(); - for (DeviceIdentifier deviceId : deviceIds) { - Device device = new Device(); - EnrolmentInfo enrolmentInfo = new EnrolmentInfo(); - enrolmentInfo.setDateOfEnrolment(new Date().getTime()); - enrolmentInfo.setDateOfLastUpdate(new Date().getTime()); - enrolmentInfo.setOwner(OWNER); - enrolmentInfo.setOwnership(EnrolmentInfo.OwnerShip.BYOD); - enrolmentInfo.setStatus(EnrolmentInfo.Status.CREATED); - device.setEnrolmentInfo(enrolmentInfo); - device.setDescription("Test Description"); - device.setDeviceIdentifier(deviceId.getId()); - device.setType(deviceId.getType()); - devices.add(device); - } - return devices; + public static DeviceGroup generateDummyGroupData(int testId) { + DeviceGroup deviceGroup = new DeviceGroup(); + deviceGroup.setName("Test" + testId); + deviceGroup.setDescription("Test description " + testId); + deviceGroup.setOwner(OWNER); + return deviceGroup; } - public static DeviceType generateDeviceTypeData(String devTypeName) { - DeviceType deviceType = new DeviceType(); - deviceType.setName(devTypeName); - return deviceType; - } + public static List getDeviceIdentifiersList(String deviceType){ + Device device = generateDummyDeviceData(deviceType); + DeviceIdentifier identifier = new DeviceIdentifier(); + identifier.setId(device.getDeviceIdentifier()); + identifier.setType(deviceType); - public static Application generateApplicationDummyData(String appIdentifier) { - Application application = new Application(); - Properties properties = new Properties(); - properties.setProperty("test1", "testVal"); - application.setName("SimpleCalculator"); - application.setCategory("TestCategory"); - application.setApplicationIdentifier(appIdentifier); - application.setType("TestType"); - application.setVersion("1.0.0"); - application.setImageUrl("http://test.org/image/"); - application.setLocationUrl("http://test.org/location/"); - application.setAppProperties(properties); - return application; - } + List list = new ArrayList<>(); + list.add(identifier); - public static DeviceGroup generateDummyGroupData() { - DeviceGroup deviceGroup = new DeviceGroup(); - deviceGroup.setName("Test device group"); - deviceGroup.setDescription("Test description"); - deviceGroup.setOwner(OWNER); - return deviceGroup; + return list; } } diff --git a/src/test/java/org/wso2/extension/siddhi/device/test/util/TestUtils.java b/src/test/java/org/wso2/extension/siddhi/device/test/util/TestUtils.java index 20ed04dae6..673b2b5219 100644 --- a/src/test/java/org/wso2/extension/siddhi/device/test/util/TestUtils.java +++ b/src/test/java/org/wso2/extension/siddhi/device/test/util/TestUtils.java @@ -58,35 +58,4 @@ public class TestUtils { } } } - - - public static DeviceGroup createDeviceGroup1(){ - DeviceGroup group = new DeviceGroup(); - group.setName("TEST_GROUP_01"); - group.setDescription("TEST_GROUP_01 - Description"); - group.setOwner("admin"); - return group; - } - - - public static DeviceGroup createDeviceGroup2(){ - DeviceGroup group = new DeviceGroup(); - group.setName("TEST_GROUP_02"); - group.setDescription("TEST_GROUP_02 - Description"); - group.setOwner("admin"); - return group; - } - - public static List getDeviceIdentifiersList(String deviceType){ - - Device device = TestDataHolder.generateDummyDeviceData(deviceType); - DeviceIdentifier identifier = new DeviceIdentifier(); - identifier.setId(device.getDeviceIdentifier()); - identifier.setType(deviceType); - - List list = new ArrayList<>(); - list.add(identifier); - - return list; - } } diff --git a/src/test/resources/testng.xml b/src/test/resources/testng.xml index a2e39e52ee..2f25f2a584 100644 --- a/src/test/resources/testng.xml +++ b/src/test/resources/testng.xml @@ -19,7 +19,7 @@ - +