mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Adding test cases for device repository handling and device management config initialization
This commit is contained in:
parent
7feb390cef
commit
a31767d114
@ -28,7 +28,7 @@ public final class DeviceManagementConfig {
|
|||||||
|
|
||||||
private DeviceManagementRepository deviceMgtRepository;
|
private DeviceManagementRepository deviceMgtRepository;
|
||||||
|
|
||||||
@XmlElement(name = "ManagementRepository", nillable = false)
|
@XmlElement(name = "ManagementRepository", required = true)
|
||||||
public DeviceManagementRepository getDeviceMgtRepository() {
|
public DeviceManagementRepository getDeviceMgtRepository() {
|
||||||
return deviceMgtRepository;
|
return deviceMgtRepository;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,7 +29,7 @@ public class DeviceManagementRepository {
|
|||||||
|
|
||||||
private DataSourceConfig dataSourceConfig;
|
private DataSourceConfig dataSourceConfig;
|
||||||
|
|
||||||
@XmlElement(name = "DataSourceConfiguration", nillable = false)
|
@XmlElement(name = "DataSourceConfiguration", required = false)
|
||||||
public DataSourceConfig getDataSourceConfig() {
|
public DataSourceConfig getDataSourceConfig() {
|
||||||
return dataSourceConfig;
|
return dataSourceConfig;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -21,14 +21,14 @@ import javax.xml.bind.annotation.XmlElement;
|
|||||||
import javax.xml.bind.annotation.XmlRootElement;
|
import javax.xml.bind.annotation.XmlRootElement;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class for holding data source configuration in cdm-config.xml at parsing with JAXB
|
* Class for holding data source configuration in malformed-cdm-config-no-mgt-repo.xml at parsing with JAXB
|
||||||
*/
|
*/
|
||||||
@XmlRootElement(name = "DataSourceConfiguration")
|
@XmlRootElement(name = "DataSourceConfiguration")
|
||||||
public class DataSourceConfig {
|
public class DataSourceConfig {
|
||||||
|
|
||||||
private JNDILookupDefinition jndiLookupDefintion;
|
private JNDILookupDefinition jndiLookupDefintion;
|
||||||
|
|
||||||
@XmlElement(name = "JndiLookupDefinition", nillable = true)
|
@XmlElement(name = "JndiLookupDefinition", required = true)
|
||||||
public JNDILookupDefinition getJndiLookupDefintion() {
|
public JNDILookupDefinition getJndiLookupDefintion() {
|
||||||
return jndiLookupDefintion;
|
return jndiLookupDefintion;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -27,7 +27,7 @@ public class JNDILookupDefinition {
|
|||||||
private String jndiName;
|
private String jndiName;
|
||||||
private List<JNDIProperty> jndiProperties;
|
private List<JNDIProperty> jndiProperties;
|
||||||
|
|
||||||
@XmlElement(name = "Name", nillable = false)
|
@XmlElement(name = "Name", required = false)
|
||||||
public String getJndiName() {
|
public String getJndiName() {
|
||||||
return jndiName;
|
return jndiName;
|
||||||
}
|
}
|
||||||
@ -36,7 +36,7 @@ public class JNDILookupDefinition {
|
|||||||
this.jndiName = jndiName;
|
this.jndiName = jndiName;
|
||||||
}
|
}
|
||||||
|
|
||||||
@XmlElementWrapper(name = "Environment", nillable = false)
|
@XmlElementWrapper(name = "Environment", required = false)
|
||||||
@XmlElement(name = "Property", nillable = false)
|
@XmlElement(name = "Property", nillable = false)
|
||||||
public List<JNDIProperty> getJndiProperties() {
|
public List<JNDIProperty> getJndiProperties() {
|
||||||
return jndiProperties;
|
return jndiProperties;
|
||||||
|
|||||||
@ -63,7 +63,8 @@ public final class DeviceManagementDAOUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get id of the current tenant
|
* Get id of the current tenant.
|
||||||
|
*
|
||||||
* @return tenant id
|
* @return tenant id
|
||||||
* @throws DeviceManagementDAOException if an error is observed when getting tenant id
|
* @throws DeviceManagementDAOException if an error is observed when getting tenant id
|
||||||
*/
|
*/
|
||||||
@ -94,7 +95,7 @@ public final class DeviceManagementDAOUtil {
|
|||||||
return (DataSource) InitialContext.doLookup(dataSourceName);
|
return (DataSource) InitialContext.doLookup(dataSourceName);
|
||||||
}
|
}
|
||||||
final InitialContext context = new InitialContext(jndiProperties);
|
final InitialContext context = new InitialContext(jndiProperties);
|
||||||
return (DataSource) context.doLookup(dataSourceName);
|
return (DataSource) context.lookup(dataSourceName);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new RuntimeException("Error in looking up data source: " + e.getMessage(), e);
|
throw new RuntimeException("Error in looking up data source: " + e.getMessage(), e);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,95 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) 2012, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Licensed 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.core;
|
||||||
|
|
||||||
|
import org.apache.commons.logging.Log;
|
||||||
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
import org.testng.Assert;
|
||||||
|
import org.testng.annotations.BeforeClass;
|
||||||
|
import org.testng.annotations.Test;
|
||||||
|
import org.wso2.carbon.device.mgt.core.config.DeviceManagementConfig;
|
||||||
|
import org.xml.sax.SAXException;
|
||||||
|
|
||||||
|
import javax.xml.XMLConstants;
|
||||||
|
import javax.xml.bind.JAXBContext;
|
||||||
|
import javax.xml.bind.JAXBException;
|
||||||
|
import javax.xml.bind.Unmarshaller;
|
||||||
|
import javax.xml.validation.Schema;
|
||||||
|
import javax.xml.validation.SchemaFactory;
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
|
public class DeviceManagementConfigTests {
|
||||||
|
|
||||||
|
private static final Log log = LogFactory.getLog(DeviceManagementConfigTests.class);
|
||||||
|
private static final String MALFORMED_TEST_CONFIG_LOCATION_NO_MGT_REPOSITORY =
|
||||||
|
"./src/test/resources/config/malformed-cdm-config-no-mgt-repo.xml";
|
||||||
|
private static final String MALFORMED_TEST_CONFIG_LOCATION_NO_DS_CONFIG =
|
||||||
|
"./src/test/resources/config/malformed-cdm-config-no-ds-config.xml";
|
||||||
|
private static final String MALFORMED_TEST_CONFIG_LOCATION_NO_JNDI_CONFIG =
|
||||||
|
"./src/test/resources/config/malformed-cdm-config-no-jndi-config.xml";
|
||||||
|
private static final String TEST_CONFIG_SCHEMA_LOCATION =
|
||||||
|
"./src/test/resources/config/schema/DeviceManagementConfigSchema.xsd";
|
||||||
|
|
||||||
|
private Schema schema;
|
||||||
|
|
||||||
|
@BeforeClass
|
||||||
|
private void initSchema() {
|
||||||
|
File deviceManagementSchemaConfig = new File(DeviceManagementConfigTests.TEST_CONFIG_SCHEMA_LOCATION);
|
||||||
|
SchemaFactory sf = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
|
||||||
|
try {
|
||||||
|
schema = sf.newSchema(deviceManagementSchemaConfig);
|
||||||
|
} catch (SAXException e) {
|
||||||
|
Assert.fail("Invalid schema found", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test()
|
||||||
|
public void testMandateManagementRepositoryElement() {
|
||||||
|
File malformedConfig =
|
||||||
|
new File(DeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_MGT_REPOSITORY);
|
||||||
|
this.validateConfig(malformedConfig);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testMandateDataSourceConfigurationElement() {
|
||||||
|
File malformedConfig = new File(DeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_DS_CONFIG);
|
||||||
|
this.validateConfig(malformedConfig);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testMandateJndiLookupDefinitionElement() {
|
||||||
|
File malformedConfig = new File(DeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_JNDI_CONFIG);
|
||||||
|
this.validateConfig(malformedConfig);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void validateConfig(File malformedConfig) {
|
||||||
|
try {
|
||||||
|
JAXBContext ctx = JAXBContext.newInstance(DeviceManagementConfig.class);
|
||||||
|
Unmarshaller um = ctx.createUnmarshaller();
|
||||||
|
um.setSchema(this.getSchema());
|
||||||
|
um.unmarshal(malformedConfig);
|
||||||
|
Assert.assertTrue(false);
|
||||||
|
} catch (JAXBException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
Assert.assertTrue(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Schema getSchema() {
|
||||||
|
return schema;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,35 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) 2012, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Licensed 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.core;
|
||||||
|
|
||||||
|
import org.testng.Assert;
|
||||||
|
import org.testng.annotations.Test;
|
||||||
|
import org.wso2.carbon.device.mgt.common.spi.DeviceManagerService;
|
||||||
|
|
||||||
|
public class DeviceManagementRepositoryTests {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testAddDeviceManagementService() {
|
||||||
|
DeviceManagerService sourceProvider = new TestDeviceManagerService();
|
||||||
|
DeviceManagementRepository repository = new DeviceManagementRepository();
|
||||||
|
repository.addDeviceManagementProvider(sourceProvider);
|
||||||
|
|
||||||
|
DeviceManagerService targetProvider =
|
||||||
|
repository.getDeviceManagementProvider(TestDeviceManagerService.DEVICE_TYPE_TEST);
|
||||||
|
Assert.assertEquals(targetProvider.getProviderType(), sourceProvider.getProviderType());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,90 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) 2012, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Licensed 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.core;
|
||||||
|
|
||||||
|
import org.wso2.carbon.device.mgt.common.Device;
|
||||||
|
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||||
|
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||||
|
import org.wso2.carbon.device.mgt.common.OperationManager;
|
||||||
|
import org.wso2.carbon.device.mgt.common.spi.DeviceManagerService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class TestDeviceManagerService implements DeviceManagerService {
|
||||||
|
|
||||||
|
public static final String DEVICE_TYPE_TEST = "Test";
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getProviderType() {
|
||||||
|
return TestDeviceManagerService.DEVICE_TYPE_TEST;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean enrollDevice(Device device) throws DeviceManagementException {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean modifyEnrollment(Device device) throws DeviceManagementException {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean disenrollDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isActive(DeviceIdentifier deviceId) throws DeviceManagementException {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean setActive(DeviceIdentifier deviceId, boolean status) throws DeviceManagementException {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<Device> getAllDevices() throws DeviceManagementException {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Device getDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean updateDeviceInfo(Device device) throws DeviceManagementException {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean setOwnership(DeviceIdentifier deviceId, String ownershipType) throws DeviceManagementException {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public OperationManager getOperationManager() throws DeviceManagementException {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,54 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) 2012, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Licensed 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.core;
|
||||||
|
|
||||||
|
import org.apache.commons.logging.Log;
|
||||||
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.sql.Statement;
|
||||||
|
|
||||||
|
public class TestUtils {
|
||||||
|
|
||||||
|
private static final Log log = LogFactory.getLog(TestUtils.class);
|
||||||
|
|
||||||
|
public static void cleanupResources(Connection conn, Statement stmt, ResultSet rs) {
|
||||||
|
if (rs != null) {
|
||||||
|
try {
|
||||||
|
rs.close();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
log.warn("Error occurred while closing result set", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (stmt != null) {
|
||||||
|
try {
|
||||||
|
stmt.close();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
log.warn("Error occurred while closing prepared statement", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (conn != null) {
|
||||||
|
try {
|
||||||
|
conn.close();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
log.warn("Error occurred while closing database connection", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -25,6 +25,7 @@ import org.testng.annotations.Parameters;
|
|||||||
import org.testng.annotations.Test;
|
import org.testng.annotations.Test;
|
||||||
import org.w3c.dom.Document;
|
import org.w3c.dom.Document;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||||
|
import org.wso2.carbon.device.mgt.core.TestUtils;
|
||||||
import org.wso2.carbon.device.mgt.core.common.DBTypes;
|
import org.wso2.carbon.device.mgt.core.common.DBTypes;
|
||||||
import org.wso2.carbon.device.mgt.core.common.TestDBConfiguration;
|
import org.wso2.carbon.device.mgt.core.common.TestDBConfiguration;
|
||||||
import org.wso2.carbon.device.mgt.core.common.TestDBConfigurations;
|
import org.wso2.carbon.device.mgt.core.common.TestDBConfigurations;
|
||||||
@ -40,42 +41,33 @@ import javax.xml.bind.Unmarshaller;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.sql.*;
|
import java.sql.*;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.Iterator;
|
|
||||||
|
|
||||||
public class DeviceMgtDAOTestSuite {
|
public class DeviceMgtDAOTestSuite {
|
||||||
|
|
||||||
private TestDBConfiguration testDBConfiguration;
|
|
||||||
private DeviceType devType = new DeviceType();
|
|
||||||
private Connection conn = null;
|
|
||||||
private Statement stmt = null;
|
|
||||||
|
|
||||||
@BeforeClass
|
@BeforeClass
|
||||||
@Parameters("dbType")
|
@Parameters("dbType")
|
||||||
public void setUpDB(String dbTypeStr) throws Exception {
|
public void setUpDB(String dbTypeStr) throws Exception {
|
||||||
|
|
||||||
DBTypes dbType = DBTypes.valueOf(dbTypeStr);
|
DBTypes dbType = DBTypes.valueOf(dbTypeStr);
|
||||||
testDBConfiguration = getTestDBConfiguration(dbType);
|
TestDBConfiguration dbConfig = getTestDBConfiguration(dbType);
|
||||||
|
|
||||||
switch (dbType) {
|
switch (dbType) {
|
||||||
case H2:
|
case H2:
|
||||||
createH2DB(testDBConfiguration);
|
createH2DB(dbConfig);
|
||||||
BasicDataSource testDataSource = new BasicDataSource();
|
BasicDataSource testDataSource = new BasicDataSource();
|
||||||
testDataSource.setDriverClassName(testDBConfiguration.getDriverClass());
|
testDataSource.setDriverClassName(dbConfig.getDriverClass());
|
||||||
testDataSource.setUrl(testDBConfiguration.getConnectionUrl());
|
testDataSource.setUrl(dbConfig.getConnectionUrl());
|
||||||
testDataSource.setUsername(testDBConfiguration.getUserName());
|
testDataSource.setUsername(dbConfig.getUserName());
|
||||||
testDataSource.setPassword(testDBConfiguration.getPwd());
|
testDataSource.setPassword(dbConfig.getPwd());
|
||||||
DeviceManagementDAOFactory.init(testDataSource);
|
DeviceManagementDAOFactory.init(testDataSource);
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private TestDBConfiguration getTestDBConfiguration(DBTypes dbType) throws DeviceManagementDAOException,
|
private TestDBConfiguration getTestDBConfiguration(DBTypes dbType) throws DeviceManagementDAOException,
|
||||||
DeviceManagementException {
|
DeviceManagementException {
|
||||||
|
|
||||||
File deviceMgtConfig = new File("src/test/resources/testdbconfig.xml");
|
File deviceMgtConfig = new File("src/test/resources/testdbconfig.xml");
|
||||||
Document doc = null;
|
Document doc;
|
||||||
testDBConfiguration = null;
|
TestDBConfigurations dbConfigs;
|
||||||
TestDBConfigurations testDBConfigurations = null;
|
|
||||||
|
|
||||||
doc = DeviceManagerUtil.convertToDocument(deviceMgtConfig);
|
doc = DeviceManagerUtil.convertToDocument(deviceMgtConfig);
|
||||||
JAXBContext testDBContext = null;
|
JAXBContext testDBContext = null;
|
||||||
@ -83,92 +75,100 @@ public class DeviceMgtDAOTestSuite {
|
|||||||
try {
|
try {
|
||||||
testDBContext = JAXBContext.newInstance(TestDBConfigurations.class);
|
testDBContext = JAXBContext.newInstance(TestDBConfigurations.class);
|
||||||
Unmarshaller unmarshaller = testDBContext.createUnmarshaller();
|
Unmarshaller unmarshaller = testDBContext.createUnmarshaller();
|
||||||
testDBConfigurations = (TestDBConfigurations) unmarshaller.unmarshal(doc);
|
dbConfigs = (TestDBConfigurations) unmarshaller.unmarshal(doc);
|
||||||
} catch (JAXBException e) {
|
} catch (JAXBException e) {
|
||||||
throw new DeviceManagementDAOException("Error parsing test db configurations", e);
|
throw new DeviceManagementDAOException("Error parsing test db configurations", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
Iterator<TestDBConfiguration> itrDBConfigs = testDBConfigurations.getDbTypesList().iterator();
|
for (TestDBConfiguration config : dbConfigs.getDbTypesList()) {
|
||||||
while (itrDBConfigs.hasNext()) {
|
if (config.getDbType().equals(dbType.toString())) {
|
||||||
testDBConfiguration = itrDBConfigs.next();
|
return config;
|
||||||
if (testDBConfiguration.getDbType().equals(dbType.toString())) {
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return null;
|
||||||
return testDBConfiguration;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createH2DB(TestDBConfiguration testDBConf) throws Exception {
|
private void createH2DB(TestDBConfiguration testDBConf) throws Exception {
|
||||||
|
Connection conn = null;
|
||||||
Class.forName(testDBConf.getDriverClass());
|
Statement stmt = null;
|
||||||
conn = DriverManager.getConnection(testDBConf.getConnectionUrl());
|
try {
|
||||||
stmt = conn.createStatement();
|
Class.forName(testDBConf.getDriverClass());
|
||||||
stmt.executeUpdate("RUNSCRIPT FROM './src/test/resources/sql/CreateH2TestDB.sql'");
|
conn = DriverManager.getConnection(testDBConf.getConnectionUrl());
|
||||||
stmt.close();
|
stmt = conn.createStatement();
|
||||||
conn.close();
|
stmt.executeUpdate("RUNSCRIPT FROM './src/test/resources/sql/CreateH2TestDB.sql'");
|
||||||
|
} finally {
|
||||||
|
TestUtils.cleanupResources(conn, stmt, null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void addDeviceTypeTest() throws DeviceManagementDAOException, DeviceManagementException {
|
public void addDeviceTypeTest() throws DeviceManagementDAOException, DeviceManagementException {
|
||||||
|
|
||||||
DeviceTypeDAO deviceTypeMgtDAO = DeviceManagementDAOFactory.getDeviceTypeDAO();
|
DeviceTypeDAO deviceTypeMgtDAO = DeviceManagementDAOFactory.getDeviceTypeDAO();
|
||||||
|
|
||||||
devType.setName("IOS");
|
DeviceType deviceType = new DeviceType();
|
||||||
|
deviceType.setName("IOS");
|
||||||
|
|
||||||
deviceTypeMgtDAO.addDeviceType(devType);
|
deviceTypeMgtDAO.addDeviceType(deviceType);
|
||||||
Long deviceTypeId = null;
|
Long deviceTypeId = null;
|
||||||
|
|
||||||
|
Connection conn = null;
|
||||||
|
Statement stmt = null;
|
||||||
try {
|
try {
|
||||||
conn = DeviceManagementDAOFactory.getDataSource().getConnection();
|
conn = DeviceManagementDAOFactory.getDataSource().getConnection();
|
||||||
stmt = conn.createStatement();
|
stmt = conn.createStatement();
|
||||||
ResultSet resultSet = stmt.executeQuery("SELECT ID,NAME from DM_DEVICE_TYPE DType where DType.NAME='IOS'");
|
ResultSet resultSet =
|
||||||
|
stmt.executeQuery("SELECT ID,NAME from DM_DEVICE_TYPE DType where DType.NAME='IOS'");
|
||||||
|
|
||||||
while (resultSet.next()) {
|
while (resultSet.next()) {
|
||||||
deviceTypeId = resultSet.getLong(1);
|
deviceTypeId = resultSet.getLong(1);
|
||||||
}
|
}
|
||||||
conn.close();
|
|
||||||
} catch (SQLException sqlEx) {
|
} catch (SQLException sqlEx) {
|
||||||
throw new DeviceManagementDAOException("error in fetch device type by name IOS", sqlEx);
|
throw new DeviceManagementDAOException("error in fetch device type by name IOS", sqlEx);
|
||||||
|
} finally {
|
||||||
|
TestUtils.cleanupResources(conn, stmt, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
Assert.assertNotNull(deviceTypeId, "Device Type Id is null");
|
Assert.assertNotNull(deviceTypeId, "Device Type Id is null");
|
||||||
devType.setId(deviceTypeId);
|
deviceType.setId(deviceTypeId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(dependsOnMethods = { "addDeviceTypeTest" })
|
@Test(dependsOnMethods = {"addDeviceTypeTest"})
|
||||||
public void addDeviceTest() throws DeviceManagementDAOException, DeviceManagementException {
|
public void addDeviceTest() throws DeviceManagementDAOException, DeviceManagementException {
|
||||||
|
|
||||||
DeviceDAO deviceMgtDAO = DeviceManagementDAOFactory.getDeviceDAO();
|
DeviceDAO deviceMgtDAO = DeviceManagementDAOFactory.getDeviceDAO();
|
||||||
|
|
||||||
Device device = new Device();
|
Device device = new Device();
|
||||||
|
|
||||||
device.setDateOfEnrollment(new Date().getTime());
|
device.setDateOfEnrollment(new Date().getTime());
|
||||||
device.setDateOfLastUpdate(new Date().getTime());
|
device.setDateOfLastUpdate(new Date().getTime());
|
||||||
device.setDescription("test description");
|
device.setDescription("test description");
|
||||||
device.setStatus(Status.ACTIVE);
|
device.setStatus(Status.ACTIVE);
|
||||||
device.setDeviceIdentificationId("111");
|
device.setDeviceIdentificationId("111");
|
||||||
device.setDeviceType(devType.getId().intValue());
|
|
||||||
|
DeviceType deviceType = new DeviceType();
|
||||||
|
deviceType.setId(Long.parseLong("1"));
|
||||||
|
|
||||||
|
device.setDeviceType(deviceType.getId().intValue());
|
||||||
device.setOwnerShip(OwnerShip.BYOD.toString());
|
device.setOwnerShip(OwnerShip.BYOD.toString());
|
||||||
device.setOwnerId("111");
|
device.setOwnerId("111");
|
||||||
device.setTenantId(-1234);
|
device.setTenantId(-1234);
|
||||||
deviceMgtDAO.addDevice(device);
|
deviceMgtDAO.addDevice(device);
|
||||||
|
|
||||||
Long deviceId = null;
|
Long deviceId = null;
|
||||||
|
Connection conn = null;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
ResultSet rs = null;
|
||||||
try {
|
try {
|
||||||
conn = DeviceManagementDAOFactory.getDataSource().getConnection();
|
conn = DeviceManagementDAOFactory.getDataSource().getConnection();
|
||||||
stmt = conn.createStatement();
|
stmt = conn.prepareStatement("SELECT ID from DM_DEVICE DEVICE where DEVICE.DEVICE_IDENTIFICATION='111'");
|
||||||
ResultSet resultSet = stmt
|
rs = stmt.executeQuery();
|
||||||
.executeQuery("SELECT ID from DM_DEVICE DEVICE where DEVICE.DEVICE_IDENTIFICATION='111'");
|
|
||||||
|
|
||||||
while (resultSet.next()) {
|
while (rs.next()) {
|
||||||
deviceId = resultSet.getLong(1);
|
deviceId = rs.getLong(1);
|
||||||
}
|
}
|
||||||
conn.close();
|
} catch (SQLException e) {
|
||||||
} catch (SQLException sqlEx) {
|
throw new DeviceManagementDAOException("error in fetch device by device identification id", e);
|
||||||
throw new DeviceManagementDAOException("error in fetch device by device identification id", sqlEx);
|
} finally {
|
||||||
|
TestUtils.cleanupResources(conn, stmt, rs);
|
||||||
}
|
}
|
||||||
|
|
||||||
Assert.assertNotNull(deviceId, "Device Id is null");
|
Assert.assertNotNull(deviceId, "Device Id is null");
|
||||||
|
|||||||
@ -0,0 +1,26 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
<!--
|
||||||
|
~ Copyright (c) 2014, 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.
|
||||||
|
~ 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.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<DeviceMgtConfiguration>
|
||||||
|
<ManagementRepository>
|
||||||
|
<MalformedDataSourceConfiguration>
|
||||||
|
<JndiLookupDefinition>
|
||||||
|
<Name>jdbc/DEVICE_MGT_DS</Name>
|
||||||
|
</JndiLookupDefinition>
|
||||||
|
</MalformedDataSourceConfiguration>
|
||||||
|
</ManagementRepository>
|
||||||
|
</DeviceMgtConfiguration>
|
||||||
|
|
||||||
@ -0,0 +1,26 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
<!--
|
||||||
|
~ Copyright (c) 2014, 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.
|
||||||
|
~ 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.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<DeviceMgtConfiguration>
|
||||||
|
<ManagementRepository>
|
||||||
|
<DataSourceConfiguration>
|
||||||
|
<MalformedJndiLookupDefinition>
|
||||||
|
<Name>jdbc/DEVICE_MGT_DS</Name>
|
||||||
|
</MalformedJndiLookupDefinition>
|
||||||
|
</DataSourceConfiguration>
|
||||||
|
</ManagementRepository>
|
||||||
|
</DeviceMgtConfiguration>
|
||||||
|
|
||||||
@ -0,0 +1,26 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
|
<!--
|
||||||
|
~ Copyright (c) 2014, 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.
|
||||||
|
~ 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.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<DeviceMgtConfiguration>
|
||||||
|
<MalformedManagementRepository>
|
||||||
|
<DataSourceConfiguration>
|
||||||
|
<JndiLookupDefinition>
|
||||||
|
<Name>jdbc/DEVICE_MGT_DS</Name>
|
||||||
|
</JndiLookupDefinition>
|
||||||
|
</DataSourceConfiguration>
|
||||||
|
</MalformedManagementRepository>
|
||||||
|
</DeviceMgtConfiguration>
|
||||||
|
|
||||||
@ -0,0 +1,31 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
|
||||||
|
attributeFormDefault="unqualified">
|
||||||
|
<xs:element name="DeviceMgtConfiguration">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="ManagementRepository" minOccurs="1" maxOccurs="1" type="DataSourceConfigurationType"/>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
|
||||||
|
<xs:complexType name="JndiLookupDefinitionType">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="Name" type="xs:string" minOccurs="1" maxOccurs="1"/>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
|
||||||
|
<xs:complexType name="DataSourceConfigurationType">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="JndiLookupDefinition" minOccurs="1" maxOccurs="1"
|
||||||
|
type="JndiLookupDefinitionType"/>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
|
||||||
|
<xs:complexType name="ManagementRepositoryType">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="DataSourceConfiguration" minOccurs="1" maxOccurs="1"
|
||||||
|
type="DataSourceConfigurationType"/>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:schema>
|
||||||
@ -21,8 +21,9 @@
|
|||||||
<test name="DAO Unit Tests" preserve-order="true">
|
<test name="DAO Unit Tests" preserve-order="true">
|
||||||
<parameter name="dbType" value="H2"/>
|
<parameter name="dbType" value="H2"/>
|
||||||
<classes>
|
<classes>
|
||||||
|
|
||||||
<class name="org.wso2.carbon.device.mgt.core.dao.DeviceMgtDAOTestSuite"/>
|
<class name="org.wso2.carbon.device.mgt.core.dao.DeviceMgtDAOTestSuite"/>
|
||||||
|
<class name="org.wso2.carbon.device.mgt.core.DeviceManagementRepositoryTests"/>
|
||||||
|
<class name="org.wso2.carbon.device.mgt.core.DeviceManagementConfigTests"/>
|
||||||
</classes>
|
</classes>
|
||||||
</test>
|
</test>
|
||||||
</suite>
|
</suite>
|
||||||
Loading…
Reference in New Issue
Block a user