mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Merge branch 'master' of https://github.com/wso2/carbon-device-mgt
This commit is contained in:
commit
b20cf7336c
@ -22,13 +22,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>apimgt-extensions</artifactId>
|
<artifactId>apimgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.apimgt.annotations</artifactId>
|
<artifactId>org.wso2.carbon.apimgt.annotations</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - API Management Annotations</name>
|
<name>WSO2 Carbon - API Management Annotations</name>
|
||||||
<description>WSO2 Carbon - API Management Custom Annotation Module</description>
|
<description>WSO2 Carbon - API Management Custom Annotation Module</description>
|
||||||
|
|||||||
@ -21,12 +21,12 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>apimgt-extensions</artifactId>
|
<artifactId>apimgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<artifactId>org.wso2.carbon.apimgt.application.extension.api</artifactId>
|
<artifactId>org.wso2.carbon.apimgt.application.extension.api</artifactId>
|
||||||
<packaging>war</packaging>
|
<packaging>war</packaging>
|
||||||
<name>WSO2 Carbon - API Application Management API</name>
|
<name>WSO2 Carbon - API Application Management API</name>
|
||||||
|
|||||||
@ -22,12 +22,12 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>apimgt-extensions</artifactId>
|
<artifactId>apimgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<artifactId>org.wso2.carbon.apimgt.application.extension</artifactId>
|
<artifactId>org.wso2.carbon.apimgt.application.extension</artifactId>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - API Application Management</name>
|
<name>WSO2 Carbon - API Application Management</name>
|
||||||
|
|||||||
@ -21,13 +21,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>apimgt-extensions</artifactId>
|
<artifactId>apimgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.apimgt.handlers</artifactId>
|
<artifactId>org.wso2.carbon.apimgt.handlers</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - API Security Handler Component</name>
|
<name>WSO2 Carbon - API Security Handler Component</name>
|
||||||
<description>WSO2 Carbon - API Management Security Handler Module</description>
|
<description>WSO2 Carbon - API Management Security Handler Module</description>
|
||||||
|
|||||||
@ -13,13 +13,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>apimgt-extensions</artifactId>
|
<artifactId>apimgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.apimgt.integration.client</artifactId>
|
<artifactId>org.wso2.carbon.apimgt.integration.client</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - API Management Integration Client</name>
|
<name>WSO2 Carbon - API Management Integration Client</name>
|
||||||
<description>WSO2 Carbon - API Management Integration Client</description>
|
<description>WSO2 Carbon - API Management Integration Client</description>
|
||||||
|
|||||||
@ -13,13 +13,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>apimgt-extensions</artifactId>
|
<artifactId>apimgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.apimgt.integration.generated.client</artifactId>
|
<artifactId>org.wso2.carbon.apimgt.integration.generated.client</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - API Management Integration Generated Client</name>
|
<name>WSO2 Carbon - API Management Integration Generated Client</name>
|
||||||
<description>WSO2 Carbon - API Management Integration Client</description>
|
<description>WSO2 Carbon - API Management Integration Client</description>
|
||||||
|
|||||||
@ -22,13 +22,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>apimgt-extensions</artifactId>
|
<artifactId>apimgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.apimgt.webapp.publisher</artifactId>
|
<artifactId>org.wso2.carbon.apimgt.webapp.publisher</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - API Management Webapp Publisher</name>
|
<name>WSO2 Carbon - API Management Webapp Publisher</name>
|
||||||
<description>WSO2 Carbon - API Management Webapp Publisher</description>
|
<description>WSO2 Carbon - API Management Webapp Publisher</description>
|
||||||
|
|||||||
@ -22,13 +22,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>carbon-devicemgt</artifactId>
|
<artifactId>carbon-devicemgt</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>apimgt-extensions</artifactId>
|
<artifactId>apimgt-extensions</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>WSO2 Carbon - API Management Extensions Component</name>
|
<name>WSO2 Carbon - API Management Extensions Component</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>certificate-mgt</artifactId>
|
<artifactId>certificate-mgt</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>certificate-mgt</artifactId>
|
<artifactId>certificate-mgt</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -21,13 +21,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>certificate-mgt</artifactId>
|
<artifactId>certificate-mgt</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.certificate.mgt.core</artifactId>
|
<artifactId>org.wso2.carbon.certificate.mgt.core</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - Certificate Management Core</name>
|
<name>WSO2 Carbon - Certificate Management Core</name>
|
||||||
<description>WSO2 Carbon - Certificate Management Core</description>
|
<description>WSO2 Carbon - Certificate Management Core</description>
|
||||||
|
|||||||
@ -22,14 +22,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>carbon-devicemgt</artifactId>
|
<artifactId>carbon-devicemgt</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>certificate-mgt</artifactId>
|
<artifactId>certificate-mgt</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>WSO2 Carbon - Certificate Management Component</name>
|
<name>WSO2 Carbon - Certificate Management Component</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>device-mgt-extensions</artifactId>
|
<artifactId>device-mgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>device-mgt-extensions</artifactId>
|
<artifactId>device-mgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>device-mgt-extensions</artifactId>
|
<artifactId>device-mgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>device-mgt-extensions</artifactId>
|
<artifactId>device-mgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>device-mgt-extensions</artifactId>
|
<artifactId>device-mgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>device-mgt-extensions</artifactId>
|
<artifactId>device-mgt-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>carbon-devicemgt</artifactId>
|
<artifactId>carbon-devicemgt</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>device-mgt</artifactId>
|
<artifactId>device-mgt</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>device-mgt</artifactId>
|
<artifactId>device-mgt</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>device-mgt</artifactId>
|
<artifactId>device-mgt</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>device-mgt</artifactId>
|
<artifactId>device-mgt</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>device-mgt</artifactId>
|
<artifactId>device-mgt</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
@ -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>
|
||||||
@ -358,7 +355,11 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>javassist</groupId>
|
<groupId>javassist</groupId>
|
||||||
<artifactId>javassist</artifactId>
|
<artifactId>javassist</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.powermock</groupId>
|
||||||
|
<artifactId>powermock-api-mockito</artifactId>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
@ -20,11 +20,10 @@ package org.wso2.carbon.device.mgt.core.authorization;
|
|||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
import org.wso2.carbon.CarbonConstants;
|
||||||
import org.wso2.carbon.context.CarbonContext;
|
import org.wso2.carbon.context.CarbonContext;
|
||||||
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.EnrolmentInfo;
|
|
||||||
import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationException;
|
import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationException;
|
||||||
import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationService;
|
import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationService;
|
||||||
import org.wso2.carbon.device.mgt.common.authorization.DeviceAuthorizationResult;
|
import org.wso2.carbon.device.mgt.common.authorization.DeviceAuthorizationResult;
|
||||||
@ -36,11 +35,9 @@ import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder;
|
|||||||
import org.wso2.carbon.device.mgt.core.permission.mgt.PermissionUtils;
|
import org.wso2.carbon.device.mgt.core.permission.mgt.PermissionUtils;
|
||||||
import org.wso2.carbon.user.api.UserRealm;
|
import org.wso2.carbon.user.api.UserRealm;
|
||||||
import org.wso2.carbon.user.api.UserStoreException;
|
import org.wso2.carbon.user.api.UserStoreException;
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implementation of DeviceAccessAuthorization service.
|
* Implementation of DeviceAccessAuthorization service.
|
||||||
@ -233,7 +230,7 @@ public class DeviceAccessAuthorizationServiceImpl implements DeviceAccessAuthori
|
|||||||
return userRealm.getAuthorizationManager()
|
return userRealm.getAuthorizationManager()
|
||||||
.isUserAuthorized(removeTenantDomain(username),
|
.isUserAuthorized(removeTenantDomain(username),
|
||||||
PermissionUtils.getAbsolutePermissionPath(CDM_ADMIN_PERMISSION),
|
PermissionUtils.getAbsolutePermissionPath(CDM_ADMIN_PERMISSION),
|
||||||
PermissionMethod.UI_EXECUTE);
|
CarbonConstants.UI_PERMISSION_ACTION);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -265,22 +262,6 @@ public class DeviceAccessAuthorizationServiceImpl implements DeviceAccessAuthori
|
|||||||
return PermissionUtils.putPermission(permission);
|
return PermissionUtils.putPermission(permission);
|
||||||
}
|
}
|
||||||
|
|
||||||
private Map<String, String> getOwnershipOfDevices(List<Device> devices) {
|
|
||||||
Map<String, String> ownershipData = new HashMap<>();
|
|
||||||
EnrolmentInfo enrolmentInfo;
|
|
||||||
String owner;
|
|
||||||
for (Device device : devices) {
|
|
||||||
enrolmentInfo = device.getEnrolmentInfo();
|
|
||||||
if (enrolmentInfo != null) {
|
|
||||||
owner = enrolmentInfo.getOwner();
|
|
||||||
if (owner != null && !owner.isEmpty()) {
|
|
||||||
ownershipData.put(device.getDeviceIdentifier(), owner);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return ownershipData;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static final class PermissionMethod {
|
public static final class PermissionMethod {
|
||||||
public static final String READ = "read";
|
public static final String READ = "read";
|
||||||
public static final String WRITE = "write";
|
public static final String WRITE = "write";
|
||||||
|
|||||||
@ -122,7 +122,14 @@ public abstract class AbstractDeviceDAOImpl implements DeviceDAO {
|
|||||||
"e.DATE_OF_ENROLMENT, e.ID AS ENROLMENT_ID FROM DM_ENROLMENT e, (SELECT d.ID, d.DESCRIPTION, d.NAME, " +
|
"e.DATE_OF_ENROLMENT, e.ID AS ENROLMENT_ID FROM DM_ENROLMENT e, (SELECT d.ID, d.DESCRIPTION, d.NAME, " +
|
||||||
"t.NAME AS DEVICE_TYPE, d.DEVICE_IDENTIFICATION FROM DM_DEVICE d, DM_DEVICE_TYPE t WHERE " +
|
"t.NAME AS DEVICE_TYPE, d.DEVICE_IDENTIFICATION FROM DM_DEVICE d, DM_DEVICE_TYPE t WHERE " +
|
||||||
"t.NAME = ? AND t.ID = d.DEVICE_TYPE_ID AND d.DEVICE_IDENTIFICATION = ? AND d.TENANT_ID = ?) d1 WHERE d1.ID = e.DEVICE_ID " +
|
"t.NAME = ? AND t.ID = d.DEVICE_TYPE_ID AND d.DEVICE_IDENTIFICATION = ? AND d.TENANT_ID = ?) d1 WHERE d1.ID = e.DEVICE_ID " +
|
||||||
"AND TENANT_ID = ? ORDER BY e.DATE_OF_LAST_UPDATE DESC";
|
"AND TENANT_ID = ? ORDER BY e.DATE_OF_LAST_UPDATE DESC, e.STATUS ASC";
|
||||||
|
// Status adeed as an orderby clause to fix a bug : when an existing device is
|
||||||
|
// re-enrolled, earlier enrollment is marked as removed and a new enrollment is added.
|
||||||
|
// However, both enrollments share the same time stamp. When retrieving the device
|
||||||
|
// due to same timestamp, enrollment information is incorrect, intermittently. Hence
|
||||||
|
// status also should be taken into consideration when ordering. This should not present a
|
||||||
|
// problem for other status transitions, as there would be an intermediary removed
|
||||||
|
// state in between.
|
||||||
stmt = conn.prepareStatement(sql);
|
stmt = conn.prepareStatement(sql);
|
||||||
stmt.setString(1, deviceIdentifier.getType());
|
stmt.setString(1, deviceIdentifier.getType());
|
||||||
stmt.setString(2, deviceIdentifier.getId());
|
stmt.setString(2, deviceIdentifier.getId());
|
||||||
|
|||||||
@ -390,7 +390,7 @@ public class GeoLocationProviderServiceImpl implements GeoLocationProviderServic
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private EventProcessorAdminServiceStub getEventProcessorAdminServiceStub() throws JWTClientException {
|
protected EventProcessorAdminServiceStub getEventProcessorAdminServiceStub() throws JWTClientException {
|
||||||
//send alert to event-processing
|
//send alert to event-processing
|
||||||
String eventProcessorAdminServiceWSUrl = Utils.replaceSystemProperty(GeoServices.DAS_URL) +
|
String eventProcessorAdminServiceWSUrl = Utils.replaceSystemProperty(GeoServices.DAS_URL) +
|
||||||
"/services/EventProcessorAdminService";
|
"/services/EventProcessorAdminService";
|
||||||
|
|||||||
@ -118,6 +118,8 @@ public class ConfigOperationDAOImpl extends GenericOperationDAOImpl {
|
|||||||
bais = new ByteArrayInputStream(operationDetails);
|
bais = new ByteArrayInputStream(operationDetails);
|
||||||
ois = new ObjectInputStream(bais);
|
ois = new ObjectInputStream(bais);
|
||||||
configOperation = (ConfigOperation) ois.readObject();
|
configOperation = (ConfigOperation) ois.readObject();
|
||||||
|
configOperation.setId(rs.getInt("OPERATION_ID"));
|
||||||
|
configOperation.setEnabled(rs.getBoolean("ENABLED"));
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
throw new OperationManagementDAOException("IO Error occurred while de serialize the policy operation " +
|
throw new OperationManagementDAOException("IO Error occurred while de serialize the policy operation " +
|
||||||
|
|||||||
@ -481,8 +481,6 @@ public interface DeviceManagementProviderService {
|
|||||||
*/
|
*/
|
||||||
PlatformConfiguration getConfiguration(String deviceType) throws DeviceManagementException;
|
PlatformConfiguration getConfiguration(String deviceType) throws DeviceManagementException;
|
||||||
|
|
||||||
void updateDeviceEnrolmentInfo(Device device, EnrolmentInfo.Status active) throws DeviceManagementException;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method is used to check whether the device is enrolled with the give user.
|
* This method is used to check whether the device is enrolled with the give user.
|
||||||
*
|
*
|
||||||
|
|||||||
@ -1741,6 +1741,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
|||||||
if (requireDeviceInfo) {
|
if (requireDeviceInfo) {
|
||||||
this.getAllDeviceInfo(userDevices);
|
this.getAllDeviceInfo(userDevices);
|
||||||
}
|
}
|
||||||
|
devices.addAll(userDevices);
|
||||||
}
|
}
|
||||||
return devices;
|
return devices;
|
||||||
}
|
}
|
||||||
@ -1890,41 +1891,6 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void updateDeviceEnrolmentInfo(Device device, EnrolmentInfo.Status status) throws DeviceManagementException {
|
|
||||||
try {
|
|
||||||
if (device == null || status == null) {
|
|
||||||
String msg = "Received incomplete data for updateDeviceEnrolmentInfo";
|
|
||||||
log.error(msg);
|
|
||||||
throw new DeviceManagementException(msg);
|
|
||||||
}
|
|
||||||
if (log.isDebugEnabled()) {
|
|
||||||
log.debug("Updating enrolment for device: " + device.getId() + " of type '" + device.getType() + "'");
|
|
||||||
}
|
|
||||||
DeviceManagementDAOFactory.beginTransaction();
|
|
||||||
device.getEnrolmentInfo().setDateOfLastUpdate(new Date().getTime());
|
|
||||||
device.getEnrolmentInfo().setStatus(status);
|
|
||||||
deviceDAO.updateDevice(device, this.getTenantId());
|
|
||||||
DeviceManagementDAOFactory.commitTransaction();
|
|
||||||
} catch (DeviceManagementDAOException e) {
|
|
||||||
DeviceManagementDAOFactory.rollbackTransaction();
|
|
||||||
String msg = "Error occurred while updating device enrolment status for " + device.getDeviceIdentifier() +
|
|
||||||
" of type " + device.getType();
|
|
||||||
log.error(msg, e);
|
|
||||||
throw new DeviceManagementException(msg, e);
|
|
||||||
} catch (TransactionManagementException e) {
|
|
||||||
String msg = "Error occurred while initiating transaction";
|
|
||||||
log.error(msg, e);
|
|
||||||
throw new DeviceManagementException(msg, e);
|
|
||||||
} catch (Exception e) {
|
|
||||||
String msg = "Error occurred in updateDeviceEnrolmentInfo";
|
|
||||||
log.error(msg, e);
|
|
||||||
throw new DeviceManagementException(msg, e);
|
|
||||||
} finally {
|
|
||||||
DeviceManagementDAOFactory.closeConnection();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void registerDeviceManagementService(DeviceManagementService deviceManagementService) {
|
public void registerDeviceManagementService(DeviceManagementService deviceManagementService) {
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
|
|||||||
@ -0,0 +1,356 @@
|
|||||||
|
/*
|
||||||
|
* 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.core.authorization;
|
||||||
|
|
||||||
|
import org.apache.commons.dbcp.BasicDataSource;
|
||||||
|
import org.apache.commons.logging.Log;
|
||||||
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
import org.mockito.Mockito;
|
||||||
|
import org.testng.Assert;
|
||||||
|
import org.testng.annotations.AfterClass;
|
||||||
|
import org.testng.annotations.BeforeClass;
|
||||||
|
import org.testng.annotations.Test;
|
||||||
|
import org.wso2.carbon.CarbonConstants;
|
||||||
|
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||||
|
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.DeviceNotFoundException;
|
||||||
|
import org.wso2.carbon.device.mgt.common.EnrolmentInfo;
|
||||||
|
import org.wso2.carbon.device.mgt.common.authorization.DeviceAccessAuthorizationException;
|
||||||
|
import org.wso2.carbon.device.mgt.common.authorization.DeviceAuthorizationResult;
|
||||||
|
import org.wso2.carbon.device.mgt.common.group.mgt.GroupManagementException;
|
||||||
|
import org.wso2.carbon.device.mgt.common.group.mgt.RoleDoesNotExistException;
|
||||||
|
import org.wso2.carbon.device.mgt.common.permission.mgt.PermissionManagementException;
|
||||||
|
import org.wso2.carbon.device.mgt.core.TestDeviceManagementService;
|
||||||
|
import org.wso2.carbon.device.mgt.core.common.TestDataHolder;
|
||||||
|
import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager;
|
||||||
|
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder;
|
||||||
|
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementServiceComponent;
|
||||||
|
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
||||||
|
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderServiceImpl;
|
||||||
|
import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderService;
|
||||||
|
import org.wso2.carbon.device.mgt.core.service.GroupManagementProviderServiceImpl;
|
||||||
|
import org.wso2.carbon.registry.core.config.RegistryContext;
|
||||||
|
import org.wso2.carbon.registry.core.exceptions.RegistryException;
|
||||||
|
import org.wso2.carbon.registry.core.internal.RegistryDataHolder;
|
||||||
|
import org.wso2.carbon.registry.core.jdbc.realm.InMemoryRealmService;
|
||||||
|
import org.wso2.carbon.registry.core.service.RegistryService;
|
||||||
|
import org.wso2.carbon.user.api.UserStoreException;
|
||||||
|
import org.wso2.carbon.user.api.UserStoreManager;
|
||||||
|
import org.wso2.carbon.user.api.Permission;
|
||||||
|
import org.wso2.carbon.user.core.service.RealmService;
|
||||||
|
import org.wso2.carbon.user.core.tenant.JDBCTenantManager;
|
||||||
|
import org.wso2.carbon.utils.multitenancy.MultitenantConstants;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unit tests for DeviceAccessAuthorizationServiceTest
|
||||||
|
*/
|
||||||
|
public class DeviceAccessAuthorizationServiceTest {
|
||||||
|
private static final Log log = LogFactory.getLog(DeviceAccessAuthorizationServiceTest.class);
|
||||||
|
private static final String DEVICE_TYPE = "AUTH_SERVICE_TEST_TYPE";
|
||||||
|
private static final int NO_OF_DEVICES = 5;
|
||||||
|
private static final String ADMIN_USER = "admin";
|
||||||
|
private static final String NON_ADMIN_ALLOWED_USER = "nonAdmin";
|
||||||
|
private static final String NORMAL_USER = "normal";
|
||||||
|
private static final String ADMIN_ROLE = "adminRole";
|
||||||
|
private static final String NON_ADMIN_ROLE = "nonAdminRole";
|
||||||
|
private static final String DEFAULT_GROUP = "defaultGroup";
|
||||||
|
private static final String DEVICE_ID_PREFIX = "AUTH-SERVICE-TEST-DEVICE-ID-";
|
||||||
|
private static final String USER_CLAIM_EMAIL_ADDRESS = "http://wso2.org/claims/emailaddress";
|
||||||
|
private static final String USER_CLAIM_FIRST_NAME = "http://wso2.org/claims/givenname";
|
||||||
|
private static final String USER_CLAIM_LAST_NAME = "http://wso2.org/claims/lastname";
|
||||||
|
private static final String ADMIN_PERMISSION = "/permission/admin";
|
||||||
|
private static final String NON_ADMIN_PERMISSION = "/permission/admin/manage/device-mgt/devices/owning-device/view";
|
||||||
|
private static final String FIRST_NAME = "firstName";
|
||||||
|
private static final String LAST_NAME = "lastName";
|
||||||
|
private static final String EMAIL = "email";
|
||||||
|
private static final String PASSWORD = "password";
|
||||||
|
private DeviceAccessAuthorizationServiceImpl deviceAccessAuthorizationService;
|
||||||
|
private List<DeviceIdentifier> deviceIds = new ArrayList<>();
|
||||||
|
private List<DeviceIdentifier> groupDeviceIds = new ArrayList<>();
|
||||||
|
private Map<String, String> defaultUserClaims;
|
||||||
|
|
||||||
|
@BeforeClass
|
||||||
|
public void init() throws Exception {
|
||||||
|
DeviceConfigurationManager.getInstance().initConfig();
|
||||||
|
log.info("Initializing test environment to test DeviceAccessAuthorization Class");
|
||||||
|
for (int i = 0; i < NO_OF_DEVICES; i++) {
|
||||||
|
deviceIds.add(new DeviceIdentifier(DEVICE_ID_PREFIX + i, DEVICE_TYPE));
|
||||||
|
}
|
||||||
|
List<Device> devices = TestDataHolder.generateDummyDeviceData(this.deviceIds);
|
||||||
|
DeviceManagementProviderService deviceMgtService = new DeviceManagementProviderServiceImpl();
|
||||||
|
DeviceManagementServiceComponent.notifyStartupListeners();
|
||||||
|
DeviceManagementDataHolder.getInstance().setDeviceManagementProvider(deviceMgtService);
|
||||||
|
DeviceManagementDataHolder.getInstance().setRegistryService(getRegistryService());
|
||||||
|
DeviceManagementDataHolder.getInstance().setGroupManagementProviderService(new
|
||||||
|
GroupManagementProviderServiceImpl());
|
||||||
|
DeviceManagementDataHolder.getInstance().setDeviceTaskManagerService(null);
|
||||||
|
deviceMgtService.registerDeviceType(new TestDeviceManagementService(DEVICE_TYPE,
|
||||||
|
MultitenantConstants.SUPER_TENANT_DOMAIN_NAME));
|
||||||
|
for (Device device : devices) {
|
||||||
|
deviceMgtService.enrollDevice(device);
|
||||||
|
}
|
||||||
|
List<Device> returnedDevices = deviceMgtService.getAllDevices(DEVICE_TYPE);
|
||||||
|
for (Device device : returnedDevices) {
|
||||||
|
if (!device.getDeviceIdentifier().startsWith(DEVICE_ID_PREFIX)) {
|
||||||
|
throw new Exception("Incorrect device with ID - " + device.getDeviceIdentifier() + " returned!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
deviceAccessAuthorizationService = Mockito.mock(DeviceAccessAuthorizationServiceImpl.class,
|
||||||
|
Mockito.CALLS_REAL_METHODS);
|
||||||
|
defaultUserClaims = buildDefaultUserClaims(FIRST_NAME, LAST_NAME, EMAIL);
|
||||||
|
initializeTestEnvironment();
|
||||||
|
//Starting tenant flow
|
||||||
|
PrivilegedCarbonContext.startTenantFlow();
|
||||||
|
PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantId(MultitenantConstants.SUPER_TENANT_ID, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
private RegistryService getRegistryService() throws RegistryException, UserStoreException {
|
||||||
|
RealmService realmService = new InMemoryRealmService();
|
||||||
|
PrivilegedCarbonContext.getThreadLocalCarbonContext().setUsername(ADMIN_USER);
|
||||||
|
BasicDataSource dataSource = new BasicDataSource();
|
||||||
|
String connectionUrl = "jdbc:h2:./target/databasetest/CARBON_TEST";
|
||||||
|
dataSource.setUrl(connectionUrl);
|
||||||
|
dataSource.setDriverClassName("org.h2.Driver");
|
||||||
|
JDBCTenantManager jdbcTenantManager = new JDBCTenantManager(dataSource,
|
||||||
|
MultitenantConstants.SUPER_TENANT_DOMAIN_NAME);
|
||||||
|
realmService.setTenantManager(jdbcTenantManager);
|
||||||
|
RegistryDataHolder.getInstance().setRealmService(realmService);
|
||||||
|
DeviceManagementDataHolder.getInstance().setRealmService(realmService);
|
||||||
|
InputStream is = this.getClass().getClassLoader().getResourceAsStream("carbon-home/repository/conf/registry.xml");
|
||||||
|
RegistryContext context = RegistryContext.getBaseInstance(is, realmService);
|
||||||
|
context.setSetup(true);
|
||||||
|
return context.getEmbeddedRegistryService();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initializeTestEnvironment() throws UserStoreException, GroupManagementException,
|
||||||
|
RoleDoesNotExistException, DeviceNotFoundException {
|
||||||
|
//creating UI permission
|
||||||
|
Permission adminPermission = new Permission(ADMIN_PERMISSION, CarbonConstants.UI_PERMISSION_ACTION);
|
||||||
|
Permission deviceViewPermission = new Permission(NON_ADMIN_PERMISSION, CarbonConstants.UI_PERMISSION_ACTION);
|
||||||
|
UserStoreManager userStoreManager = DeviceManagementDataHolder.getInstance().getRealmService()
|
||||||
|
.getTenantUserRealm(MultitenantConstants.SUPER_TENANT_ID).getUserStoreManager();
|
||||||
|
//Adding a non Admin User
|
||||||
|
userStoreManager.addUser(NON_ADMIN_ALLOWED_USER, PASSWORD, null, defaultUserClaims, null);
|
||||||
|
//Adding a normal user
|
||||||
|
userStoreManager.addUser(NORMAL_USER, PASSWORD, null, defaultUserClaims, null);
|
||||||
|
//Adding role with permission to Admin user
|
||||||
|
userStoreManager.addRole(ADMIN_ROLE, new String[]{ADMIN_USER}, new Permission[]{adminPermission});
|
||||||
|
//Adding role with permission to non Admin user
|
||||||
|
userStoreManager.addRole(NON_ADMIN_ROLE, new String[]{NON_ADMIN_ALLOWED_USER},
|
||||||
|
new Permission[]{deviceViewPermission});
|
||||||
|
//Creating default group
|
||||||
|
GroupManagementProviderService groupManagementProviderService = DeviceManagementDataHolder.getInstance()
|
||||||
|
.getGroupManagementProviderService();
|
||||||
|
groupManagementProviderService.createDefaultGroup(DEFAULT_GROUP);
|
||||||
|
int groupId = groupManagementProviderService.getGroup(DEFAULT_GROUP).getGroupId();
|
||||||
|
//Sharing group with admin and non admin roles
|
||||||
|
groupManagementProviderService.manageGroupSharing(groupId, new ArrayList<>(Arrays.asList(ADMIN_ROLE,
|
||||||
|
NON_ADMIN_ROLE)));
|
||||||
|
//Adding first 2 devices to the group
|
||||||
|
groupDeviceIds.add(deviceIds.get(0));
|
||||||
|
groupDeviceIds.add(deviceIds.get(1));
|
||||||
|
groupManagementProviderService.addDevices(groupId, groupDeviceIds);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Map<String, String> buildDefaultUserClaims(String firstName, String lastName, String emailAddress) {
|
||||||
|
Map<String, String> defaultUserClaims = new HashMap<>();
|
||||||
|
defaultUserClaims.put(USER_CLAIM_FIRST_NAME, firstName);
|
||||||
|
defaultUserClaims.put(USER_CLAIM_LAST_NAME, lastName);
|
||||||
|
defaultUserClaims.put(USER_CLAIM_EMAIL_ADDRESS, emailAddress);
|
||||||
|
if (log.isDebugEnabled()) {
|
||||||
|
log.debug("Default claim map is created for new user: " + defaultUserClaims.toString());
|
||||||
|
}
|
||||||
|
return defaultUserClaims;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Admin User test cases
|
||||||
|
@Test(description = "Check authorization giving a device identifier and username")
|
||||||
|
public void userAuthDevIdUserName() throws Exception {
|
||||||
|
PrivilegedCarbonContext.getThreadLocalCarbonContext().setUsername(ADMIN_USER);
|
||||||
|
for (DeviceIdentifier deviceId : deviceIds) {
|
||||||
|
Assert.assertTrue(deviceAccessAuthorizationService.isUserAuthorized(deviceId, ADMIN_USER),
|
||||||
|
"Device access authorization for admin user failed");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(description = "Authorization for multiple device identifiers and username")
|
||||||
|
public void userAuthDevIdUserNameResult() throws DeviceAccessAuthorizationException {
|
||||||
|
PrivilegedCarbonContext.getThreadLocalCarbonContext().setUsername(ADMIN_USER);
|
||||||
|
DeviceAuthorizationResult deviceAuthorizationResult = deviceAccessAuthorizationService.
|
||||||
|
isUserAuthorized(deviceIds, ADMIN_USER);
|
||||||
|
Assert.assertEquals(deviceAuthorizationResult.getAuthorizedDevices().size(), 5,
|
||||||
|
"Expected 5 authorized devices for admin user");
|
||||||
|
Assert.assertEquals(deviceAuthorizationResult.getUnauthorizedDevices().size(), 0,
|
||||||
|
"Expected 0 un-authorized devices for admin user");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(description = "Authorization by device identifier")
|
||||||
|
public void userAuthDevId() throws Exception {
|
||||||
|
PrivilegedCarbonContext.getThreadLocalCarbonContext().setUsername(ADMIN_USER);
|
||||||
|
for (DeviceIdentifier deviceId : deviceIds) {
|
||||||
|
Assert.assertTrue(deviceAccessAuthorizationService.isUserAuthorized(deviceId),
|
||||||
|
"Authorize user from device identifier failed");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(description = "Authorization by multiple device identifiers")
|
||||||
|
public void userAuthDevIdResult() throws Exception {
|
||||||
|
PrivilegedCarbonContext.getThreadLocalCarbonContext().setUsername(ADMIN_USER);
|
||||||
|
DeviceAuthorizationResult deviceAuthorizationResult = deviceAccessAuthorizationService.
|
||||||
|
isUserAuthorized(deviceIds);
|
||||||
|
Assert.assertEquals(deviceAuthorizationResult.getAuthorizedDevices().size(), 5,
|
||||||
|
"Expected 5 authorized devices for admin user");
|
||||||
|
Assert.assertEquals(deviceAuthorizationResult.getUnauthorizedDevices().size(), 0,
|
||||||
|
"Expected 0 un-authorized devices for admin user");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(description = "Check current user is a device administrator")
|
||||||
|
public void isDevAdminAdminUser() throws DeviceAccessAuthorizationException, UserStoreException,
|
||||||
|
PermissionManagementException {
|
||||||
|
PrivilegedCarbonContext.getThreadLocalCarbonContext().setUsername(ADMIN_USER);
|
||||||
|
Assert.assertTrue(deviceAccessAuthorizationService.isDeviceAdminUser(),
|
||||||
|
"Admin user failed to authorize as admin");
|
||||||
|
}
|
||||||
|
|
||||||
|
//Non admin user tests
|
||||||
|
@Test(description = "Check authorization by device identifier and permission Allowed test case")
|
||||||
|
public void userAuthDevIdPermission() throws DeviceAccessAuthorizationException, UserStoreException,
|
||||||
|
PermissionManagementException {
|
||||||
|
PrivilegedCarbonContext.getThreadLocalCarbonContext().setUsername(NON_ADMIN_ALLOWED_USER);
|
||||||
|
Assert.assertTrue(deviceAccessAuthorizationService.isUserAuthorized(deviceIds.get(0),
|
||||||
|
new String[]{NON_ADMIN_PERMISSION}), "Non admin user with permissions attempt to access failed");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(description = "Check authorization by device identifier and permission Not-allowed test case")
|
||||||
|
public void userAuthFalseDevIdPermission() throws DeviceAccessAuthorizationException, UserStoreException,
|
||||||
|
PermissionManagementException {
|
||||||
|
PrivilegedCarbonContext.getThreadLocalCarbonContext().setUsername(NON_ADMIN_ALLOWED_USER);
|
||||||
|
Assert.assertFalse(deviceAccessAuthorizationService.isUserAuthorized(deviceIds.get(3),
|
||||||
|
new String[]{NON_ADMIN_PERMISSION}), "Non admin user accessing not allowed device authorized");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(description = "Authorization by giving a device identifier, username and permission Allowed test case")
|
||||||
|
public void userAuthDevIdUserNamePermission() throws DeviceAccessAuthorizationException, UserStoreException,
|
||||||
|
PermissionManagementException {
|
||||||
|
PrivilegedCarbonContext.getThreadLocalCarbonContext().setUsername(NON_ADMIN_ALLOWED_USER);
|
||||||
|
Assert.assertTrue(deviceAccessAuthorizationService.isUserAuthorized(deviceIds.get(0), NON_ADMIN_ALLOWED_USER,
|
||||||
|
new String[]{NON_ADMIN_PERMISSION}), "Non admin user with permissions attempt to access failed");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(description = "Authorization by giving a device identifier, username and permission Not-allowed test case")
|
||||||
|
public void userAuthFalseDevIdUserNamePermission() throws DeviceAccessAuthorizationException, UserStoreException,
|
||||||
|
PermissionManagementException {
|
||||||
|
PrivilegedCarbonContext.getThreadLocalCarbonContext().setUsername(NON_ADMIN_ALLOWED_USER);
|
||||||
|
Assert.assertFalse(deviceAccessAuthorizationService.isUserAuthorized(deviceIds.get(3), NON_ADMIN_ALLOWED_USER,
|
||||||
|
new String[]{NON_ADMIN_PERMISSION}), "Non admin user accessing not allowed device authorized");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(description = "Authorization by giving device identifiers and permission")
|
||||||
|
public void userAuthDevIdPermissionResult() throws DeviceAccessAuthorizationException {
|
||||||
|
PrivilegedCarbonContext.getThreadLocalCarbonContext().setUsername(NON_ADMIN_ALLOWED_USER);
|
||||||
|
DeviceAuthorizationResult deviceAuthorizationResult = deviceAccessAuthorizationService.
|
||||||
|
isUserAuthorized(deviceIds, new String[]{NON_ADMIN_PERMISSION});
|
||||||
|
Assert.assertEquals(deviceAuthorizationResult.getAuthorizedDevices().size(), 2,
|
||||||
|
"Non admin user authentication to 2 devices in a shared group failed");
|
||||||
|
Assert.assertEquals(deviceAuthorizationResult.getUnauthorizedDevices().size(), 3,
|
||||||
|
"Non admin user authentication to 3 devices in a non-shared group failed");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(description = "Authorization by giving device identifiers, username and permission")
|
||||||
|
public void userAuthDevIdUserNamePermissionResult() throws DeviceAccessAuthorizationException {
|
||||||
|
PrivilegedCarbonContext.getThreadLocalCarbonContext().setUsername(NON_ADMIN_ALLOWED_USER);
|
||||||
|
DeviceAuthorizationResult deviceAuthorizationResult = deviceAccessAuthorizationService.
|
||||||
|
isUserAuthorized(deviceIds, NON_ADMIN_ALLOWED_USER, new String[]{NON_ADMIN_PERMISSION});
|
||||||
|
Assert.assertEquals(deviceAuthorizationResult.getAuthorizedDevices().size(), 2,
|
||||||
|
"Non admin user authentication to 2 devices in a shared group failed");
|
||||||
|
Assert.assertEquals(deviceAuthorizationResult.getUnauthorizedDevices().size(), 3,
|
||||||
|
"Non admin user authentication to 3 devices in a non-shared group failed");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(description = "Authorization for device admin called by normal user")
|
||||||
|
public void isDevAdminNormalUser() throws DeviceAccessAuthorizationException {
|
||||||
|
PrivilegedCarbonContext.getThreadLocalCarbonContext().setUsername(NORMAL_USER);
|
||||||
|
Assert.assertFalse(deviceAccessAuthorizationService.isDeviceAdminUser(), "Normal user allowed as admin user");
|
||||||
|
}
|
||||||
|
|
||||||
|
//Check branches of isUserAuthorized
|
||||||
|
@Test(description = "Checking branch - user is device owner")
|
||||||
|
public void nonAdminDeviceOwner() throws DeviceAccessAuthorizationException, DeviceManagementException {
|
||||||
|
|
||||||
|
//Creating a temporary device
|
||||||
|
Device device = new Device();
|
||||||
|
EnrolmentInfo enrolmentInfo = new EnrolmentInfo(NON_ADMIN_ALLOWED_USER, EnrolmentInfo.OwnerShip.BYOD, null);
|
||||||
|
device.setEnrolmentInfo(enrolmentInfo);
|
||||||
|
device.setName("temp");
|
||||||
|
device.setType(DEVICE_TYPE);
|
||||||
|
device.setDeviceIdentifier("1234");
|
||||||
|
DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().enrollDevice(device);
|
||||||
|
|
||||||
|
//temporary device identifier
|
||||||
|
DeviceIdentifier deviceIdentifier = new DeviceIdentifier();
|
||||||
|
deviceIdentifier.setType(DEVICE_TYPE);
|
||||||
|
deviceIdentifier.setId("1234");
|
||||||
|
|
||||||
|
List<DeviceIdentifier> tempList = new ArrayList<>();
|
||||||
|
tempList.add(deviceIdentifier);
|
||||||
|
|
||||||
|
PrivilegedCarbonContext.getThreadLocalCarbonContext().setUsername(NON_ADMIN_ALLOWED_USER);
|
||||||
|
DeviceAuthorizationResult deviceAuthorizationResult = deviceAccessAuthorizationService.
|
||||||
|
isUserAuthorized(tempList, NON_ADMIN_ALLOWED_USER, new String[]{NON_ADMIN_PERMISSION});
|
||||||
|
Assert.assertEquals(deviceAuthorizationResult.getAuthorizedDevices().size(), 1,
|
||||||
|
"Non admin device owner failed to access device");
|
||||||
|
Assert.assertEquals(deviceAuthorizationResult.getUnauthorizedDevices().size(), 0,
|
||||||
|
"Non admin device owner failed to access device");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(description = "Check authorization without giving permissions")
|
||||||
|
public void userAuthWithoutPermissions() throws DeviceAccessAuthorizationException {
|
||||||
|
PrivilegedCarbonContext.getThreadLocalCarbonContext().setUsername(NON_ADMIN_ALLOWED_USER);
|
||||||
|
DeviceAuthorizationResult deviceAuthorizationResult = deviceAccessAuthorizationService.
|
||||||
|
isUserAuthorized(deviceIds, NON_ADMIN_ALLOWED_USER, null);
|
||||||
|
Assert.assertEquals(deviceAuthorizationResult.getAuthorizedDevices().size(), 0,
|
||||||
|
"Non admin user try authentication without permission failed");
|
||||||
|
Assert.assertEquals(deviceAuthorizationResult.getUnauthorizedDevices().size(), 5,
|
||||||
|
"Non admin user try authentication without permission failed");
|
||||||
|
}
|
||||||
|
|
||||||
|
//check Exception cases
|
||||||
|
@Test(description = "check a null username in isUserAuthorized method")
|
||||||
|
public void callUserAuthWithoutUsername() throws DeviceAccessAuthorizationException {
|
||||||
|
PrivilegedCarbonContext.getThreadLocalCarbonContext().setUsername(NON_ADMIN_ALLOWED_USER);
|
||||||
|
DeviceAuthorizationResult deviceAuthorizationResult = deviceAccessAuthorizationService.
|
||||||
|
isUserAuthorized(deviceIds, "", new String[]{NON_ADMIN_PERMISSION});
|
||||||
|
Assert.assertEquals(deviceAuthorizationResult, null,
|
||||||
|
"Not null result for empty username in isUserAuthorized method");
|
||||||
|
}
|
||||||
|
|
||||||
|
@AfterClass
|
||||||
|
public void clearAll() {
|
||||||
|
PrivilegedCarbonContext.endTenantFlow();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -80,7 +80,7 @@ public abstract class BaseDeviceManagementTest {
|
|||||||
NotificationManagementDAOFactory.init(dataSource);
|
NotificationManagementDAOFactory.init(dataSource);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initServices() throws DeviceManagementException, RegistryException {
|
protected void initServices() throws DeviceManagementException, RegistryException {
|
||||||
DeviceConfigurationManager.getInstance().initConfig();
|
DeviceConfigurationManager.getInstance().initConfig();
|
||||||
DeviceManagementProviderService deviceMgtService = new DeviceManagementProviderServiceImpl();
|
DeviceManagementProviderService deviceMgtService = new DeviceManagementProviderServiceImpl();
|
||||||
DeviceManagementServiceComponent.notifyStartupListeners();
|
DeviceManagementServiceComponent.notifyStartupListeners();
|
||||||
|
|||||||
@ -20,6 +20,7 @@ import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
|||||||
import org.wso2.carbon.device.mgt.common.EnrolmentInfo;
|
import org.wso2.carbon.device.mgt.common.EnrolmentInfo;
|
||||||
import org.wso2.carbon.device.mgt.common.PaginationRequest;
|
import org.wso2.carbon.device.mgt.common.PaginationRequest;
|
||||||
import org.wso2.carbon.device.mgt.common.app.mgt.Application;
|
import org.wso2.carbon.device.mgt.common.app.mgt.Application;
|
||||||
|
import org.wso2.carbon.device.mgt.common.device.details.DeviceInfo;
|
||||||
import org.wso2.carbon.device.mgt.common.group.mgt.DeviceGroup;
|
import org.wso2.carbon.device.mgt.common.group.mgt.DeviceGroup;
|
||||||
import org.wso2.carbon.device.mgt.common.notification.mgt.Notification;
|
import org.wso2.carbon.device.mgt.common.notification.mgt.Notification;
|
||||||
import org.wso2.carbon.device.mgt.common.notification.mgt.Notification;
|
import org.wso2.carbon.device.mgt.common.notification.mgt.Notification;
|
||||||
@ -55,6 +56,28 @@ public class TestDataHolder {
|
|||||||
return device;
|
return device;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static DeviceInfo generateDummyDeviceInfo() {
|
||||||
|
DeviceInfo deviceInfo = new DeviceInfo();
|
||||||
|
deviceInfo.setIMEI("IMEI-12345");
|
||||||
|
deviceInfo.setIMSI("IMSI-12344");
|
||||||
|
deviceInfo.setDeviceModel("DUMMY_MODEL");
|
||||||
|
deviceInfo.setVendor("Google");
|
||||||
|
deviceInfo.setOsVersion("Oreo");
|
||||||
|
deviceInfo.setOsBuildDate("24-05-2017");
|
||||||
|
deviceInfo.setBatteryLevel(25.0);
|
||||||
|
deviceInfo.setInternalTotalMemory(1.5);
|
||||||
|
deviceInfo.setInternalAvailableMemory(2.5);
|
||||||
|
deviceInfo.setExternalTotalMemory(16.76);
|
||||||
|
deviceInfo.setExternalAvailableMemory(4.56);
|
||||||
|
deviceInfo.setConnectionType("CON_TYPE");
|
||||||
|
deviceInfo.setSsid("SSID");
|
||||||
|
deviceInfo.setCpuUsage(23.5);
|
||||||
|
deviceInfo.setTotalRAMMemory(1.5);
|
||||||
|
deviceInfo.setAvailableRAMMemory(2.33);
|
||||||
|
deviceInfo.setPluggedIn(true);
|
||||||
|
return deviceInfo;
|
||||||
|
}
|
||||||
|
|
||||||
public static Notification getNotification(int notificationId, String status, String deviceId,
|
public static Notification getNotification(int notificationId, String status, String deviceId,
|
||||||
String description, String deviceName, int operationId,
|
String description, String deviceName, int operationId,
|
||||||
String deviceType) {
|
String deviceType) {
|
||||||
@ -98,6 +121,21 @@ public class TestDataHolder {
|
|||||||
return devices;
|
return devices;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Device generateDummyDeviceData(DeviceIdentifier deviceIdentifier) {
|
||||||
|
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(deviceIdentifier.getId());
|
||||||
|
device.setType(deviceIdentifier.getType());
|
||||||
|
return device;
|
||||||
|
}
|
||||||
|
|
||||||
public static DeviceType generateDeviceTypeData(String devTypeName) {
|
public static DeviceType generateDeviceTypeData(String devTypeName) {
|
||||||
DeviceType deviceType = new DeviceType();
|
DeviceType deviceType = new DeviceType();
|
||||||
deviceType.setName(devTypeName);
|
deviceType.setName(devTypeName);
|
||||||
|
|||||||
@ -0,0 +1,244 @@
|
|||||||
|
/*
|
||||||
|
* 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.core.geo.service;
|
||||||
|
|
||||||
|
import org.mockito.Mockito;
|
||||||
|
|
||||||
|
import org.testng.Assert;
|
||||||
|
import org.testng.annotations.BeforeClass;
|
||||||
|
import org.testng.annotations.Test;
|
||||||
|
import org.wso2.carbon.device.mgt.common.Device;
|
||||||
|
import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
|
||||||
|
import org.wso2.carbon.device.mgt.common.DeviceManagementConstants;
|
||||||
|
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||||
|
import org.wso2.carbon.device.mgt.common.geo.service.Alert;
|
||||||
|
import org.wso2.carbon.device.mgt.common.geo.service.GeoFence;
|
||||||
|
import org.wso2.carbon.device.mgt.common.geo.service.GeoLocationBasedServiceException;
|
||||||
|
import org.wso2.carbon.device.mgt.core.TestDeviceManagementService;
|
||||||
|
import org.wso2.carbon.device.mgt.core.common.TestDataHolder;
|
||||||
|
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder;
|
||||||
|
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
||||||
|
import org.wso2.carbon.event.processor.stub.EventProcessorAdminServiceStub;
|
||||||
|
import org.wso2.carbon.identity.jwt.client.extension.exception.JWTClientException;
|
||||||
|
import org.wso2.carbon.utils.multitenancy.MultitenantConstants;
|
||||||
|
|
||||||
|
import java.rmi.RemoteException;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class GeoLocationProviderServiceTest {
|
||||||
|
|
||||||
|
private static final String DEVICE_TYPE = "GL_TEST_TYPE";
|
||||||
|
private static final String DEVICE_ID = "GL-TEST-DEVICE-ID-1";
|
||||||
|
private static final String SAMPLE_GEO_JSON = "12121";
|
||||||
|
private static final String SAMPLE_AREA_NAME = "CUSTOM_NAME";
|
||||||
|
private static final String SAMPLE_QUERY_NAME = "QUERY_NAME";
|
||||||
|
private static final String SAMPLE_PROXIMITY_DISATANCE = "100";
|
||||||
|
private static final String SAMPLE_PROXIMITY_TIME = "50";
|
||||||
|
private static final String SAMPLE_SPEED_ALERT_VALUE = "120";
|
||||||
|
private static final String SAMPLE_STATIONARY_TIME = "1500";
|
||||||
|
private static final String SAMPLE_FLUCTUATION_RADIUS = "2000";
|
||||||
|
|
||||||
|
private EventProcessorAdminServiceStub mockEventProcessorAdminServiceStub;
|
||||||
|
private GeoLocationProviderServiceImpl geoLocationProviderServiceImpl;
|
||||||
|
|
||||||
|
@BeforeClass
|
||||||
|
public void init() throws Exception {
|
||||||
|
initMocks();
|
||||||
|
enrollDevice();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test (description = "Create a sample geo exit-alert with relevant details.")
|
||||||
|
public void createGeoExitAlert() throws GeoLocationBasedServiceException {
|
||||||
|
Boolean result = geoLocationProviderServiceImpl.
|
||||||
|
createGeoAlert(getExitAlert(), getDeviceIdentifier(), DeviceManagementConstants.GeoServices.ALERT_TYPE_EXIT);
|
||||||
|
Assert.assertEquals(result, Boolean.TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test (description = "Create a sample geo within-alert with relevant details.")
|
||||||
|
public void createGeoWithinAlert() throws GeoLocationBasedServiceException {
|
||||||
|
Boolean result = geoLocationProviderServiceImpl.
|
||||||
|
createGeoAlert(getWithinAlert(), getDeviceIdentifier(), DeviceManagementConstants.GeoServices.ALERT_TYPE_WITHIN);
|
||||||
|
Assert.assertEquals(result, Boolean.TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test (description = "Create a sample geo proximity-alert with relevant details.")
|
||||||
|
public void createGeoProximityAlert() throws GeoLocationBasedServiceException {
|
||||||
|
Boolean result = geoLocationProviderServiceImpl.
|
||||||
|
createGeoAlert(getProximityAlert(), getDeviceIdentifier(), DeviceManagementConstants.GeoServices.ALERT_TYPE_PROXIMITY);
|
||||||
|
Assert.assertEquals(result, Boolean.TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test (description = "Create a sample geo speed-alert with relevant details.")
|
||||||
|
public void createGeoSpeedAlert() throws GeoLocationBasedServiceException {
|
||||||
|
Boolean result = geoLocationProviderServiceImpl.
|
||||||
|
createGeoAlert(getSpeedAlert(), getDeviceIdentifier(), DeviceManagementConstants.GeoServices.ALERT_TYPE_SPEED);
|
||||||
|
Assert.assertEquals(result, Boolean.TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test (description = "Create a sample geo stationary-alert with relevant details.")
|
||||||
|
public void createGeoStationaryAlert() throws GeoLocationBasedServiceException {
|
||||||
|
Boolean result = geoLocationProviderServiceImpl.
|
||||||
|
createGeoAlert(getStationaryAlert(), getDeviceIdentifier(), DeviceManagementConstants.GeoServices.ALERT_TYPE_STATIONARY);
|
||||||
|
Assert.assertEquals(result, Boolean.TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test (description = "Create a sample geo traffic-alert with relevant details.")
|
||||||
|
public void createGeoTrafficAlert() throws GeoLocationBasedServiceException {
|
||||||
|
Boolean result = geoLocationProviderServiceImpl.
|
||||||
|
createGeoAlert(getTrafficAlert(), getDeviceIdentifier(), DeviceManagementConstants.GeoServices.ALERT_TYPE_TRAFFIC);
|
||||||
|
Assert.assertEquals(result, Boolean.TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = "createGeoSpeedAlert", description = "retrieve saved geo speed-alert.")
|
||||||
|
public void getGeoSpeedAlerts() throws GeoLocationBasedServiceException {
|
||||||
|
String result;
|
||||||
|
result = geoLocationProviderServiceImpl.getSpeedAlerts(getDeviceIdentifier());
|
||||||
|
Assert.assertNotNull(result);
|
||||||
|
Assert.assertEquals(result, "{'speedLimit':" + SAMPLE_SPEED_ALERT_VALUE + "}");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = "createGeoTrafficAlert" , description = "retrieve saved geo exit-alert.")
|
||||||
|
public void getGeoTrafficAlerts() throws GeoLocationBasedServiceException {
|
||||||
|
List<GeoFence> geoFences;
|
||||||
|
geoFences = geoLocationProviderServiceImpl.getTrafficAlerts(getDeviceIdentifier());
|
||||||
|
Assert.assertNotNull(geoFences);
|
||||||
|
GeoFence geoFenceNode = geoFences.get(0);
|
||||||
|
Assert.assertEquals(geoFenceNode.getGeoJson(), "{\n" +
|
||||||
|
" \"" + DeviceManagementConstants.GeoServices.GEO_FENCE_GEO_JSON + "\": \"" + SAMPLE_GEO_JSON + "\"\n" +
|
||||||
|
"}");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = "createGeoStationaryAlert", description = "retrieve saved geo stationary-alert.")
|
||||||
|
public void getGeoStationaryAlerts() throws GeoLocationBasedServiceException {
|
||||||
|
List<GeoFence> geoFences;
|
||||||
|
geoFences = geoLocationProviderServiceImpl.getStationaryAlerts(getDeviceIdentifier());
|
||||||
|
Assert.assertNotNull(geoFences);
|
||||||
|
GeoFence geoFenceNode = geoFences.get(0);
|
||||||
|
Assert.assertEquals(geoFenceNode.getAreaName(), SAMPLE_AREA_NAME);
|
||||||
|
Assert.assertEquals(geoFenceNode.getQueryName(), SAMPLE_QUERY_NAME);
|
||||||
|
Assert.assertEquals(geoFenceNode.getStationaryTime(), SAMPLE_STATIONARY_TIME);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void initMocks() throws JWTClientException, RemoteException {
|
||||||
|
mockEventProcessorAdminServiceStub = Mockito.mock(EventProcessorAdminServiceStub.class);
|
||||||
|
geoLocationProviderServiceImpl = Mockito.mock(GeoLocationProviderServiceImpl.class, Mockito.CALLS_REAL_METHODS);
|
||||||
|
Mockito.doReturn(mockEventProcessorAdminServiceStub).
|
||||||
|
when(geoLocationProviderServiceImpl).getEventProcessorAdminServiceStub();
|
||||||
|
Mockito.doReturn("success").
|
||||||
|
when(mockEventProcessorAdminServiceStub).validateExecutionPlan(Mockito.anyString());
|
||||||
|
}
|
||||||
|
|
||||||
|
private DeviceIdentifier getDeviceIdentifier() {
|
||||||
|
DeviceIdentifier deviceIdentifier = new DeviceIdentifier();
|
||||||
|
deviceIdentifier.setId("1234");
|
||||||
|
deviceIdentifier.setType("TEST");
|
||||||
|
return deviceIdentifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Alert getWithinAlert() {
|
||||||
|
Alert alert = new Alert();
|
||||||
|
alert.setDeviceId(DEVICE_ID);
|
||||||
|
alert.setCepAction("CEP_ACTION");
|
||||||
|
alert.setParseData("{\n" +
|
||||||
|
" \" " + DeviceManagementConstants.GeoServices.GEO_FENCE_GEO_JSON + "\": \"" + SAMPLE_GEO_JSON + "\"\n" +
|
||||||
|
"}");
|
||||||
|
alert.setCustomName(SAMPLE_AREA_NAME);
|
||||||
|
alert.setExecutionPlan("EXECUTION_PLAN");
|
||||||
|
alert.setQueryName(SAMPLE_QUERY_NAME);
|
||||||
|
return alert;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Alert getExitAlert() {
|
||||||
|
Alert alert = new Alert();
|
||||||
|
alert.setDeviceId(DEVICE_ID);
|
||||||
|
alert.setQueryName(SAMPLE_QUERY_NAME);
|
||||||
|
alert.setCustomName(SAMPLE_AREA_NAME);
|
||||||
|
alert.setStationeryTime(SAMPLE_STATIONARY_TIME);
|
||||||
|
alert.setFluctuationRadius(SAMPLE_FLUCTUATION_RADIUS);
|
||||||
|
alert.setParseData("{\n" +
|
||||||
|
" \" " + DeviceManagementConstants.GeoServices.GEO_FENCE_GEO_JSON + "\": \"" + SAMPLE_GEO_JSON + "\"\n" +
|
||||||
|
"}");
|
||||||
|
alert.setExecutionPlan("EXECUTION_PLAN");
|
||||||
|
return alert;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Alert getProximityAlert() {
|
||||||
|
Alert alert = new Alert();
|
||||||
|
alert.setDeviceId(DEVICE_ID);
|
||||||
|
alert.setProximityTime(SAMPLE_PROXIMITY_TIME);
|
||||||
|
alert.setProximityDistance(SAMPLE_PROXIMITY_DISATANCE);
|
||||||
|
alert.setParseData("{\n" +
|
||||||
|
" \" " + DeviceManagementConstants.GeoServices.GEO_FENCE_GEO_JSON + "\": \"" + SAMPLE_GEO_JSON + "\"\n" +
|
||||||
|
"}");
|
||||||
|
return alert;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Alert getSpeedAlert() {
|
||||||
|
Alert alert = new Alert();
|
||||||
|
alert.setDeviceId(DEVICE_ID);
|
||||||
|
alert.setParseData("{\n" +
|
||||||
|
" \"" + DeviceManagementConstants.GeoServices.GEO_FENCE_GEO_JSON + "\": \"" + SAMPLE_GEO_JSON + "\",\n" +
|
||||||
|
" \"" + DeviceManagementConstants.GeoServices.SPEED_ALERT_VALUE + "\": \"" + SAMPLE_SPEED_ALERT_VALUE + "\"\n" +
|
||||||
|
"}");
|
||||||
|
return alert;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Alert getStationaryAlert() {
|
||||||
|
Alert alert = new Alert();
|
||||||
|
alert.setDeviceId(DEVICE_ID);
|
||||||
|
alert.setQueryName(SAMPLE_QUERY_NAME);
|
||||||
|
alert.setCustomName(SAMPLE_AREA_NAME);
|
||||||
|
alert.setStationeryTime(SAMPLE_STATIONARY_TIME);
|
||||||
|
alert.setFluctuationRadius(SAMPLE_FLUCTUATION_RADIUS);
|
||||||
|
alert.setParseData("{\n" +
|
||||||
|
" \"" + DeviceManagementConstants.GeoServices.GEO_FENCE_GEO_JSON + "\": \"" + SAMPLE_GEO_JSON + "\"\n" +
|
||||||
|
"}");
|
||||||
|
return alert;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Alert getTrafficAlert() {
|
||||||
|
Alert alert = new Alert();
|
||||||
|
alert.setDeviceId(DEVICE_ID);
|
||||||
|
alert.setParseData("{\n" +
|
||||||
|
" \"" + DeviceManagementConstants.GeoServices.GEO_FENCE_GEO_JSON +"\": \"" + SAMPLE_GEO_JSON + "\"\n" +
|
||||||
|
"}");
|
||||||
|
alert.setCustomName(SAMPLE_AREA_NAME);
|
||||||
|
alert.setExecutionPlan("EXECUTION_PLAN");
|
||||||
|
alert.setQueryName(SAMPLE_QUERY_NAME);
|
||||||
|
return alert;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void enrollDevice() throws Exception {
|
||||||
|
DeviceIdentifier deviceIdentifier = new DeviceIdentifier(DEVICE_ID, DEVICE_TYPE);
|
||||||
|
Device device = TestDataHolder.generateDummyDeviceData(deviceIdentifier);
|
||||||
|
DeviceManagementProviderService deviceMgtService = DeviceManagementDataHolder.getInstance().
|
||||||
|
getDeviceManagementProvider();
|
||||||
|
deviceMgtService.registerDeviceType(new TestDeviceManagementService(DEVICE_TYPE,
|
||||||
|
MultitenantConstants.SUPER_TENANT_DOMAIN_NAME));
|
||||||
|
deviceMgtService.enrollDevice(device);
|
||||||
|
|
||||||
|
Device returnedDevice = deviceMgtService.getDevice(deviceIdentifier);
|
||||||
|
|
||||||
|
if (!returnedDevice.getDeviceIdentifier().equals(deviceIdentifier.getId())) {
|
||||||
|
throw new Exception("Incorrect device with ID - " + device.getDeviceIdentifier() + " returned!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -25,6 +25,7 @@ import org.wso2.carbon.context.PrivilegedCarbonContext;
|
|||||||
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.EnrolmentInfo;
|
||||||
import org.wso2.carbon.device.mgt.common.InvalidDeviceException;
|
import org.wso2.carbon.device.mgt.common.InvalidDeviceException;
|
||||||
import org.wso2.carbon.device.mgt.common.PaginationRequest;
|
import org.wso2.carbon.device.mgt.common.PaginationRequest;
|
||||||
import org.wso2.carbon.device.mgt.common.PaginationResult;
|
import org.wso2.carbon.device.mgt.common.PaginationResult;
|
||||||
@ -50,6 +51,7 @@ import org.wso2.carbon.utils.multitenancy.MultitenantConstants;
|
|||||||
import java.text.ParseException;
|
import java.text.ParseException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -72,6 +74,7 @@ public class OperationManagementTests extends BaseDeviceManagementTest {
|
|||||||
|
|
||||||
private List<DeviceIdentifier> deviceIds = new ArrayList<>();
|
private List<DeviceIdentifier> deviceIds = new ArrayList<>();
|
||||||
private OperationManager operationMgtService;
|
private OperationManager operationMgtService;
|
||||||
|
private DeviceManagementProviderService deviceMgmtProvider;
|
||||||
private Activity commandActivity;
|
private Activity commandActivity;
|
||||||
private long commandActivityBeforeUpdatedTimestamp;
|
private long commandActivityBeforeUpdatedTimestamp;
|
||||||
|
|
||||||
@ -94,6 +97,7 @@ public class OperationManagementTests extends BaseDeviceManagementTest {
|
|||||||
throw new Exception("Incorrect device with ID - " + device.getDeviceIdentifier() + " returned!");
|
throw new Exception("Incorrect device with ID - " + device.getDeviceIdentifier() + " returned!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
this.deviceMgmtProvider = DeviceManagementDataHolder.getInstance().getDeviceManagementProvider();
|
||||||
NotificationStrategy notificationStrategy = new TestNotificationStrategy();
|
NotificationStrategy notificationStrategy = new TestNotificationStrategy();
|
||||||
this.operationMgtService = new OperationManagerImpl(DEVICE_TYPE, notificationStrategy);
|
this.operationMgtService = new OperationManagerImpl(DEVICE_TYPE, notificationStrategy);
|
||||||
}
|
}
|
||||||
@ -144,7 +148,8 @@ public class OperationManagementTests extends BaseDeviceManagementTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test(expectedExceptions = InvalidDeviceException.class)
|
@Test(expectedExceptions = InvalidDeviceException.class)
|
||||||
public void addNonInitializedDevicesCommandOperation() throws DeviceManagementException, OperationManagementException,
|
public void addNonInitializedDevicesCommandOperation() throws DeviceManagementException,
|
||||||
|
OperationManagementException,
|
||||||
InvalidDeviceException {
|
InvalidDeviceException {
|
||||||
DeviceIdentifier deviceIdentifier = new DeviceIdentifier();
|
DeviceIdentifier deviceIdentifier = new DeviceIdentifier();
|
||||||
List<DeviceIdentifier> deviceIdentifiers = new ArrayList<>();
|
List<DeviceIdentifier> deviceIdentifiers = new ArrayList<>();
|
||||||
@ -207,8 +212,8 @@ public class OperationManagementTests extends BaseDeviceManagementTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void validateOperationResponse(Activity activity, ActivityStatus.Status expectedStatus) {
|
private void validateOperationResponse(Activity activity, ActivityStatus.Status expectedStatus) {
|
||||||
Assert.assertEquals(activity.getActivityStatus().size(), NO_OF_DEVICES, "The operation response for add operation only have - " +
|
Assert.assertEquals(activity.getActivityStatus().size(), NO_OF_DEVICES, "The operation response for add " +
|
||||||
activity.getActivityStatus().size());
|
"operation only have - " + activity.getActivityStatus().size());
|
||||||
for (ActivityStatus status : activity.getActivityStatus()) {
|
for (ActivityStatus status : activity.getActivityStatus()) {
|
||||||
Assert.assertEquals(status.getStatus(), expectedStatus);
|
Assert.assertEquals(status.getStatus(), expectedStatus);
|
||||||
}
|
}
|
||||||
@ -223,7 +228,8 @@ public class OperationManagementTests extends BaseDeviceManagementTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test(dependsOnMethods = "addProfileOperation", expectedExceptions = OperationManagementException.class)
|
@Test(dependsOnMethods = "addProfileOperation", expectedExceptions = OperationManagementException.class)
|
||||||
public void getOperationsAsNonAdmin() throws DeviceManagementException, OperationManagementException, InvalidDeviceException {
|
public void getOperationsAsNonAdmin() throws DeviceManagementException, OperationManagementException,
|
||||||
|
InvalidDeviceException {
|
||||||
try {
|
try {
|
||||||
startTenantFlowAsNonAdmin();
|
startTenantFlowAsNonAdmin();
|
||||||
for (DeviceIdentifier deviceIdentifier : deviceIds) {
|
for (DeviceIdentifier deviceIdentifier : deviceIds) {
|
||||||
@ -235,15 +241,18 @@ public class OperationManagementTests extends BaseDeviceManagementTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test(dependsOnMethods = "getOperations")
|
@Test(dependsOnMethods = "getOperations")
|
||||||
public void getPendingOperations() throws DeviceManagementException, OperationManagementException, InvalidDeviceException {
|
public void getPendingOperations() throws DeviceManagementException, OperationManagementException,
|
||||||
|
InvalidDeviceException {
|
||||||
for (DeviceIdentifier deviceIdentifier : deviceIds) {
|
for (DeviceIdentifier deviceIdentifier : deviceIds) {
|
||||||
List operations = this.operationMgtService.getPendingOperations(deviceIdentifier);
|
List operations = this.operationMgtService.getPendingOperations(deviceIdentifier);
|
||||||
Assert.assertEquals(operations.size(), 4, "The pending operations should be 4, but found only " + operations.size());
|
Assert.assertEquals(operations.size(), 4, "The pending operations should be 4, but found only "
|
||||||
|
+ operations.size());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(dependsOnMethods = "getOperations", expectedExceptions = OperationManagementException.class)
|
@Test(dependsOnMethods = "getOperations", expectedExceptions = OperationManagementException.class)
|
||||||
public void getPendingOperationsAsNonAdmin() throws DeviceManagementException, OperationManagementException, InvalidDeviceException {
|
public void getPendingOperationsAsNonAdmin() throws DeviceManagementException, OperationManagementException,
|
||||||
|
InvalidDeviceException {
|
||||||
try {
|
try {
|
||||||
startTenantFlowAsNonAdmin();
|
startTenantFlowAsNonAdmin();
|
||||||
for (DeviceIdentifier deviceIdentifier : deviceIds) {
|
for (DeviceIdentifier deviceIdentifier : deviceIds) {
|
||||||
@ -357,14 +366,16 @@ public class OperationManagementTests extends BaseDeviceManagementTest {
|
|||||||
@Test(dependsOnMethods = "getNextPendingOperation")
|
@Test(dependsOnMethods = "getNextPendingOperation")
|
||||||
public void getOperationByDeviceAndOperationId() throws OperationManagementException {
|
public void getOperationByDeviceAndOperationId() throws OperationManagementException {
|
||||||
DeviceIdentifier deviceIdentifier = this.deviceIds.get(0);
|
DeviceIdentifier deviceIdentifier = this.deviceIds.get(0);
|
||||||
String operationId = this.commandActivity.getActivityId().
|
|
||||||
replace(DeviceManagementConstants.OperationAttributes.ACTIVITY, "");
|
|
||||||
Operation operation = this.operationMgtService.getOperationByDeviceAndOperationId(deviceIdentifier,
|
Operation operation = this.operationMgtService.getOperationByDeviceAndOperationId(deviceIdentifier,
|
||||||
Integer.parseInt(operationId));
|
getOperationId(this.commandActivity.getActivityId()));
|
||||||
Assert.assertTrue(operation.getStatus().equals(Operation.Status.COMPLETED));
|
Assert.assertTrue(operation.getStatus().equals(Operation.Status.COMPLETED));
|
||||||
Assert.assertTrue(operation.getType().equals(Operation.Type.COMMAND));
|
Assert.assertTrue(operation.getType().equals(Operation.Type.COMMAND));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private int getOperationId(String activityId) {
|
||||||
|
return Integer.parseInt(activityId.replace(DeviceManagementConstants.OperationAttributes.ACTIVITY, ""));
|
||||||
|
}
|
||||||
|
|
||||||
@Test(dependsOnMethods = "getNextPendingOperation", expectedExceptions = OperationManagementException.class)
|
@Test(dependsOnMethods = "getNextPendingOperation", expectedExceptions = OperationManagementException.class)
|
||||||
public void getOperationByDeviceAndOperationIdNonAdmin() throws OperationManagementException {
|
public void getOperationByDeviceAndOperationIdNonAdmin() throws OperationManagementException {
|
||||||
startTenantFlowAsNonAdmin();
|
startTenantFlowAsNonAdmin();
|
||||||
@ -382,12 +393,14 @@ public class OperationManagementTests extends BaseDeviceManagementTest {
|
|||||||
@Test(dependsOnMethods = "getOperationByDeviceAndOperationId")
|
@Test(dependsOnMethods = "getOperationByDeviceAndOperationId")
|
||||||
public void getOperationsByDeviceAndStatus() throws OperationManagementException, DeviceManagementException {
|
public void getOperationsByDeviceAndStatus() throws OperationManagementException, DeviceManagementException {
|
||||||
DeviceIdentifier deviceIdentifier = this.deviceIds.get(0);
|
DeviceIdentifier deviceIdentifier = this.deviceIds.get(0);
|
||||||
List operation = this.operationMgtService.getOperationsByDeviceAndStatus(deviceIdentifier, Operation.Status.PENDING);
|
List operation = this.operationMgtService.getOperationsByDeviceAndStatus(deviceIdentifier,
|
||||||
|
Operation.Status.PENDING);
|
||||||
Assert.assertEquals(operation.size(), 3);
|
Assert.assertEquals(operation.size(), 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(dependsOnMethods = "getOperationByDeviceAndOperationId", expectedExceptions = OperationManagementException.class)
|
@Test(dependsOnMethods = "getOperationByDeviceAndOperationId", expectedExceptions = OperationManagementException.class)
|
||||||
public void getOperationsByDeviceAndStatusByNonAdmin() throws OperationManagementException, DeviceManagementException {
|
public void getOperationsByDeviceAndStatusByNonAdmin() throws OperationManagementException,
|
||||||
|
DeviceManagementException {
|
||||||
startTenantFlowAsNonAdmin();
|
startTenantFlowAsNonAdmin();
|
||||||
try {
|
try {
|
||||||
DeviceIdentifier deviceIdentifier = this.deviceIds.get(0);
|
DeviceIdentifier deviceIdentifier = this.deviceIds.get(0);
|
||||||
@ -474,7 +487,8 @@ public class OperationManagementTests extends BaseDeviceManagementTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test(dependsOnMethods = "getOperationForInactiveDevice", expectedExceptions = OperationManagementException.class)
|
@Test(dependsOnMethods = "getOperationForInactiveDevice", expectedExceptions = OperationManagementException.class)
|
||||||
public void getPaginatedOperationDeviceForInvalidDevice() throws DeviceManagementException, OperationManagementException {
|
public void getPaginatedOperationDeviceForInvalidDevice() throws DeviceManagementException,
|
||||||
|
OperationManagementException {
|
||||||
PrivilegedCarbonContext.startTenantFlow();
|
PrivilegedCarbonContext.startTenantFlow();
|
||||||
PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantId(MultitenantConstants.SUPER_TENANT_ID, true);
|
PrivilegedCarbonContext.getThreadLocalCarbonContext().setTenantId(MultitenantConstants.SUPER_TENANT_ID, true);
|
||||||
PrivilegedCarbonContext.getThreadLocalCarbonContext().setUsername(ADMIN_USER);
|
PrivilegedCarbonContext.getThreadLocalCarbonContext().setUsername(ADMIN_USER);
|
||||||
@ -482,7 +496,8 @@ public class OperationManagementTests extends BaseDeviceManagementTest {
|
|||||||
PaginationRequest request = new PaginationRequest(1, 2);
|
PaginationRequest request = new PaginationRequest(1, 2);
|
||||||
request.setDeviceType(DEVICE_TYPE);
|
request.setDeviceType(DEVICE_TYPE);
|
||||||
request.setOwner(ADMIN_USER);
|
request.setOwner(ADMIN_USER);
|
||||||
PaginationResult result = this.operationMgtService.getOperations(new DeviceIdentifier(INVALID_DEVICE, DEVICE_TYPE), request);
|
PaginationResult result = this.operationMgtService.getOperations
|
||||||
|
(new DeviceIdentifier(INVALID_DEVICE, DEVICE_TYPE), request);
|
||||||
Assert.assertEquals(result.getRecordsFiltered(), 4);
|
Assert.assertEquals(result.getRecordsFiltered(), 4);
|
||||||
Assert.assertEquals(result.getData().size(), 2);
|
Assert.assertEquals(result.getData().size(), 2);
|
||||||
Assert.assertEquals(result.getRecordsTotal(), 4);
|
Assert.assertEquals(result.getRecordsTotal(), 4);
|
||||||
@ -492,13 +507,150 @@ public class OperationManagementTests extends BaseDeviceManagementTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test(dependsOnMethods = "getOperationForInactiveDevice", expectedExceptions = OperationManagementException.class)
|
@Test(dependsOnMethods = "getOperationForInactiveDevice", expectedExceptions = OperationManagementException.class)
|
||||||
public void getPendingOperationDeviceForInvalidDevice() throws DeviceManagementException, OperationManagementException {
|
public void getPendingOperationDeviceForInvalidDevice() throws DeviceManagementException,
|
||||||
this.operationMgtService.getPendingOperations(new DeviceIdentifier(INVALID_DEVICE, DEVICE_TYPE));
|
OperationManagementException {
|
||||||
|
this.operationMgtService.getPendingOperations(new DeviceIdentifier(INVALID_DEVICE, DEVICE_TYPE));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(dependsOnMethods = "getPendingOperationDeviceForInvalidDevice", expectedExceptions = OperationManagementException.class)
|
@Test(dependsOnMethods = "getPendingOperationDeviceForInvalidDevice",
|
||||||
public void getNextPendingOperationDeviceForInvalidDevice() throws DeviceManagementException, OperationManagementException {
|
expectedExceptions = OperationManagementException.class)
|
||||||
|
public void getNextPendingOperationDeviceForInvalidDevice() throws DeviceManagementException,
|
||||||
|
OperationManagementException {
|
||||||
this.operationMgtService.getNextPendingOperation(new DeviceIdentifier(INVALID_DEVICE, DEVICE_TYPE));
|
this.operationMgtService.getNextPendingOperation(new DeviceIdentifier(INVALID_DEVICE, DEVICE_TYPE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = "getNextPendingOperationDeviceForInvalidDevice",
|
||||||
|
expectedExceptions = OperationManagementException.class)
|
||||||
|
public void getUpdateOperationForInvalidDevice() throws DeviceManagementException, OperationManagementException {
|
||||||
|
this.operationMgtService.updateOperation(new DeviceIdentifier(INVALID_DEVICE, DEVICE_TYPE),
|
||||||
|
getOperation(new CommandOperation(), Operation.Type.COMMAND, COMMAND_OPERATON_CODE));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = "getUpdateOperationForInvalidDevice",
|
||||||
|
expectedExceptions = OperationManagementException.class)
|
||||||
|
public void getOperationByDeviceAndOperationIdInvalidDevice() throws DeviceManagementException,
|
||||||
|
OperationManagementException {
|
||||||
|
this.operationMgtService.getOperationByDeviceAndOperationId(new DeviceIdentifier(INVALID_DEVICE, DEVICE_TYPE),
|
||||||
|
getOperationId(this.commandActivity.getActivityId()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = "getOperationByDeviceAndOperationIdInvalidDevice",
|
||||||
|
expectedExceptions = OperationManagementException.class)
|
||||||
|
public void getOperationsByDeviceAndStatusInvalidDevice() throws DeviceManagementException,
|
||||||
|
OperationManagementException {
|
||||||
|
this.operationMgtService.getOperationsByDeviceAndStatus(new DeviceIdentifier(INVALID_DEVICE, DEVICE_TYPE),
|
||||||
|
Operation.Status.PENDING);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = "getOperationsByDeviceAndStatusInvalidDevice",
|
||||||
|
expectedExceptions = OperationManagementException.class)
|
||||||
|
public void getOperationsInvalidOperationId() throws DeviceManagementException,
|
||||||
|
OperationManagementException {
|
||||||
|
this.operationMgtService.getOperation(123445);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = "getOperationsInvalidOperationId", expectedExceptions = IllegalArgumentException.class)
|
||||||
|
public void getOperationsByActivityIdInvalidActivityId() throws DeviceManagementException,
|
||||||
|
OperationManagementException {
|
||||||
|
this.operationMgtService.getOperationByActivityId(DeviceManagementConstants.OperationAttributes.ACTIVITY + 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = "getOperationsByActivityIdInvalidActivityId",
|
||||||
|
expectedExceptions = IllegalArgumentException.class)
|
||||||
|
public void getOperationByActivityIdAndDeviceInvalidActivityId() throws DeviceManagementException,
|
||||||
|
OperationManagementException {
|
||||||
|
this.operationMgtService.getOperationByActivityIdAndDevice(
|
||||||
|
DeviceManagementConstants.OperationAttributes.ACTIVITY + 0,
|
||||||
|
new DeviceIdentifier(INVALID_DEVICE, DEVICE_TYPE));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = "getOperationByActivityIdAndDeviceInvalidActivityId")
|
||||||
|
public void getPendingOperationsInactiveEnrollment() throws DeviceManagementException,
|
||||||
|
OperationManagementException {
|
||||||
|
changeStatus(EnrolmentInfo.Status.INACTIVE);
|
||||||
|
List operations = this.operationMgtService.getPendingOperations(this.deviceIds.get(1));
|
||||||
|
Assert.assertTrue(operations != null);
|
||||||
|
Assert.assertEquals(operations.size(), 4);
|
||||||
|
changeStatus(EnrolmentInfo.Status.ACTIVE);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void changeStatus(EnrolmentInfo.Status status) throws DeviceManagementException,
|
||||||
|
OperationManagementException {
|
||||||
|
Device device = this.deviceMgmtProvider.getDevice(this.deviceIds.get(1));
|
||||||
|
Assert.assertTrue(device != null);
|
||||||
|
Assert.assertEquals(device.getType(), DEVICE_TYPE);
|
||||||
|
Assert.assertTrue(device.getEnrolmentInfo() != null);
|
||||||
|
device.getEnrolmentInfo().setStatus(status);
|
||||||
|
boolean modified = this.deviceMgmtProvider.changeDeviceStatus(this.deviceIds.get(1), status);
|
||||||
|
Assert.assertTrue(modified);
|
||||||
|
device = this.deviceMgmtProvider.getDevice(this.deviceIds.get(1));
|
||||||
|
Assert.assertEquals(device.getEnrolmentInfo().getStatus(), status);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = "getPendingOperationsInactiveEnrollment")
|
||||||
|
public void getNextPendingOperationInactiveEnrollment() throws DeviceManagementException,
|
||||||
|
OperationManagementException {
|
||||||
|
changeStatus(EnrolmentInfo.Status.INACTIVE);
|
||||||
|
Operation operation = this.operationMgtService.getNextPendingOperation(this.deviceIds.get(1));
|
||||||
|
Assert.assertTrue(operation != null);
|
||||||
|
changeStatus(EnrolmentInfo.Status.ACTIVE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = "getNextPendingOperationInactiveEnrollment")
|
||||||
|
public void getNextPendingOperationForAllOperations() throws DeviceManagementException,
|
||||||
|
OperationManagementException {
|
||||||
|
for (int i = 0; i < 4; i++) {
|
||||||
|
Operation operation = this.operationMgtService.getNextPendingOperation(this.deviceIds.get(1));
|
||||||
|
operation.setStatus(Operation.Status.COMPLETED);
|
||||||
|
this.operationMgtService.updateOperation(deviceIds.get(1), operation);
|
||||||
|
}
|
||||||
|
Assert.assertTrue(this.operationMgtService.getNextPendingOperation(this.deviceIds.get(1)) == null);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = "getNextPendingOperationForAllOperations")
|
||||||
|
public void getOperationByDeviceAndOperationIdForAllOperations() throws DeviceManagementException,
|
||||||
|
OperationManagementException {
|
||||||
|
for (int i = 1; i <= 4; i++) {
|
||||||
|
Operation operation = this.operationMgtService.getOperationByDeviceAndOperationId(this.deviceIds.get(1), i);
|
||||||
|
Assert.assertEquals(operation.getStatus(), Operation.Status.COMPLETED);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = "getOperationByDeviceAndOperationIdForAllOperations")
|
||||||
|
public void getOperationForAllOperations() throws DeviceManagementException,
|
||||||
|
OperationManagementException {
|
||||||
|
for (int i = 1; i <= 4; i++) {
|
||||||
|
Operation operation = this.operationMgtService.getOperation(i);
|
||||||
|
Assert.assertTrue(operation != null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = "getOperationForAllOperations")
|
||||||
|
public void addCustomPolicyOperation() throws OperationManagementException, InvalidDeviceException {
|
||||||
|
this.addCustomOperation(Operation.Type.POLICY, DeviceManagementConstants.AuthorizationSkippedOperationCodes.
|
||||||
|
POLICY_OPERATION_CODE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = "getOperationForAllOperations")
|
||||||
|
public void addCustomMonitorOperation() throws OperationManagementException, InvalidDeviceException {
|
||||||
|
this.addCustomOperation(Operation.Type.COMMAND, DeviceManagementConstants.AuthorizationSkippedOperationCodes.
|
||||||
|
MONITOR_OPERATION_CODE);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = "getOperationForAllOperations")
|
||||||
|
public void addCustomPolicyRevokeOperation() throws OperationManagementException, InvalidDeviceException {
|
||||||
|
this.addCustomOperation(Operation.Type.POLICY, DeviceManagementConstants.AuthorizationSkippedOperationCodes.
|
||||||
|
POLICY_REVOKE_OPERATION_CODE);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void addCustomOperation(Operation.Type type, String operationCode) throws OperationManagementException, InvalidDeviceException {
|
||||||
|
Operation operation = new Operation();
|
||||||
|
operation.setCode(operationCode);
|
||||||
|
operation.setType(type);
|
||||||
|
Activity activity = this.operationMgtService.addOperation(operation, Collections.singletonList(this.deviceIds.get(2)));
|
||||||
|
Assert.assertEquals(activity.getActivityStatus().size(), 1);
|
||||||
|
for (ActivityStatus status : activity.getActivityStatus()) {
|
||||||
|
Assert.assertEquals(status.getStatus(), ActivityStatus.Status.PENDING);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,11 +23,16 @@ 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.EnrolmentInfo;
|
||||||
|
import org.wso2.carbon.device.mgt.common.TransactionManagementException;
|
||||||
import org.wso2.carbon.device.mgt.core.TestDeviceManagementService;
|
import org.wso2.carbon.device.mgt.core.TestDeviceManagementService;
|
||||||
import org.wso2.carbon.device.mgt.core.authorization.DeviceAccessAuthorizationServiceImpl;
|
import org.wso2.carbon.device.mgt.core.authorization.DeviceAccessAuthorizationServiceImpl;
|
||||||
import org.wso2.carbon.device.mgt.core.common.BaseDeviceManagementTest;
|
import org.wso2.carbon.device.mgt.core.common.BaseDeviceManagementTest;
|
||||||
import org.wso2.carbon.device.mgt.core.common.TestDataHolder;
|
import org.wso2.carbon.device.mgt.core.common.TestDataHolder;
|
||||||
import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager;
|
import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager;
|
||||||
|
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory;
|
||||||
|
import org.wso2.carbon.device.mgt.core.device.details.mgt.dao.DeviceDetailsDAO;
|
||||||
|
import org.wso2.carbon.device.mgt.core.device.details.mgt.dao.DeviceDetailsMgtDAOException;
|
||||||
import org.wso2.carbon.device.mgt.core.dto.DeviceType;
|
import org.wso2.carbon.device.mgt.core.dto.DeviceType;
|
||||||
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder;
|
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder;
|
||||||
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementServiceComponent;
|
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementServiceComponent;
|
||||||
@ -40,6 +45,8 @@ import org.wso2.carbon.user.core.service.RealmService;
|
|||||||
import org.wso2.carbon.utils.multitenancy.MultitenantConstants;
|
import org.wso2.carbon.utils.multitenancy.MultitenantConstants;
|
||||||
|
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
import java.util.Calendar;
|
||||||
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
public class DeviceManagementProviderServiceTest extends BaseDeviceManagementTest {
|
public class DeviceManagementProviderServiceTest extends BaseDeviceManagementTest {
|
||||||
@ -47,7 +54,7 @@ public class DeviceManagementProviderServiceTest extends BaseDeviceManagementTes
|
|||||||
private static final Log log = LogFactory.getLog(DeviceManagementProviderServiceTest.class);
|
private static final Log log = LogFactory.getLog(DeviceManagementProviderServiceTest.class);
|
||||||
private DeviceManagementProviderService providerService;
|
private DeviceManagementProviderService providerService;
|
||||||
private static final String DEVICE_TYPE = "RANDOM_DEVICE_TYPE";
|
private static final String DEVICE_TYPE = "RANDOM_DEVICE_TYPE";
|
||||||
private static final String DEVICE_TYPE_2 = "RANDOM_DEVICE_TYPE";
|
private DeviceDetailsDAO deviceDetailsDAO = DeviceManagementDAOFactory.getDeviceDetailsDAO();
|
||||||
|
|
||||||
DeviceManagementProviderService deviceMgtService;
|
DeviceManagementProviderService deviceMgtService;
|
||||||
|
|
||||||
@ -65,7 +72,6 @@ public class DeviceManagementProviderServiceTest extends BaseDeviceManagementTes
|
|||||||
DeviceManagementDataHolder.getInstance().setDeviceTaskManagerService(null);
|
DeviceManagementDataHolder.getInstance().setDeviceTaskManagerService(null);
|
||||||
deviceMgtService.registerDeviceType(new TestDeviceManagementService(DEVICE_TYPE,
|
deviceMgtService.registerDeviceType(new TestDeviceManagementService(DEVICE_TYPE,
|
||||||
MultitenantConstants.SUPER_TENANT_DOMAIN_NAME));
|
MultitenantConstants.SUPER_TENANT_DOMAIN_NAME));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private RegistryService getRegistryService() throws RegistryException {
|
private RegistryService getRegistryService() throws RegistryException {
|
||||||
@ -170,39 +176,39 @@ public class DeviceManagementProviderServiceTest extends BaseDeviceManagementTes
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Test(dependsOnMethods = {"testReEnrollmentofSameDeviceUnderSameUser"})
|
|
||||||
// public void testReEnrollmentofSameDeviceWithOtherUser() {
|
|
||||||
//
|
|
||||||
// EnrolmentInfo enrolmentInfo = new EnrolmentInfo();
|
|
||||||
// enrolmentInfo.setDateOfEnrolment(new Date().getTime());
|
|
||||||
// enrolmentInfo.setDateOfLastUpdate(new Date().getTime());
|
|
||||||
// enrolmentInfo.setOwner("user1");
|
|
||||||
// enrolmentInfo.setOwnership(EnrolmentInfo.OwnerShip.BYOD);
|
|
||||||
// enrolmentInfo.setStatus(EnrolmentInfo.Status.CREATED);
|
|
||||||
//
|
|
||||||
// Device alternateDevice = TestDataHolder.generateDummyDeviceData("12345", DEVICE_TYPE,
|
|
||||||
// enrolmentInfo);
|
|
||||||
//
|
|
||||||
// try {
|
|
||||||
// Device retrievedDevice1 = deviceMgtService.getDevice(new DeviceIdentifier("12345", DEVICE_TYPE));
|
|
||||||
//
|
|
||||||
// deviceMgtService.enrollDevice(alternateDevice);
|
|
||||||
// Device retrievedDevice2 = deviceMgtService.getDevice(new DeviceIdentifier(alternateDevice
|
|
||||||
// .getDeviceIdentifier(), alternateDevice.getType()));
|
|
||||||
//
|
|
||||||
// log.info(retrievedDevice1.getEnrolmentInfo().getOwner());
|
|
||||||
// log.info(retrievedDevice2.getEnrolmentInfo().getOwner());
|
|
||||||
//
|
|
||||||
// Assert.assertFalse(retrievedDevice1.getEnrolmentInfo().getOwner().equalsIgnoreCase
|
|
||||||
// (retrievedDevice2.getEnrolmentInfo().getOwner()));
|
|
||||||
// } catch (DeviceManagementException e) {
|
|
||||||
// String msg = "Error Occured while enrolling device";
|
|
||||||
// Assert.fail(msg, e);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
@Test(dependsOnMethods = {"testReEnrollmentofSameDeviceUnderSameUser"})
|
@Test(dependsOnMethods = {"testReEnrollmentofSameDeviceUnderSameUser"})
|
||||||
|
public void testReEnrollmentofSameDeviceWithOtherUser() {
|
||||||
|
|
||||||
|
EnrolmentInfo enrolmentInfo = new EnrolmentInfo();
|
||||||
|
enrolmentInfo.setDateOfEnrolment(new Date().getTime());
|
||||||
|
enrolmentInfo.setDateOfLastUpdate(new Date().getTime());
|
||||||
|
enrolmentInfo.setOwner("user1");
|
||||||
|
enrolmentInfo.setOwnership(EnrolmentInfo.OwnerShip.BYOD);
|
||||||
|
enrolmentInfo.setStatus(EnrolmentInfo.Status.CREATED);
|
||||||
|
|
||||||
|
Device alternateDevice = TestDataHolder.generateDummyDeviceData("12345", DEVICE_TYPE,
|
||||||
|
enrolmentInfo);
|
||||||
|
|
||||||
|
try {
|
||||||
|
Device retrievedDevice1 = deviceMgtService.getDevice(new DeviceIdentifier("12345", DEVICE_TYPE));
|
||||||
|
|
||||||
|
deviceMgtService.enrollDevice(alternateDevice);
|
||||||
|
Device retrievedDevice2 = deviceMgtService.getDevice(new DeviceIdentifier(alternateDevice
|
||||||
|
.getDeviceIdentifier(), alternateDevice.getType()));
|
||||||
|
|
||||||
|
log.info(retrievedDevice1.getEnrolmentInfo().getOwner());
|
||||||
|
log.info(retrievedDevice2.getEnrolmentInfo().getOwner());
|
||||||
|
|
||||||
|
Assert.assertFalse(retrievedDevice1.getEnrolmentInfo().getOwner().equalsIgnoreCase
|
||||||
|
(retrievedDevice2.getEnrolmentInfo().getOwner()));
|
||||||
|
} catch (DeviceManagementException e) {
|
||||||
|
String msg = "Error Occured while enrolling device";
|
||||||
|
Assert.fail(msg, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = {"testReEnrollmentofSameDeviceWithOtherUser"})
|
||||||
public void testDisenrollment() {
|
public void testDisenrollment() {
|
||||||
Device device = TestDataHolder.generateDummyDeviceData(DEVICE_TYPE);
|
Device device = TestDataHolder.generateDummyDeviceData(DEVICE_TYPE);
|
||||||
try {
|
try {
|
||||||
@ -320,5 +326,114 @@ public class DeviceManagementProviderServiceTest extends BaseDeviceManagementTes
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = {"testSuccessfulDeviceEnrollment"})
|
||||||
|
public void testGetDevice() {
|
||||||
|
try {
|
||||||
|
Device device = deviceMgtService.getDevice(new DeviceIdentifier("12345",DEVICE_TYPE));
|
||||||
|
Assert.assertTrue(device.getDeviceIdentifier().equalsIgnoreCase("12345"));
|
||||||
|
} catch (DeviceManagementException e) {
|
||||||
|
String msg = "Error occurred while updating the device status";
|
||||||
|
Assert.fail(msg, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = {"testSuccessfulDeviceEnrollment"})
|
||||||
|
public void testGetDeviceWithInfo() {
|
||||||
|
try {
|
||||||
|
Device device = deviceMgtService.getDevice(new DeviceIdentifier("12345", DEVICE_TYPE)
|
||||||
|
, true);
|
||||||
|
Assert.assertTrue(device.getDeviceInfo() != null);
|
||||||
|
} catch (DeviceManagementException e) {
|
||||||
|
String msg = "Error occurred while updating the device status";
|
||||||
|
Assert.fail(msg, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = {"testSuccessfulDeviceEnrollment"})
|
||||||
|
public void testGetDeviceWithOutInfo() {
|
||||||
|
try {
|
||||||
|
Device device = deviceMgtService.getDevice(new DeviceIdentifier("12345", DEVICE_TYPE)
|
||||||
|
, false);
|
||||||
|
Assert.assertTrue(device.getDeviceInfo() == null);
|
||||||
|
} catch (DeviceManagementException e) {
|
||||||
|
String msg = "Error occurred while updating the device status";
|
||||||
|
Assert.fail(msg, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = {"testSuccessfulDeviceEnrollment"})
|
||||||
|
public void testGetAllDevicesOfRole() {
|
||||||
|
try {
|
||||||
|
List<Device> devices = deviceMgtService.getAllDevicesOfRole("admin");
|
||||||
|
Assert.assertTrue(devices.size() > 0);
|
||||||
|
} catch (DeviceManagementException e) {
|
||||||
|
String msg = "Error occurred while updating the device status";
|
||||||
|
Assert.fail(msg, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = {"testSuccessfulDeviceEnrollment"})
|
||||||
|
public void testDeviceByOwner() {
|
||||||
|
try {
|
||||||
|
Device device = deviceMgtService.getDevice(new DeviceIdentifier("12345",
|
||||||
|
DEVICE_TYPE), "admin", true);
|
||||||
|
Assert.assertTrue(device != null);
|
||||||
|
} catch (DeviceManagementException e) {
|
||||||
|
String msg = "Error occurred while updating the device status";
|
||||||
|
Assert.fail(msg, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = {"testSuccessfulDeviceEnrollment"})
|
||||||
|
public void testDeviceByDate() {
|
||||||
|
try {
|
||||||
|
Device initialDevice = deviceMgtService.getDevice(new DeviceIdentifier("12345",
|
||||||
|
DEVICE_TYPE));
|
||||||
|
|
||||||
|
DeviceManagementDAOFactory.beginTransaction();
|
||||||
|
|
||||||
|
//Device details table will be reffered when looking for last updated time
|
||||||
|
//This dao entry is to mimic a device info operation
|
||||||
|
deviceDetailsDAO.addDeviceInformation(initialDevice.getId(), TestDataHolder
|
||||||
|
.generateDummyDeviceInfo());
|
||||||
|
} catch (DeviceManagementException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (TransactionManagementException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (DeviceDetailsMgtDAOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} finally {
|
||||||
|
DeviceManagementDAOFactory.closeConnection();
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
Device device = deviceMgtService.getDevice(new DeviceIdentifier("12345",
|
||||||
|
DEVICE_TYPE), yesterday());
|
||||||
|
Assert.assertTrue(device != null);
|
||||||
|
} catch (DeviceManagementException e) {
|
||||||
|
String msg = "Error occurred while updating the device status";
|
||||||
|
Assert.fail(msg, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(dependsOnMethods = {"testDeviceByDate"})
|
||||||
|
public void testDeviceByDateAndOwner() {
|
||||||
|
try {
|
||||||
|
Device device = deviceMgtService.getDevice(new DeviceIdentifier("12345",
|
||||||
|
DEVICE_TYPE), "admin", yesterday(), true);
|
||||||
|
Assert.assertTrue(device != null);
|
||||||
|
} catch (DeviceManagementException e) {
|
||||||
|
String msg = "Error occurred while updating the device status";
|
||||||
|
Assert.fail(msg, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Date yesterday() {
|
||||||
|
final Calendar cal = Calendar.getInstance();
|
||||||
|
cal.add(Calendar.DATE, -1);
|
||||||
|
return cal.getTime();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -42,10 +42,12 @@
|
|||||||
<class name="org.wso2.carbon.device.mgt.core.app.mgt.ApplicationManagementProviderServiceTest"/>
|
<class name="org.wso2.carbon.device.mgt.core.app.mgt.ApplicationManagementProviderServiceTest"/>
|
||||||
<class name="org.wso2.carbon.device.mgt.core.service.GroupManagementProviderServiceTest"/>
|
<class name="org.wso2.carbon.device.mgt.core.service.GroupManagementProviderServiceTest"/>
|
||||||
<class name="org.wso2.carbon.device.mgt.core.operation.OperationManagementTests"/>
|
<class name="org.wso2.carbon.device.mgt.core.operation.OperationManagementTests"/>
|
||||||
|
<class name="org.wso2.carbon.device.mgt.core.geo.service.GeoLocationProviderServiceTest"/>
|
||||||
<class name="org.wso2.carbon.device.mgt.core.operation.ScheduledTaskOperationTests"/>
|
<class name="org.wso2.carbon.device.mgt.core.operation.ScheduledTaskOperationTests"/>
|
||||||
<class name="org.wso2.carbon.device.mgt.core.permission.mgt.PermissionManagerServiceTest" />
|
<class name="org.wso2.carbon.device.mgt.core.permission.mgt.PermissionManagerServiceTest" />
|
||||||
<class name="org.wso2.carbon.device.mgt.core.notification.mgt.NotificationManagementServiceImplTests"/>
|
<class name="org.wso2.carbon.device.mgt.core.notification.mgt.NotificationManagementServiceImplTests"/>
|
||||||
<class name="org.wso2.carbon.device.mgt.core.task.DeviceTaskManagerServiceTest"/>
|
<class name="org.wso2.carbon.device.mgt.core.task.DeviceTaskManagerServiceTest"/>
|
||||||
|
<class name="org.wso2.carbon.device.mgt.core.authorization.DeviceAccessAuthorizationServiceTest"/>
|
||||||
</classes>
|
</classes>
|
||||||
</test>
|
</test>
|
||||||
</suite>
|
</suite>
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>device-mgt</artifactId>
|
<artifactId>device-mgt</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
@ -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>
|
||||||
|
|||||||
@ -130,6 +130,17 @@ public class DeviceTypeManager implements DeviceManager {
|
|||||||
//Check whether device dao definition exist.
|
//Check whether device dao definition exist.
|
||||||
String tableName = deviceTypeConfiguration.getDeviceDetails().getTableId();
|
String tableName = deviceTypeConfiguration.getDeviceDetails().getTableId();
|
||||||
if (tableName != null && !tableName.isEmpty()) {
|
if (tableName != null && !tableName.isEmpty()) {
|
||||||
|
DataSource dataSource = deviceTypeConfiguration.getDataSource();
|
||||||
|
if (dataSource == null) {
|
||||||
|
throw new DeviceTypeDeployerPayloadException("Could not find the datasource related with the "
|
||||||
|
+ "table id " + tableName + " for the device type " + deviceType);
|
||||||
|
}
|
||||||
|
TableConfig tableConfig = dataSource.getTableConfig();
|
||||||
|
|
||||||
|
if (tableConfig == null) {
|
||||||
|
throw new DeviceTypeDeployerPayloadException("Could not find the table config with the "
|
||||||
|
+ "table id " + tableName + " for the device type " + deviceType);
|
||||||
|
}
|
||||||
List<Table> tables = deviceTypeConfiguration.getDataSource().getTableConfig().getTable();
|
List<Table> tables = deviceTypeConfiguration.getDataSource().getTableConfig().getTable();
|
||||||
Table deviceDefinitionTable = null;
|
Table deviceDefinitionTable = null;
|
||||||
for (Table table : tables) {
|
for (Table table : tables) {
|
||||||
|
|||||||
@ -21,33 +21,10 @@ package org.wso2.carbon.device.mgt.extensions.device.type.template.config.except
|
|||||||
public class DeviceTypeConfigurationException extends Exception {
|
public class DeviceTypeConfigurationException extends Exception {
|
||||||
|
|
||||||
private static final long serialVersionUID = -3151279431229070297L;
|
private static final long serialVersionUID = -3151279431229070297L;
|
||||||
|
|
||||||
public DeviceTypeConfigurationException(int errorCode, String message) {
|
|
||||||
super(message);
|
|
||||||
}
|
|
||||||
|
|
||||||
public DeviceTypeConfigurationException(int errorCode, String message, Throwable cause) {
|
|
||||||
super(message, cause);
|
|
||||||
}
|
|
||||||
|
|
||||||
public DeviceTypeConfigurationException(String msg, Exception nestedEx) {
|
public DeviceTypeConfigurationException(String msg, Exception nestedEx) {
|
||||||
super(msg, nestedEx);
|
super(msg, nestedEx);
|
||||||
}
|
}
|
||||||
|
|
||||||
public DeviceTypeConfigurationException(String message, Throwable cause) {
|
|
||||||
super(message, cause);
|
|
||||||
}
|
|
||||||
|
|
||||||
public DeviceTypeConfigurationException(String msg) {
|
|
||||||
super(msg);
|
|
||||||
}
|
|
||||||
|
|
||||||
public DeviceTypeConfigurationException() {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
|
|
||||||
public DeviceTypeConfigurationException(Throwable cause) {
|
|
||||||
super(cause);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,53 +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.device.type.template.config.exception;
|
|
||||||
|
|
||||||
public class InvalidConfigurationStateException extends RuntimeException {
|
|
||||||
|
|
||||||
private static final long serialVersionUID = -3151279411229070297L;
|
|
||||||
|
|
||||||
public InvalidConfigurationStateException(int errorCode, String message) {
|
|
||||||
super(message);
|
|
||||||
}
|
|
||||||
|
|
||||||
public InvalidConfigurationStateException(int errorCode, String message, Throwable cause) {
|
|
||||||
super(message, cause);
|
|
||||||
}
|
|
||||||
|
|
||||||
public InvalidConfigurationStateException(String msg, Exception nestedEx) {
|
|
||||||
super(msg, nestedEx);
|
|
||||||
}
|
|
||||||
|
|
||||||
public InvalidConfigurationStateException(String message, Throwable cause) {
|
|
||||||
super(message, cause);
|
|
||||||
}
|
|
||||||
|
|
||||||
public InvalidConfigurationStateException(String msg) {
|
|
||||||
super(msg);
|
|
||||||
}
|
|
||||||
|
|
||||||
public InvalidConfigurationStateException() {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
|
|
||||||
public InvalidConfigurationStateException(Throwable cause) {
|
|
||||||
super(cause);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -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 ");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -26,20 +26,9 @@ public class DeviceTypeDeployerPayloadException extends RuntimeException {
|
|||||||
super(msg, nestedEx);
|
super(msg, nestedEx);
|
||||||
}
|
}
|
||||||
|
|
||||||
public DeviceTypeDeployerPayloadException(String message, Throwable cause) {
|
|
||||||
super(message, cause);
|
|
||||||
}
|
|
||||||
|
|
||||||
public DeviceTypeDeployerPayloadException(String msg) {
|
public DeviceTypeDeployerPayloadException(String msg) {
|
||||||
super(msg);
|
super(msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
public DeviceTypeDeployerPayloadException() {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
|
|
||||||
public DeviceTypeDeployerPayloadException(Throwable cause) {
|
|
||||||
super(cause);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -26,20 +26,4 @@ public class DeviceTypeMgtPluginException extends Exception{
|
|||||||
super(msg, nestedEx);
|
super(msg, nestedEx);
|
||||||
}
|
}
|
||||||
|
|
||||||
public DeviceTypeMgtPluginException(String message, Throwable cause) {
|
|
||||||
super(message, cause);
|
|
||||||
}
|
|
||||||
|
|
||||||
public DeviceTypeMgtPluginException(String msg) {
|
|
||||||
super(msg);
|
|
||||||
}
|
|
||||||
|
|
||||||
public DeviceTypeMgtPluginException() {
|
|
||||||
super();
|
|
||||||
}
|
|
||||||
|
|
||||||
public DeviceTypeMgtPluginException(Throwable cause) {
|
|
||||||
super(cause);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -39,9 +39,15 @@ public class FileSystemBasedLicenseManager implements LicenseManager {
|
|||||||
String licenseConfigPath =
|
String licenseConfigPath =
|
||||||
PATH_MOBILE_PLUGIN_CONF_DIR + File.separator + deviceType + File.separator + "license.xml";
|
PATH_MOBILE_PLUGIN_CONF_DIR + File.separator + deviceType + File.separator + "license.xml";
|
||||||
File licenseConfig = new File(licenseConfigPath);
|
File licenseConfig = new File(licenseConfigPath);
|
||||||
|
|
||||||
|
if (!licenseConfig.exists()) {
|
||||||
|
throw new LicenseManagementException(
|
||||||
|
"License file not found in the path for the device type " + deviceType);
|
||||||
|
}
|
||||||
JAXBContext context = JAXBContext.newInstance(License.class);
|
JAXBContext context = JAXBContext.newInstance(License.class);
|
||||||
Unmarshaller unmarshaller = context.createUnmarshaller();
|
Unmarshaller unmarshaller = context.createUnmarshaller();
|
||||||
return (License) unmarshaller.unmarshal(licenseConfig);
|
return (License) unmarshaller.unmarshal(licenseConfig);
|
||||||
|
|
||||||
} catch (JAXBException e) {
|
} catch (JAXBException e) {
|
||||||
throw new LicenseManagementException("Error occurred while un-marshalling license configuration " +
|
throw new LicenseManagementException("Error occurred while un-marshalling license configuration " +
|
||||||
"used for '" + deviceType + "' platform from file system", e);
|
"used for '" + deviceType + "' platform from file system", e);
|
||||||
|
|||||||
@ -51,7 +51,7 @@ public class BaseExtensionsTest {
|
|||||||
@BeforeSuite
|
@BeforeSuite
|
||||||
public void init() throws RegistryException, IOException {
|
public void init() throws RegistryException, IOException {
|
||||||
ClassLoader classLoader = getClass().getClassLoader();
|
ClassLoader classLoader = getClass().getClassLoader();
|
||||||
URL resourceUrl = classLoader.getResource("license.rxt");
|
URL resourceUrl = classLoader.getResource(Utils.DEVICE_TYPE_FOLDER + "license.rxt");
|
||||||
String rxt = null;
|
String rxt = null;
|
||||||
File carbonHome;
|
File carbonHome;
|
||||||
if (resourceUrl != null) {
|
if (resourceUrl != null) {
|
||||||
|
|||||||
@ -0,0 +1,124 @@
|
|||||||
|
/*
|
||||||
|
* 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;
|
||||||
|
|
||||||
|
import org.testng.annotations.BeforeTest;
|
||||||
|
import org.testng.annotations.Test;
|
||||||
|
import org.wso2.carbon.base.MultitenantConstants;
|
||||||
|
import org.wso2.carbon.device.mgt.extensions.device.type.template.config.DataSource;
|
||||||
|
import org.wso2.carbon.device.mgt.extensions.device.type.template.config.DeviceTypeConfiguration;
|
||||||
|
import org.wso2.carbon.device.mgt.extensions.device.type.template.config.exception.DeviceTypeConfigurationException;
|
||||||
|
import org.wso2.carbon.device.mgt.extensions.device.type.template.exception.DeviceTypeDeployerPayloadException;
|
||||||
|
import org.wso2.carbon.device.mgt.extensions.utils.Utils;
|
||||||
|
import org.xml.sax.SAXException;
|
||||||
|
|
||||||
|
import javax.xml.bind.JAXBException;
|
||||||
|
import javax.xml.parsers.ParserConfigurationException;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.net.URL;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class tests the negative scenarios in {@link DeviceTypeManager} initialization;
|
||||||
|
*/
|
||||||
|
public class DeviceTypeManagerNegativeTest {
|
||||||
|
private DeviceTypeConfiguration defectiveDeviceTypeConfiguration1;
|
||||||
|
private DeviceTypeConfiguration defectiveDeviceTypeConfiguration2;
|
||||||
|
private DeviceTypeConfiguration androidDeviceTypeConfiguration;
|
||||||
|
private DeviceTypeConfigIdentifier deviceTypeConfigIdentifier;
|
||||||
|
private final String DEFECTIVE_DEVICE_TYPE = "defectiveDeviceType";
|
||||||
|
private final String TABLE_NAME = "DEFECTIVE_DEVICE";
|
||||||
|
|
||||||
|
@BeforeTest
|
||||||
|
public void setup()
|
||||||
|
throws SAXException, JAXBException, ParserConfigurationException, DeviceTypeConfigurationException,
|
||||||
|
IOException {
|
||||||
|
ClassLoader classLoader = getClass().getClassLoader();
|
||||||
|
URL resourceUrl = classLoader.getResource(Utils.DEVICE_TYPE_FOLDER + "defective-devicetype.xml");
|
||||||
|
File configurationFile = null;
|
||||||
|
if (resourceUrl != null) {
|
||||||
|
configurationFile = new File(resourceUrl.getFile());
|
||||||
|
}
|
||||||
|
if (configurationFile != null) {
|
||||||
|
defectiveDeviceTypeConfiguration1 = Utils.getDeviceTypeConfiguration(configurationFile.getAbsoluteFile());
|
||||||
|
}
|
||||||
|
deviceTypeConfigIdentifier = new DeviceTypeConfigIdentifier(DEFECTIVE_DEVICE_TYPE,
|
||||||
|
MultitenantConstants.SUPER_TENANT_DOMAIN_NAME);
|
||||||
|
|
||||||
|
resourceUrl = classLoader.getResource(Utils.DEVICE_TYPE_FOLDER + "defective-devicetype2.xml");
|
||||||
|
if (resourceUrl != null) {
|
||||||
|
configurationFile = new File(resourceUrl.getFile());
|
||||||
|
}
|
||||||
|
if (configurationFile != null) {
|
||||||
|
defectiveDeviceTypeConfiguration2 = Utils.getDeviceTypeConfiguration(configurationFile.getAbsoluteFile());
|
||||||
|
}
|
||||||
|
|
||||||
|
resourceUrl = classLoader.getResource(Utils.DEVICE_TYPE_FOLDER + "android.xml");
|
||||||
|
if (resourceUrl != null) {
|
||||||
|
configurationFile = new File(resourceUrl.getFile());
|
||||||
|
}
|
||||||
|
if (configurationFile != null) {
|
||||||
|
androidDeviceTypeConfiguration = Utils.getDeviceTypeConfiguration(configurationFile.getAbsoluteFile());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(description = "This test case tests the behaviour of the DeviceTypeManager creation without defining the "
|
||||||
|
+ "datasource but by specifying the table id", expectedExceptions = { DeviceTypeDeployerPayloadException
|
||||||
|
.class}, expectedExceptionsMessageRegExp = "Could not find the datasource related with the table id "
|
||||||
|
+ TABLE_NAME + " for the device type " + DEFECTIVE_DEVICE_TYPE)
|
||||||
|
public void testWithoutDataSource() {
|
||||||
|
new DeviceTypeManager(deviceTypeConfigIdentifier, defectiveDeviceTypeConfiguration1);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(description = "This test case tests the behaviour of the DeviceTypeManager creation without defining the "
|
||||||
|
+ "table config",expectedExceptions = { DeviceTypeDeployerPayloadException.class},
|
||||||
|
expectedExceptionsMessageRegExp = "Could not find the table config with the table id " + TABLE_NAME
|
||||||
|
+ " for the device type " + DEFECTIVE_DEVICE_TYPE,
|
||||||
|
dependsOnMethods = {"testWithoutDataSource"})
|
||||||
|
public void testWithoutTableConfig() {
|
||||||
|
DataSource dataSource = new DataSource();
|
||||||
|
defectiveDeviceTypeConfiguration1.setDataSource(dataSource);
|
||||||
|
new DeviceTypeManager(deviceTypeConfigIdentifier, defectiveDeviceTypeConfiguration1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(description = "This test case tests the behaviour of the DeviceTypeManager creation without defining the "
|
||||||
|
+ "correct table as per the device details",
|
||||||
|
expectedExceptions = { DeviceTypeDeployerPayloadException.class},
|
||||||
|
expectedExceptionsMessageRegExp = "Could not find definition for table: " + TABLE_NAME)
|
||||||
|
public void testWithoutTable() {
|
||||||
|
new DeviceTypeManager(deviceTypeConfigIdentifier, defectiveDeviceTypeConfiguration2);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(description = "This test case tests the behaviour of the DeviceTypeManager creation without having the "
|
||||||
|
+ "actual datasource", expectedExceptions = {DeviceTypeDeployerPayloadException.class},
|
||||||
|
expectedExceptionsMessageRegExp = "Error while looking up the data source.*")
|
||||||
|
public void testWithoutProperDataSource() {
|
||||||
|
new DeviceTypeManager(deviceTypeConfigIdentifier, androidDeviceTypeConfiguration);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(description = "This test case tests the behaviour of the DeviceTypeManager creation without having the "
|
||||||
|
+ "actual datasource", expectedExceptions = {DeviceTypeDeployerPayloadException.class},
|
||||||
|
expectedExceptionsMessageRegExp = "Error while looking up the data source.*")
|
||||||
|
public void testWithSetupParameters() {
|
||||||
|
System.setProperty("setup", "true");
|
||||||
|
new DeviceTypeManager(deviceTypeConfigIdentifier, androidDeviceTypeConfiguration);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -124,7 +124,7 @@ public class DeviceTypeManagerServiceTest {
|
|||||||
operationMonitoringConfigs.set(rasberrypiDeviceTypeManagerService, new OperationMonitoringTaskConfig());
|
operationMonitoringConfigs.set(rasberrypiDeviceTypeManagerService, new OperationMonitoringTaskConfig());
|
||||||
initialOperationConfig.set(rasberrypiDeviceTypeManagerService, new InitialOperationConfig());
|
initialOperationConfig.set(rasberrypiDeviceTypeManagerService, new InitialOperationConfig());
|
||||||
|
|
||||||
URL resourceUrl = classLoader.getResource("android.xml");
|
URL resourceUrl = classLoader.getResource(Utils.DEVICE_TYPE_FOLDER + "android.xml");
|
||||||
|
|
||||||
File androidConfiguration = null;
|
File androidConfiguration = null;
|
||||||
if (resourceUrl != null) {
|
if (resourceUrl != null) {
|
||||||
@ -132,7 +132,7 @@ public class DeviceTypeManagerServiceTest {
|
|||||||
}
|
}
|
||||||
androidDeviceConfiguration = Utils.getDeviceTypeConfiguration(androidConfiguration);
|
androidDeviceConfiguration = Utils.getDeviceTypeConfiguration(androidConfiguration);
|
||||||
|
|
||||||
resourceUrl = classLoader.getResource("raspberrypi.xml");
|
resourceUrl = classLoader.getResource(Utils.DEVICE_TYPE_FOLDER + "raspberrypi.xml");
|
||||||
File raspberrypiConfiguration = null;
|
File raspberrypiConfiguration = null;
|
||||||
if (resourceUrl != null) {
|
if (resourceUrl != null) {
|
||||||
raspberrypiConfiguration = new File(resourceUrl.getFile());
|
raspberrypiConfiguration = new File(resourceUrl.getFile());
|
||||||
@ -304,7 +304,7 @@ public class DeviceTypeManagerServiceTest {
|
|||||||
throws RegistryException, IOException, SAXException, ParserConfigurationException,
|
throws RegistryException, IOException, SAXException, ParserConfigurationException,
|
||||||
DeviceTypeConfigurationException, JAXBException {
|
DeviceTypeConfigurationException, JAXBException {
|
||||||
ClassLoader classLoader = getClass().getClassLoader();
|
ClassLoader classLoader = getClass().getClassLoader();
|
||||||
URL resourceUrl = classLoader.getResource("arduino.xml");
|
URL resourceUrl = classLoader.getResource(Utils.DEVICE_TYPE_FOLDER + "arduino.xml");
|
||||||
File arduinoConfiguration = null;
|
File arduinoConfiguration = null;
|
||||||
if (resourceUrl != null) {
|
if (resourceUrl != null) {
|
||||||
arduinoConfiguration = new File(resourceUrl.getFile());
|
arduinoConfiguration = new File(resourceUrl.getFile());
|
||||||
|
|||||||
@ -71,12 +71,13 @@ public class DeviceTypeManagerTest {
|
|||||||
private Field deviceTypePluginDAOField;
|
private Field deviceTypePluginDAOField;
|
||||||
private Field deviceTypeDAOHandlerField;
|
private Field deviceTypeDAOHandlerField;
|
||||||
private String[] customDeviceTypeProperties = {"custom_property", "custom_property2"};
|
private String[] customDeviceTypeProperties = {"custom_property", "custom_property2"};
|
||||||
|
private final String SQL_FOLDER = "sql-files" + File.separator;
|
||||||
|
|
||||||
@BeforeTest(description = "Mocking the classes for testing")
|
@BeforeTest(description = "Mocking the classes for testing")
|
||||||
public void setup() throws NoSuchFieldException, IllegalAccessException, IOException, SQLException, SAXException,
|
public void setup() throws NoSuchFieldException, IllegalAccessException, IOException, SQLException, SAXException,
|
||||||
ParserConfigurationException, DeviceTypeConfigurationException, JAXBException {
|
ParserConfigurationException, DeviceTypeConfigurationException, JAXBException {
|
||||||
ClassLoader classLoader = getClass().getClassLoader();
|
ClassLoader classLoader = getClass().getClassLoader();
|
||||||
URL resourceUrl = classLoader.getResource("android_h2.sql");
|
URL resourceUrl = classLoader.getResource(SQL_FOLDER + "android_h2.sql");
|
||||||
androidDeviceType = "android";
|
androidDeviceType = "android";
|
||||||
File androidDatabaseScript = null;
|
File androidDatabaseScript = null;
|
||||||
javax.sql.DataSource dataSource = null;
|
javax.sql.DataSource dataSource = null;
|
||||||
@ -85,7 +86,7 @@ public class DeviceTypeManagerTest {
|
|||||||
if (resourceUrl != null) {
|
if (resourceUrl != null) {
|
||||||
androidDatabaseScript = new File(resourceUrl.getFile());
|
androidDatabaseScript = new File(resourceUrl.getFile());
|
||||||
}
|
}
|
||||||
resourceUrl = classLoader.getResource("android.xml");
|
resourceUrl = classLoader.getResource(Utils.DEVICE_TYPE_FOLDER + "android.xml");
|
||||||
|
|
||||||
if (resourceUrl != null) {
|
if (resourceUrl != null) {
|
||||||
androidConfiguration = new File(resourceUrl.getFile());
|
androidConfiguration = new File(resourceUrl.getFile());
|
||||||
@ -295,7 +296,7 @@ public class DeviceTypeManagerTest {
|
|||||||
private DeviceTypePluginDAOManager createPluginBasedDeviceTypeManager()
|
private DeviceTypePluginDAOManager createPluginBasedDeviceTypeManager()
|
||||||
throws IOException, SQLException, NoSuchFieldException, IllegalAccessException {
|
throws IOException, SQLException, NoSuchFieldException, IllegalAccessException {
|
||||||
ClassLoader classLoader = getClass().getClassLoader();
|
ClassLoader classLoader = getClass().getClassLoader();
|
||||||
URL resourceUrl = classLoader.getResource("h2.sql");
|
URL resourceUrl = classLoader.getResource(SQL_FOLDER + "h2.sql");
|
||||||
File cdmDataScript = null;
|
File cdmDataScript = null;
|
||||||
javax.sql.DataSource dataSource = null;
|
javax.sql.DataSource dataSource = null;
|
||||||
if (resourceUrl != null) {
|
if (resourceUrl != null) {
|
||||||
|
|||||||
@ -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;
|
||||||
@ -52,6 +54,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 +86,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})
|
||||||
@ -126,7 +154,7 @@ public class HttpDeviceTypeManagerServiceAndDeviceTypeGeneratorServceTest {
|
|||||||
throws SAXException, JAXBException, ParserConfigurationException, DeviceTypeConfigurationException,
|
throws SAXException, JAXBException, ParserConfigurationException, DeviceTypeConfigurationException,
|
||||||
IOException {
|
IOException {
|
||||||
ClassLoader classLoader = getClass().getClassLoader();
|
ClassLoader classLoader = getClass().getClassLoader();
|
||||||
URL resourceUrl = classLoader.getResource("android_sense.xml");
|
URL resourceUrl = classLoader.getResource(Utils.DEVICE_TYPE_FOLDER + "android_sense.xml");
|
||||||
File androidSenseConfiguration = null;
|
File androidSenseConfiguration = null;
|
||||||
|
|
||||||
if (resourceUrl != null) {
|
if (resourceUrl != null) {
|
||||||
|
|||||||
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -21,7 +21,6 @@ package org.wso2.carbon.device.mgt.extensions.utils;
|
|||||||
|
|
||||||
import org.h2.jdbcx.JdbcDataSource;
|
import org.h2.jdbcx.JdbcDataSource;
|
||||||
import org.w3c.dom.Document;
|
import org.w3c.dom.Document;
|
||||||
import org.wso2.carbon.device.mgt.common.configuration.mgt.PlatformConfiguration;
|
|
||||||
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder;
|
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder;
|
||||||
import org.wso2.carbon.device.mgt.extensions.device.type.template.config.DeviceDetails;
|
import org.wso2.carbon.device.mgt.extensions.device.type.template.config.DeviceDetails;
|
||||||
import org.wso2.carbon.device.mgt.extensions.device.type.template.config.DeviceTypeConfiguration;
|
import org.wso2.carbon.device.mgt.extensions.device.type.template.config.DeviceTypeConfiguration;
|
||||||
@ -56,16 +55,18 @@ import java.util.List;
|
|||||||
* This class handles the test utility tasks.
|
* This class handles the test utility tasks.
|
||||||
*/
|
*/
|
||||||
public class Utils {
|
public class Utils {
|
||||||
|
public static final String DEVICE_TYPE_FOLDER = "device-types" + File.separator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* To get the device type configuration based on the configuration file
|
* To get the device type configuration based on the configuration file
|
||||||
|
*
|
||||||
* @param configurationFile Relevant configuration file of a device type
|
* @param configurationFile Relevant configuration file of a device type
|
||||||
* @return the DeviceTypeConfiguration object of the relevant Device Type
|
* @return the DeviceTypeConfiguration object of the relevant Device Type
|
||||||
* @throws DeviceTypeConfigurationException DeviceType Configuration Exception
|
* @throws DeviceTypeConfigurationException DeviceType Configuration Exception
|
||||||
* @throws IOException IO Exception
|
* @throws IOException IO Exception
|
||||||
* @throws SAXException SAX Exception
|
* @throws SAXException SAX Exception
|
||||||
* @throws ParserConfigurationException Parser Configuration Exception
|
* @throws ParserConfigurationException Parser Configuration Exception
|
||||||
* @throws JAXBException JAXB Exception
|
* @throws JAXBException JAXB Exception
|
||||||
*/
|
*/
|
||||||
public static DeviceTypeConfiguration getDeviceTypeConfiguration(File configurationFile)
|
public static DeviceTypeConfiguration getDeviceTypeConfiguration(File configurationFile)
|
||||||
throws DeviceTypeConfigurationException, IOException, SAXException, ParserConfigurationException,
|
throws DeviceTypeConfigurationException, IOException, SAXException, ParserConfigurationException,
|
||||||
|
|||||||
@ -0,0 +1,84 @@
|
|||||||
|
/*
|
||||||
|
* 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.utils;
|
||||||
|
|
||||||
|
import org.testng.Assert;
|
||||||
|
import org.testng.annotations.BeforeTest;
|
||||||
|
import org.testng.annotations.Test;
|
||||||
|
import org.wso2.carbon.base.MultitenantConstants;
|
||||||
|
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.extensions.device.type.template.util.DeviceSchemaInitializer;
|
||||||
|
import org.wso2.carbon.device.mgt.extensions.license.mgt.file.FileSystemBasedLicenseManager;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.lang.reflect.InvocationTargetException;
|
||||||
|
import java.lang.reflect.Method;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is a test case for testing common utilities used.
|
||||||
|
*/
|
||||||
|
public class UtilsTest {
|
||||||
|
private FileSystemBasedLicenseManager fileSystemBasedLicenseManager;
|
||||||
|
|
||||||
|
@BeforeTest
|
||||||
|
public void setup() {
|
||||||
|
fileSystemBasedLicenseManager = new FileSystemBasedLicenseManager();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(description = "This testcase tests the functionality of the DeviceSchemaInitializer")
|
||||||
|
public void testDeviceSchemaInitializer()
|
||||||
|
throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
|
||||||
|
String deviceType = "sample2";
|
||||||
|
String expectedDBLocation =
|
||||||
|
System.getProperty("carbon.home") + File.separator + "dbscripts" + File.separator + "cdm"
|
||||||
|
+ File.separator + "plugins" + File.separator + deviceType + File.separator + "h2.sql";
|
||||||
|
DeviceSchemaInitializer deviceSchemaInitializer = new DeviceSchemaInitializer(null, deviceType,
|
||||||
|
MultitenantConstants.SUPER_TENANT_DOMAIN_NAME);
|
||||||
|
Method getDbScriptLocation = DeviceSchemaInitializer.class
|
||||||
|
.getDeclaredMethod("getDbScriptLocation", String.class);
|
||||||
|
getDbScriptLocation.setAccessible(true);
|
||||||
|
|
||||||
|
String dbLocation = (String) getDbScriptLocation.invoke(deviceSchemaInitializer, "h2");
|
||||||
|
Assert.assertEquals(dbLocation, expectedDBLocation,
|
||||||
|
"Expected DB location for the device type is not retrieved");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(description = "This test case tests the getLicense method of the FileBasedLicenseManager")
|
||||||
|
public void testFileBasedLicenseManagerGetLicense() throws LicenseManagementException {
|
||||||
|
License fileBasedLicense = fileSystemBasedLicenseManager.getLicense("test","en_US");
|
||||||
|
Assert.assertEquals(fileBasedLicense.getText(), "This is a file based license",
|
||||||
|
"FileBased License cannot " + "be retrieved by FileBasedLicenseManager");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(description = "This test case tests the behaviour of file based license manager when the relevant license "
|
||||||
|
+ "is missing in file system", expectedExceptions = {LicenseManagementException.class},
|
||||||
|
expectedExceptionsMessageRegExp = "License file not found in the path for the device type test2")
|
||||||
|
public void testFileBasedLicenseManagerGetNonExistingLicense() throws LicenseManagementException {
|
||||||
|
fileSystemBasedLicenseManager.getLicense("test2","en_US");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(description = "This test case make sure the File Based License cannot be added without adding directly to "
|
||||||
|
+ "file system", expectedExceptions = {UnsupportedOperationException.class},
|
||||||
|
expectedExceptionsMessageRegExp = "'addLicense' method is not supported in FileSystemBasedLicenseManager")
|
||||||
|
public void testFileBasedLicenseManagerAddLicense() throws LicenseManagementException {
|
||||||
|
fileSystemBasedLicenseManager.addLicense("test", null);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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>
|
||||||
@ -0,0 +1,25 @@
|
|||||||
|
<?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.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<License>
|
||||||
|
<Language>en_US</Language>
|
||||||
|
<Version>1.0.0</Version>
|
||||||
|
<Text>This is a file based license</Text>
|
||||||
|
</License>
|
||||||
@ -378,4 +378,4 @@
|
|||||||
<Property Name="example">admin</Property>
|
<Property Name="example">admin</Property>
|
||||||
</ConfigProperties>
|
</ConfigProperties>
|
||||||
</PullNotificationSubscriberConfig>
|
</PullNotificationSubscriberConfig>
|
||||||
</DeviceTypeConfiguration>
|
</DeviceTypeConfiguration>
|
||||||
@ -0,0 +1,45 @@
|
|||||||
|
<?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.
|
||||||
|
-->
|
||||||
|
<DeviceTypeConfiguration name="defective-devicetype">
|
||||||
|
<DeviceDetails table-id="DEFECTIVE_DEVICE"/>
|
||||||
|
|
||||||
|
<Features>
|
||||||
|
<Feature code="bulb">
|
||||||
|
<Name>Control Bulb</Name>
|
||||||
|
<Description>Control Bulb on Arduino Uno</Description>
|
||||||
|
<Operation context="/arduino/device/{deviceId}/bulb" method="POST">
|
||||||
|
<QueryParameters>
|
||||||
|
<Parameter>state</Parameter>
|
||||||
|
</QueryParameters>
|
||||||
|
</Operation>
|
||||||
|
</Feature>
|
||||||
|
</Features>
|
||||||
|
|
||||||
|
<ProvisioningConfig>
|
||||||
|
<SharedWithAllTenants>true</SharedWithAllTenants>
|
||||||
|
</ProvisioningConfig>
|
||||||
|
|
||||||
|
<License>
|
||||||
|
<Language>en_US</Language>
|
||||||
|
<Version>1.0.0</Version>
|
||||||
|
<Text>This is license text</Text>
|
||||||
|
</License>
|
||||||
|
|
||||||
|
</DeviceTypeConfiguration>
|
||||||
@ -0,0 +1,55 @@
|
|||||||
|
<?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.
|
||||||
|
-->
|
||||||
|
<DeviceTypeConfiguration name="defective-devicetype">
|
||||||
|
<DeviceDetails table-id="DEFECTIVE_DEVICE"/>
|
||||||
|
|
||||||
|
<Features>
|
||||||
|
<Feature code="bulb">
|
||||||
|
<Name>Control Bulb</Name>
|
||||||
|
<Description>Control Bulb on Arduino Uno</Description>
|
||||||
|
<Operation context="/arduino/device/{deviceId}/bulb" method="POST">
|
||||||
|
<QueryParameters>
|
||||||
|
<Parameter>state</Parameter>
|
||||||
|
</QueryParameters>
|
||||||
|
</Operation>
|
||||||
|
</Feature>
|
||||||
|
</Features>
|
||||||
|
|
||||||
|
<ProvisioningConfig>
|
||||||
|
<SharedWithAllTenants>true</SharedWithAllTenants>
|
||||||
|
</ProvisioningConfig>
|
||||||
|
|
||||||
|
<License>
|
||||||
|
<Language>en_US</Language>
|
||||||
|
<Version>1.0.0</Version>
|
||||||
|
<Text>This is license text</Text>
|
||||||
|
</License>
|
||||||
|
|
||||||
|
<DataSource>
|
||||||
|
<JndiConfig>
|
||||||
|
<Name>jdbc/MobileAndroidDM_DS</Name>
|
||||||
|
</JndiConfig>
|
||||||
|
<TableConfig>
|
||||||
|
<Table name="AD_DEVICE">
|
||||||
|
</Table>
|
||||||
|
</TableConfig>
|
||||||
|
</DataSource>
|
||||||
|
|
||||||
|
</DeviceTypeConfiguration>
|
||||||
@ -27,6 +27,9 @@
|
|||||||
<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"/>
|
||||||
|
<class name="org.wso2.carbon.device.mgt.extensions.device.type.template.DeviceTypeManagerNegativeTest" />
|
||||||
|
<class name="org.wso2.carbon.device.mgt.extensions.utils.UtilsTest" />
|
||||||
</classes>
|
</classes>
|
||||||
</test>
|
</test>
|
||||||
</suite>
|
</suite>
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>device-mgt</artifactId>
|
<artifactId>device-mgt</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>device-mgt</artifactId>
|
<artifactId>device-mgt</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>carbon-devicemgt</artifactId>
|
<artifactId>carbon-devicemgt</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>email-sender</artifactId>
|
<artifactId>email-sender</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>carbon-devicemgt</artifactId>
|
<artifactId>carbon-devicemgt</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,13 +22,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>identity-extensions</artifactId>
|
<artifactId>identity-extensions</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.device.mgt.oauth.extensions</artifactId>
|
<artifactId>org.wso2.carbon.device.mgt.oauth.extensions</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - OAuth Extensions</name>
|
<name>WSO2 Carbon - OAuth Extensions</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>identity-extensions</artifactId>
|
<artifactId>identity-extensions</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>identity-extensions</artifactId>
|
<artifactId>identity-extensions</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>carbon-devicemgt</artifactId>
|
<artifactId>carbon-devicemgt</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,14 +22,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>policy-mgt</artifactId>
|
<artifactId>policy-mgt</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>org.wso2.carbon.complex.policy.decision.point</artifactId>
|
<artifactId>org.wso2.carbon.complex.policy.decision.point</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - Policy Decision Point</name>
|
<name>WSO2 Carbon - Policy Decision Point</name>
|
||||||
<description>WSO2 Carbon - Policy Decision Point</description>
|
<description>WSO2 Carbon - Policy Decision Point</description>
|
||||||
|
|||||||
@ -3,14 +3,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>policy-mgt</artifactId>
|
<artifactId>policy-mgt</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>org.wso2.carbon.policy.decision.point</artifactId>
|
<artifactId>org.wso2.carbon.policy.decision.point</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - Policy Decision Point</name>
|
<name>WSO2 Carbon - Policy Decision Point</name>
|
||||||
<description>WSO2 Carbon - Policy Decision Point</description>
|
<description>WSO2 Carbon - Policy Decision Point</description>
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>policy-mgt</artifactId>
|
<artifactId>policy-mgt</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
@ -11,7 +11,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>org.wso2.carbon.policy.information.point</artifactId>
|
<artifactId>org.wso2.carbon.policy.information.point</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - Policy Information Point</name>
|
<name>WSO2 Carbon - Policy Information Point</name>
|
||||||
<description>WSO2 Carbon - Policy Information Point</description>
|
<description>WSO2 Carbon - Policy Information Point</description>
|
||||||
|
|||||||
@ -22,14 +22,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>policy-mgt</artifactId>
|
<artifactId>policy-mgt</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>org.wso2.carbon.policy.mgt.common</artifactId>
|
<artifactId>org.wso2.carbon.policy.mgt.common</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - Policy Management Common</name>
|
<name>WSO2 Carbon - Policy Management Common</name>
|
||||||
<description>WSO2 Carbon - Policy Management Common</description>
|
<description>WSO2 Carbon - Policy Management Common</description>
|
||||||
|
|||||||
@ -22,14 +22,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>policy-mgt</artifactId>
|
<artifactId>policy-mgt</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>org.wso2.carbon.policy.mgt.core</artifactId>
|
<artifactId>org.wso2.carbon.policy.mgt.core</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - Policy Management Core</name>
|
<name>WSO2 Carbon - Policy Management Core</name>
|
||||||
<description>WSO2 Carbon - Policy Management Core</description>
|
<description>WSO2 Carbon - Policy Management Core</description>
|
||||||
|
|||||||
@ -23,13 +23,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>carbon-devicemgt</artifactId>
|
<artifactId>carbon-devicemgt</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>policy-mgt</artifactId>
|
<artifactId>policy-mgt</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>WSO2 Carbon - Policy Management Component</name>
|
<name>WSO2 Carbon - Policy Management Component</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<artifactId>carbon-devicemgt</artifactId>
|
<artifactId>carbon-devicemgt</artifactId>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|||||||
@ -21,14 +21,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>webapp-authenticator-framework</artifactId>
|
<artifactId>webapp-authenticator-framework</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>org.wso2.carbon.webapp.authenticator.framework</artifactId>
|
<artifactId>org.wso2.carbon.webapp.authenticator.framework</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<packaging>bundle</packaging>
|
<packaging>bundle</packaging>
|
||||||
<name>WSO2 Carbon - Web Application Authenticator Framework Bundle</name>
|
<name>WSO2 Carbon - Web Application Authenticator Framework Bundle</name>
|
||||||
<description>WSO2 Carbon - Web Application Authenticator Framework Bundle</description>
|
<description>WSO2 Carbon - Web Application Authenticator Framework Bundle</description>
|
||||||
|
|||||||
@ -22,14 +22,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>carbon-devicemgt</artifactId>
|
<artifactId>carbon-devicemgt</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>webapp-authenticator-framework</artifactId>
|
<artifactId>webapp-authenticator-framework</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>WSO2 Carbon - Webapp Authenticator Framework</name>
|
<name>WSO2 Carbon - Webapp Authenticator Framework</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
|
|||||||
@ -21,14 +21,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>apimgt-extensions-feature</artifactId>
|
<artifactId>apimgt-extensions-feature</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.apimgt.application.extension.feature</artifactId>
|
<artifactId>org.wso2.carbon.apimgt.application.extension.feature</artifactId>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<name>WSO2 Carbon - API Management Application Extension Feature</name>
|
<name>WSO2 Carbon - API Management Application Extension Feature</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
<description>This feature contains an implementation of a api application registration, which takes care of subscription
|
<description>This feature contains an implementation of a api application registration, which takes care of subscription
|
||||||
|
|||||||
@ -22,14 +22,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>apimgt-extensions-feature</artifactId>
|
<artifactId>apimgt-extensions-feature</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.apimgt.handler.server.feature</artifactId>
|
<artifactId>org.wso2.carbon.apimgt.handler.server.feature</artifactId>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<name>WSO2 Carbon - Device Management - APIM handler Server Feature</name>
|
<name>WSO2 Carbon - Device Management - APIM handler Server Feature</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
<description>This feature contains the handler for the api authentications
|
<description>This feature contains the handler for the api authentications
|
||||||
|
|||||||
@ -21,13 +21,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>apimgt-extensions-feature</artifactId>
|
<artifactId>apimgt-extensions-feature</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.apimgt.integration.client.feature</artifactId>
|
<artifactId>org.wso2.carbon.apimgt.integration.client.feature</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>WSO2 Carbon - APIM Integration Client Feature</name>
|
<name>WSO2 Carbon - APIM Integration Client Feature</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
|
|||||||
@ -21,14 +21,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>apimgt-extensions-feature</artifactId>
|
<artifactId>apimgt-extensions-feature</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.apimgt.webapp.publisher.feature</artifactId>
|
<artifactId>org.wso2.carbon.apimgt.webapp.publisher.feature</artifactId>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<name>WSO2 Carbon - API Management Webapp Publisher Feature</name>
|
<name>WSO2 Carbon - API Management Webapp Publisher Feature</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
<description>This feature contains an implementation of a Tomcat lifecycle listener, which takes care of publishing
|
<description>This feature contains an implementation of a Tomcat lifecycle listener, which takes care of publishing
|
||||||
|
|||||||
@ -22,14 +22,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>carbon-devicemgt</artifactId>
|
<artifactId>carbon-devicemgt</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>apimgt-extensions-feature</artifactId>
|
<artifactId>apimgt-extensions-feature</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>WSO2 Carbon - API Management Extensions Feature</name>
|
<name>WSO2 Carbon - API Management Extensions Feature</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>certificate-mgt-feature</artifactId>
|
<artifactId>certificate-mgt-feature</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>certificate-mgt-feature</artifactId>
|
<artifactId>certificate-mgt-feature</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -22,14 +22,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>certificate-mgt-feature</artifactId>
|
<artifactId>certificate-mgt-feature</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.certificate.mgt.server.feature</artifactId>
|
<artifactId>org.wso2.carbon.certificate.mgt.server.feature</artifactId>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<name>WSO2 Carbon - Certificate Management Server Feature</name>
|
<name>WSO2 Carbon - Certificate Management Server Feature</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
<description>This feature contains the core bundles required for back-end Certificate Management functionality
|
<description>This feature contains the core bundles required for back-end Certificate Management functionality
|
||||||
|
|||||||
@ -22,14 +22,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>carbon-devicemgt</artifactId>
|
<artifactId>carbon-devicemgt</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>certificate-mgt-feature</artifactId>
|
<artifactId>certificate-mgt-feature</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>WSO2 Carbon - Certificate Management Feature</name>
|
<name>WSO2 Carbon - Certificate Management Feature</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
|
|||||||
@ -22,14 +22,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>device-mgt-extensions-feature</artifactId>
|
<artifactId>device-mgt-extensions-feature</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature</artifactId>
|
<artifactId>org.wso2.carbon.device.mgt.extensions.device.type.deployer.feature</artifactId>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<name>WSO2 Carbon - Device Type Deployer Feature</name>
|
<name>WSO2 Carbon - Device Type Deployer Feature</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
<description>WSO2 Carbon - Device Type Deployer Feature</description>
|
<description>WSO2 Carbon - Device Type Deployer Feature</description>
|
||||||
|
|||||||
@ -22,14 +22,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>device-mgt-extensions-feature</artifactId>
|
<artifactId>device-mgt-extensions-feature</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature</artifactId>
|
<artifactId>org.wso2.carbon.device.mgt.extensions.push.notification.provider.fcm.feature</artifactId>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<name>WSO2 Carbon - FCM Based Push Notification Provider Feature</name>
|
<name>WSO2 Carbon - FCM Based Push Notification Provider Feature</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
<description>WSO2 Carbon - MQTT Based Push Notification Provider Feature</description>
|
<description>WSO2 Carbon - MQTT Based Push Notification Provider Feature</description>
|
||||||
|
|||||||
@ -22,14 +22,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>device-mgt-extensions-feature</artifactId>
|
<artifactId>device-mgt-extensions-feature</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature</artifactId>
|
<artifactId>org.wso2.carbon.device.mgt.extensions.push.notification.provider.http.feature</artifactId>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<name>WSO2 Carbon - MQTT Based Push Notification Provider Feature</name>
|
<name>WSO2 Carbon - MQTT Based Push Notification Provider Feature</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
<description>WSO2 Carbon - MQTT Based Push Notification Provider Feature</description>
|
<description>WSO2 Carbon - MQTT Based Push Notification Provider Feature</description>
|
||||||
|
|||||||
@ -22,14 +22,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>device-mgt-extensions-feature</artifactId>
|
<artifactId>device-mgt-extensions-feature</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature</artifactId>
|
<artifactId>org.wso2.carbon.device.mgt.extensions.push.notification.provider.mqtt.feature</artifactId>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<name>WSO2 Carbon - MQTT Based Push Notification Provider Feature</name>
|
<name>WSO2 Carbon - MQTT Based Push Notification Provider Feature</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
<description>WSO2 Carbon - MQTT Based Push Notification Provider Feature</description>
|
<description>WSO2 Carbon - MQTT Based Push Notification Provider Feature</description>
|
||||||
|
|||||||
@ -22,14 +22,14 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>device-mgt-extensions-feature</artifactId>
|
<artifactId>device-mgt-extensions-feature</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature</artifactId>
|
<artifactId>org.wso2.carbon.device.mgt.extensions.push.notification.provider.xmpp.feature</artifactId>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<name>WSO2 Carbon - XMPP Based Push Notification Provider Feature</name>
|
<name>WSO2 Carbon - XMPP Based Push Notification Provider Feature</name>
|
||||||
<url>http://wso2.org</url>
|
<url>http://wso2.org</url>
|
||||||
<description>WSO2 Carbon - XMPP Based Push Notification Provider Feature</description>
|
<description>WSO2 Carbon - XMPP Based Push Notification Provider Feature</description>
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>carbon-devicemgt</artifactId>
|
<artifactId>carbon-devicemgt</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../../pom.xml</relativePath>
|
<relativePath>../../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
|||||||
@ -3,13 +3,13 @@
|
|||||||
<parent>
|
<parent>
|
||||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||||
<artifactId>device-mgt-feature</artifactId>
|
<artifactId>device-mgt-feature</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<relativePath>../pom.xml</relativePath>
|
<relativePath>../pom.xml</relativePath>
|
||||||
</parent>
|
</parent>
|
||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
<artifactId>org.wso2.carbon.device.mgt.analytics.dashboard.feature</artifactId>
|
<artifactId>org.wso2.carbon.device.mgt.analytics.dashboard.feature</artifactId>
|
||||||
<version>3.0.124-SNAPSHOT</version>
|
<version>3.0.131-SNAPSHOT</version>
|
||||||
<packaging>pom</packaging>
|
<packaging>pom</packaging>
|
||||||
<name>WSO2 Carbon - Device Management Dashboard Analytics Feature</name>
|
<name>WSO2 Carbon - Device Management Dashboard Analytics Feature</name>
|
||||||
<description>WSO2 Carbon - Device Management Dashboard Analytics Feature</description>
|
<description>WSO2 Carbon - Device Management Dashboard Analytics Feature</description>
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user