From 55eb6f5328ee484f43307ef6e3cf78faf7d1b397 Mon Sep 17 00:00:00 2001 From: megala21 Date: Wed, 27 Sep 2017 17:11:45 +0530 Subject: [PATCH] Adding test cases for DeviceTypeGeneratorService --- .../file/FileSystemBasedLicenseManager.java | 57 ---------------- .../DeviceTypeManagerServiceTest.java | 2 +- ...viceAndDeviceTypeGeneratorServceTest.java} | 66 ++++++++++++------- .../src/test/resources/testng.xml | 2 +- 4 files changed, 46 insertions(+), 81 deletions(-) delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/license/mgt/file/FileSystemBasedLicenseManager.java rename components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/java/org/wso2/carbon/device/mgt/extensions/device/type/template/{HttpDeviceTypeManagerServiceTest.java => HttpDeviceTypeManagerServiceAndDeviceTypeGeneratorServceTest.java} (80%) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/license/mgt/file/FileSystemBasedLicenseManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/license/mgt/file/FileSystemBasedLicenseManager.java deleted file mode 100644 index 30878f924c..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/main/java/org/wso2/carbon/device/mgt/extensions/license/mgt/file/FileSystemBasedLicenseManager.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) 2015, 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.extensions.license.mgt.file; - -import org.wso2.carbon.device.mgt.common.license.mgt.License; -import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManagementException; -import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManager; -import org.wso2.carbon.utils.CarbonUtils; - -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Unmarshaller; -import java.io.File; - -public class FileSystemBasedLicenseManager implements LicenseManager { - - private static final String PATH_MOBILE_PLUGIN_CONF_DIR = - CarbonUtils.getEtcCarbonConfigDirPath() + File.separator + "device-mgt-plugins"; - - @Override - public License getLicense(String deviceType, String languageCode) throws LicenseManagementException { - try { - String licenseConfigPath = - PATH_MOBILE_PLUGIN_CONF_DIR + File.separator + deviceType + File.separator + "license.xml"; - File licenseConfig = new File(licenseConfigPath); - JAXBContext context = JAXBContext.newInstance(License.class); - Unmarshaller unmarshaller = context.createUnmarshaller(); - return (License) unmarshaller.unmarshal(licenseConfig); - } catch (JAXBException e) { - throw new LicenseManagementException("Error occurred while un-marshalling license configuration " + - "used for '" + deviceType + "' platform from file system", e); - } - } - - @Override - public void addLicense(String deviceType, License license) throws LicenseManagementException { - throw new UnsupportedOperationException("'addLicense' method is not supported in " + - "FileSystemBasedLicenseManager"); - } - -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/java/org/wso2/carbon/device/mgt/extensions/device/type/template/DeviceTypeManagerServiceTest.java b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/java/org/wso2/carbon/device/mgt/extensions/device/type/template/DeviceTypeManagerServiceTest.java index 9fc7c37096..2e1b1a52ac 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/java/org/wso2/carbon/device/mgt/extensions/device/type/template/DeviceTypeManagerServiceTest.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/java/org/wso2/carbon/device/mgt/extensions/device/type/template/DeviceTypeManagerServiceTest.java @@ -166,7 +166,7 @@ public class DeviceTypeManagerServiceTest { ProvisioningConfig provisioningConfig = androidDeviceTypeManagerService.getProvisioningConfig(); Assert.assertEquals(provisioningConfig.isSharedWithAllTenants(), androidDeviceConfiguration.getProvisioningConfig().isSharedWithAllTenants(), - "Provisioning configs " + "are not correctly set as per the configuration file provided"); + "Provisioning configs are not correctly set as per the configuration file provided"); setProvisioningConfig.invoke(rasberrypiDeviceTypeManagerService, MultitenantConstants.SUPER_TENANT_DOMAIN_NAME, rasberrypiDeviceConfiguration); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/java/org/wso2/carbon/device/mgt/extensions/device/type/template/HttpDeviceTypeManagerServiceTest.java b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/java/org/wso2/carbon/device/mgt/extensions/device/type/template/HttpDeviceTypeManagerServiceAndDeviceTypeGeneratorServceTest.java similarity index 80% rename from components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/java/org/wso2/carbon/device/mgt/extensions/device/type/template/HttpDeviceTypeManagerServiceTest.java rename to components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/java/org/wso2/carbon/device/mgt/extensions/device/type/template/HttpDeviceTypeManagerServiceAndDeviceTypeGeneratorServceTest.java index 36c1a0b479..1ba7f30113 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/java/org/wso2/carbon/device/mgt/extensions/device/type/template/HttpDeviceTypeManagerServiceTest.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/java/org/wso2/carbon/device/mgt/extensions/device/type/template/HttpDeviceTypeManagerServiceAndDeviceTypeGeneratorServceTest.java @@ -14,6 +14,7 @@ import org.wso2.carbon.device.mgt.common.DeviceManagementException; import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration; import org.wso2.carbon.device.mgt.common.license.mgt.License; import org.wso2.carbon.device.mgt.common.push.notification.PushNotificationConfig; +import org.wso2.carbon.device.mgt.common.spi.DeviceManagementService; import org.wso2.carbon.device.mgt.common.type.mgt.DeviceTypeMetaDefinition; import org.wso2.carbon.device.mgt.extensions.device.type.template.config.DeviceTypeConfiguration; import org.wso2.carbon.device.mgt.extensions.device.type.template.config.Feature; @@ -43,12 +44,14 @@ import java.util.List; import static org.wso2.carbon.governance.api.util.GovernanceUtils.getGovernanceArtifactConfiguration; /** - * This test case contains the tests for {@link HTTPDeviceTypeManagerService} + * This test case contains the tests for {@link HTTPDeviceTypeManagerService} and {@link DeviceTypeGeneratorServiceImpl} */ -public class HttpDeviceTypeManagerServiceTest { +public class HttpDeviceTypeManagerServiceAndDeviceTypeGeneratorServceTest { private DeviceTypeMetaDefinition deviceTypeMetaDefinition; private HTTPDeviceTypeManagerService httpDeviceTypeManagerService; + private DeviceTypeGeneratorServiceImpl deviceTypeGeneratorService; private String androidSenseDeviceType = "androidsense"; + private String sampleDeviceType = "sample"; @BeforeTest public void setup() throws RegistryException, IOException, SAXException, ParserConfigurationException, @@ -56,9 +59,44 @@ public class HttpDeviceTypeManagerServiceTest { createSampleDeviceTypeMetaDefinition(); httpDeviceTypeManagerService = new HTTPDeviceTypeManagerService(androidSenseDeviceType, deviceTypeMetaDefinition); + deviceTypeGeneratorService = new DeviceTypeGeneratorServiceImpl(); } + @Test(description = "This test case tests the get type method of the device type manager") + public void testGetType() { + Assert.assertEquals(httpDeviceTypeManagerService.getType(), androidSenseDeviceType, + "HttpDeviceTypeManagerService returns" + " a different device type than initially provided"); + } + + @Test(description = "This test case tests the enrollment of newly added device type") + public void testEnrollDevice() throws DeviceManagementException { + String deviceId = "testdevice1"; + Device sampleDevice1 = new Device(deviceId, androidSenseDeviceType, "test", "testdevice", + null, null, null); + Assert.assertTrue(httpDeviceTypeManagerService.getDeviceManager().enrollDevice(sampleDevice1), + "Enrollment of " + androidSenseDeviceType + " device failed"); + Assert.assertTrue(httpDeviceTypeManagerService.getDeviceManager() + .isEnrolled(new DeviceIdentifier(deviceId, androidSenseDeviceType)), + "Enrollment of " + androidSenseDeviceType + " device " + "failed"); + } + + @Test(description = "This test case tests the populate device management service method") + public void testPopulateDeviceManagementService() { + DeviceManagementService deviceManagementService = deviceTypeGeneratorService.populateDeviceManagementService + (sampleDeviceType, deviceTypeMetaDefinition); + Assert.assertEquals(deviceManagementService.getType(), sampleDeviceType, "DeviceTypeGeneration for the " + + "sample device type failed"); + } + + /** + * To create a sample device type meta defintion. + * @throws SAXException SAX Exception. + * @throws JAXBException JAXB Exception. + * @throws ParserConfigurationException ParserConfiguration Exception. + * @throws DeviceTypeConfigurationException DeviceTypeConfiguration Exception. + * @throws IOException IO Exception. + */ private void createSampleDeviceTypeMetaDefinition() throws SAXException, JAXBException, ParserConfigurationException, DeviceTypeConfigurationException, IOException { @@ -73,9 +111,10 @@ public class HttpDeviceTypeManagerServiceTest { .getDeviceTypeConfiguration(androidSenseConfiguration); PushNotificationProvider pushNotificationProvider = androidSenseDeviceTypeConfiguration .getPushNotificationProvider(); - PushNotificationConfig pushNotificationConfig = new PushNotificationConfig(pushNotificationProvider.getType() - , pushNotificationProvider.isScheduled(), null); - org.wso2.carbon.device.mgt.extensions.device.type.template.config.License license = androidSenseDeviceTypeConfiguration.getLicense(); + PushNotificationConfig pushNotificationConfig = new PushNotificationConfig(pushNotificationProvider.getType(), + pushNotificationProvider.isScheduled(), null); + org.wso2.carbon.device.mgt.extensions.device.type.template.config.License license = androidSenseDeviceTypeConfiguration + .getLicense(); License androidSenseLicense = new License(); androidSenseLicense.setText(license.getText()); androidSenseLicense.setLanguage(license.getLanguage()); @@ -98,22 +137,5 @@ public class HttpDeviceTypeManagerServiceTest { deviceTypeMetaDefinition.setLicense(androidSenseLicense); deviceTypeMetaDefinition.setFeatures(features); } - - @Test(description = "This test case tests the get type method of the device type manager") - public void testGetType() { - Assert.assertEquals(httpDeviceTypeManagerService.getType(), androidSenseDeviceType, - "HttpDeviceTypeManagerService returns" + " a different device type than initially provided"); - } - - @Test(description = "This test case tests the enrollment of newly added device type") - public void testEnrollDevice() throws DeviceManagementException { - String deviceId = "testdevice1"; - Device sampleDevice1 = new Device(deviceId, androidSenseDeviceType, "test", "testdevice", null, null, null); - Assert.assertTrue(httpDeviceTypeManagerService.getDeviceManager().enrollDevice(sampleDevice1), - "Enrollment of " + androidSenseDeviceType + " device failed"); - Assert.assertTrue(httpDeviceTypeManagerService.getDeviceManager() - .isEnrolled(new DeviceIdentifier(deviceId, androidSenseDeviceType)), - "Enrollment of " + androidSenseDeviceType + " device " + "failed"); - } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/resources/testng.xml b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/resources/testng.xml index ec78403575..bad5807be5 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/resources/testng.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.extensions/src/test/resources/testng.xml @@ -26,7 +26,7 @@ - +