Adding some negative test cases

revert-70aa11f8
megala21 7 years ago
parent 461361ba2d
commit 6bfce09159

@ -229,10 +229,7 @@
<dependency> <dependency>
<groupId>org.powermock</groupId> <groupId>org.powermock</groupId>
<artifactId>powermock-module-testng</artifactId> <artifactId>powermock-module-testng</artifactId>
</dependency> <scope>test</scope>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.wso2.carbon</groupId> <groupId>org.wso2.carbon</groupId>

@ -96,6 +96,12 @@
<groupId>org.wso2.carbon.governance</groupId> <groupId>org.wso2.carbon.governance</groupId>
<artifactId>org.wso2.carbon.governance.registry.extensions</artifactId> <artifactId>org.wso2.carbon.governance.registry.extensions</artifactId>
<scope>test</scope> <scope>test</scope>
<exclusions>
<exclusion>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
</exclusion>
</exclusions>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.wso2.carbon.registry</groupId> <groupId>org.wso2.carbon.registry</groupId>
@ -106,6 +112,14 @@
<groupId>org.slf4j</groupId> <groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId> <artifactId>jcl-over-slf4j</artifactId>
</exclusion> </exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
</exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
</dependencies> </dependencies>

@ -41,17 +41,26 @@ public class DeviceDAODefinition {
public DeviceDAODefinition(Table table) { public DeviceDAODefinition(Table table) {
if (table == null) {
throw new DeviceTypeDeployerPayloadException("Table is null. Cannot create DeviceDAODefinition");
}
deviceTableName = table.getName(); deviceTableName = table.getName();
primarykey = table.getPrimaryKey(); primarykey = table.getPrimaryKey();
List<String> attributes = table.getAttributes().getAttribute();
if (deviceTableName == null || deviceTableName.isEmpty()) { if (deviceTableName == null || deviceTableName.isEmpty()) {
throw new DeviceTypeDeployerPayloadException("Missing deviceTableName"); throw new DeviceTypeDeployerPayloadException("Missing deviceTableName");
} }
if (primarykey == null || primarykey.isEmpty()) { if (primarykey == null || primarykey.isEmpty()) {
throw new DeviceTypeDeployerPayloadException("Missing primaryKey "); throw new DeviceTypeDeployerPayloadException("Missing primaryKey for the table " + deviceTableName);
} }
if (table.getAttributes() == null) {
throw new DeviceTypeDeployerPayloadException("Table " + deviceTableName + " attributes are not specified. "
+ "Cannot created DeviceDAODefinition");
}
List<String> attributes = table.getAttributes().getAttribute();
if (attributes == null || attributes.size() == 0) { if (attributes == null || attributes.size() == 0) {
throw new DeviceTypeDeployerPayloadException("Missing Attributes "); throw new DeviceTypeDeployerPayloadException("Missing Attributes ");
} }

@ -24,6 +24,8 @@ import org.testng.annotations.Test;
import org.wso2.carbon.device.mgt.common.Device; import org.wso2.carbon.device.mgt.common.Device;
import org.wso2.carbon.device.mgt.common.DeviceIdentifier; import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
import org.wso2.carbon.device.mgt.common.DeviceManagementException; import org.wso2.carbon.device.mgt.common.DeviceManagementException;
import org.wso2.carbon.device.mgt.common.configuration.mgt.ConfigurationEntry;
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.license.mgt.License;
import org.wso2.carbon.device.mgt.common.push.notification.PushNotificationConfig; 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.spi.DeviceManagementService;
@ -36,8 +38,11 @@ import org.wso2.carbon.device.mgt.extensions.utils.Utils;
import org.wso2.carbon.registry.core.exceptions.RegistryException; import org.wso2.carbon.registry.core.exceptions.RegistryException;
import org.xml.sax.SAXException; import org.xml.sax.SAXException;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException; import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.ParserConfigurationException;
import javax.xml.soap.Node;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.net.URL; import java.net.URL;
@ -52,6 +57,7 @@ public class HttpDeviceTypeManagerServiceAndDeviceTypeGeneratorServceTest {
private HTTPDeviceTypeManagerService httpDeviceTypeManagerService; private HTTPDeviceTypeManagerService httpDeviceTypeManagerService;
private DeviceTypeGeneratorServiceImpl deviceTypeGeneratorService; private DeviceTypeGeneratorServiceImpl deviceTypeGeneratorService;
private String androidSenseDeviceType = "androidsense"; private String androidSenseDeviceType = "androidsense";
private DeviceManagementService generatedDeviceManagementService;
@BeforeTest @BeforeTest
public void setup() throws RegistryException, IOException, SAXException, ParserConfigurationException, public void setup() throws RegistryException, IOException, SAXException, ParserConfigurationException,
@ -83,12 +89,37 @@ public class HttpDeviceTypeManagerServiceAndDeviceTypeGeneratorServceTest {
@Test(description = "This test case tests the populate device management service method") @Test(description = "This test case tests the populate device management service method")
public void testPopulateDeviceManagementService() { public void testPopulateDeviceManagementService() {
String sampleDeviceType = "sample"; String sampleDeviceType = "sample";
DeviceManagementService deviceManagementService = deviceTypeGeneratorService generatedDeviceManagementService = deviceTypeGeneratorService
.populateDeviceManagementService(sampleDeviceType, deviceTypeMetaDefinition); .populateDeviceManagementService(sampleDeviceType, deviceTypeMetaDefinition);
Assert.assertEquals(deviceManagementService.getType(), sampleDeviceType, Assert.assertEquals(generatedDeviceManagementService.getType(), sampleDeviceType,
"DeviceTypeGeneration for the " + "sample device type failed"); "DeviceTypeGeneration for the " + "sample device type failed");
} }
@Test(description = "This test case tests the get configuration of the populated device management service though"
+ " DeviceTypeGeneratorService", dependsOnMethods = {"testPopulateDeviceManagementService"})
public void testGetConfiguration() throws DeviceManagementException, ClassNotFoundException, JAXBException {
PlatformConfiguration platformConfiguration = generatedDeviceManagementService.getDeviceManager()
.getConfiguration();
Assert.assertNotNull(platformConfiguration,
"Default platform configuration is not added to sample device " + "type from the file system");
List<ConfigurationEntry> configurationEntries = platformConfiguration.getConfiguration();
Assert.assertNotNull(configurationEntries,
"Platform Configuration entries are not parsed and saved " + "correctly for device type sample");
Assert.assertEquals(configurationEntries.size(), 1,
"Platform configuration is not saved correctly for " + "device type sample");
ConfigurationEntry configurationEntry = configurationEntries.get(0);
Assert.assertEquals(configurationEntry.getName(), "test",
"Platform Configuration for device type " + "sample is not saved correctly");
String contentType = configurationEntry.getContentType();
Assert.assertEquals(contentType, "String",
"Content type added in default platform configuration is different from the retrieved value");
}
@Test(description = "This test case tests the negative scenarios when saving the platform configurations", @Test(description = "This test case tests the negative scenarios when saving the platform configurations",
expectedExceptions = {DeviceManagementException.class}) expectedExceptions = {DeviceManagementException.class})

@ -0,0 +1,65 @@
/*
* 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.extensions.device.type.template.dao;
import org.testng.annotations.Test;
import org.wso2.carbon.device.mgt.extensions.device.type.template.config.Table;
import org.wso2.carbon.device.mgt.extensions.device.type.template.exception.DeviceTypeDeployerPayloadException;
/**
* This class tests the negative scenarios related with {@link DeviceDAODefinition}
*/
public class DeviceDAODefinitionNegativeTest {
private final String DEVICE_TABLE_NAME = "DEVICE_TABLE";
@Test(description = "This test case tests the behavior of the DeviceDAODefinition when the table is null",
expectedExceptions = { DeviceTypeDeployerPayloadException.class},
expectedExceptionsMessageRegExp = "Table is null. Cannot create DeviceDAODefinition")
public void testWhenTableIsNull() {
new DeviceDAODefinition(null);
}
@Test(description = "This test case tests the behavior of the DeviceDAODefinition when the table name is null",
expectedExceptions = { DeviceTypeDeployerPayloadException.class},
expectedExceptionsMessageRegExp = "Missing deviceTableName")
public void testWhenTableNameIsNull() {
new DeviceDAODefinition(new Table());
}
@Test(description = "This test case tests the behavior of the DeviceDAODefinition when the primary key is null",
expectedExceptions = { DeviceTypeDeployerPayloadException.class},
expectedExceptionsMessageRegExp = "Missing primaryKey for the table " + DEVICE_TABLE_NAME)
public void testWhenPrimaryKeyIsEmpty() {
Table deviceTable = new Table();
deviceTable.setName(DEVICE_TABLE_NAME);
deviceTable.setPrimaryKey("");
new DeviceDAODefinition(deviceTable);
}
@Test(description = "This test case tests the behavior of the DeviceDAODefinition when the attributes is null",
expectedExceptions = { DeviceTypeDeployerPayloadException.class},
expectedExceptionsMessageRegExp = "Table " + DEVICE_TABLE_NAME + " attributes are not specified. "
+ "Cannot created DeviceDAODefinition")
public void testWhenAttributesIsNull() {
Table deviceTable = new Table();
deviceTable.setName(DEVICE_TABLE_NAME);
deviceTable.setPrimaryKey("primaryKey");
new DeviceDAODefinition(deviceTable);
}
}

@ -378,4 +378,4 @@
<Property Name="example">admin</Property> <Property Name="example">admin</Property>
</ConfigProperties> </ConfigProperties>
</PullNotificationSubscriberConfig> </PullNotificationSubscriberConfig>
</DeviceTypeConfiguration> </DeviceTypeConfiguration>

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ 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.
-->
<PlatformConfiguration>
<type>sample</type>
<configuration>
<name>test</name>
<contentType>String</contentType>
<value>test</value>
</configuration>
</PlatformConfiguration>

@ -27,6 +27,7 @@
<class name="org.wso2.carbon.device.mgt.extensions.device.type.template.DeviceTypeManagerServiceTest"/> <class name="org.wso2.carbon.device.mgt.extensions.device.type.template.DeviceTypeManagerServiceTest"/>
<class name="org.wso2.carbon.device.mgt.extensions.device.type.template.DeviceTypeManagerTest"/> <class name="org.wso2.carbon.device.mgt.extensions.device.type.template.DeviceTypeManagerTest"/>
<class name="org.wso2.carbon.device.mgt.extensions.device.type.template.HttpDeviceTypeManagerServiceAndDeviceTypeGeneratorServceTest"/> <class name="org.wso2.carbon.device.mgt.extensions.device.type.template.HttpDeviceTypeManagerServiceAndDeviceTypeGeneratorServceTest"/>
<class name="org.wso2.carbon.device.mgt.extensions.device.type.template.dao.DeviceDAODefinitionNegativeTest"/>
</classes> </classes>
</test> </test>
</suite> </suite>

Loading…
Cancel
Save