Adding test cases for device repository handling and device management config initialization

revert-dabc3590
prabathabey 10 years ago
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,30 +41,23 @@ 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:
} }
@ -71,11 +65,9 @@ public class DeviceMgtDAOTestSuite {
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;
Statement stmt = null;
try {
Class.forName(testDBConf.getDriverClass()); Class.forName(testDBConf.getDriverClass());
conn = DriverManager.getConnection(testDBConf.getConnectionUrl()); conn = DriverManager.getConnection(testDBConf.getConnectionUrl());
stmt = conn.createStatement(); stmt = conn.createStatement();
stmt.executeUpdate("RUNSCRIPT FROM './src/test/resources/sql/CreateH2TestDB.sql'"); stmt.executeUpdate("RUNSCRIPT FROM './src/test/resources/sql/CreateH2TestDB.sql'");
stmt.close(); } finally {
conn.close(); 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…
Cancel
Save