diff --git a/modules/integration/pom.xml b/modules/integration/pom.xml
index 0356182d..c82420df 100644
--- a/modules/integration/pom.xml
+++ b/modules/integration/pom.xml
@@ -1,6 +1,6 @@
+
tests-iot-web-ui
diff --git a/modules/integration/tests-artifacts/pom.xml b/modules/integration/tests-artifacts/pom.xml
index b82a7758..1abe51e1 100644
--- a/modules/integration/tests-artifacts/pom.xml
+++ b/modules/integration/tests-artifacts/pom.xml
@@ -21,7 +21,7 @@
org.wso2.iot
wso2iot-integration
- 3.1.0-SNAPSHOT
+ 3.0.0-SNAPSHOT
../pom.xml
diff --git a/modules/integration/tests-common/integration-test-utils/pom.xml b/modules/integration/tests-common/integration-test-utils/pom.xml
index d188db50..cc62f18c 100644
--- a/modules/integration/tests-common/integration-test-utils/pom.xml
+++ b/modules/integration/tests-common/integration-test-utils/pom.xml
@@ -36,6 +36,6 @@
Apache License Version 2.0
http://www.apache.org/licenses/LICENSE-2.0
-
+
diff --git a/modules/integration/tests-common/pom.xml b/modules/integration/tests-common/pom.xml
index 027bb14a..4692faac 100644
--- a/modules/integration/tests-common/pom.xml
+++ b/modules/integration/tests-common/pom.xml
@@ -21,7 +21,7 @@
org.wso2.iot
wso2iot-integration
- 3.1.0-SNAPSHOT
+ 3.0.0-SNAPSHOT
../pom.xml
diff --git a/modules/integration/tests-common/ui-pages/pom.xml b/modules/integration/tests-common/ui-pages/pom.xml
new file mode 100644
index 00000000..13d5dcd2
--- /dev/null
+++ b/modules/integration/tests-common/ui-pages/pom.xml
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+ org.wso2.iot
+ tests-common
+ 3.0.0-SNAPSHOT
+ ../pom.xml
+
+
+ 4.0.0
+ org.wso2.carbon.iot.core.integration.ui.pages
+ jar
+ WSO2 IoT - Integration Test Common UI Pages
+
+
+
+ org.wso2.carbon.automationutils
+ org.wso2.carbon.integration.common.admin.client
+ compile
+
+
+ org.wso2.carbon
+ org.wso2.carbon.user.mgt.stub
+
+
+ org.wso2.carbon
+ org.wso2.carbon.logging.view.stub
+
+
+ org.wso2.carbon
+ org.wso2.carbon.ndatasource.stub
+
+
+ org.wso2.carbon
+ org.wso2.carbon.server.admin.stub
+
+
+ org.wso2.carbon
+ org.wso2.carbon.throttle.stub
+
+
+ org.wso2.carbon
+ org.wso2.carbon.tenant.mgt.stub
+
+
+ org.wso2.carbon
+ org.wso2.carbon.application.mgt.stub
+
+
+ org.wso2.carbon
+ org.wso2.carbon.security.mgt.stub
+
+
+ org.wso2.carbon
+ org.wso2.carbon.identity.user.profile.stub
+
+
+ org.wso2.carbon
+ org.wso2.carbon.identity.user.profile.stub
+
+
+ org.slf4j
+ slf4j-api
+
+
+
+
+ org.wso2.carbon.automation
+ org.wso2.carbon.automation.extensions
+ compile
+
+
+ org.slf4j
+ slf4j-api
+
+
+
+
+ org.testng
+ testng
+ compile
+
+
+ org.wso2.carbon.automation
+ org.wso2.carbon.automation.test.utils
+ compile
+
+
+ org.wso2.carbon.automation
+ org.wso2.carbon.automation.engine
+ compile
+
+
+
+
diff --git a/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/EMMIntegrationUiBaseTestCase.java b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/EMMIntegrationUiBaseTestCase.java
new file mode 100644
index 00000000..14f29c52
--- /dev/null
+++ b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/EMMIntegrationUiBaseTestCase.java
@@ -0,0 +1,71 @@
+/*
+ * 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.iot.integration.ui.pages;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.wso2.carbon.authenticator.stub.LoginAuthenticationExceptionException;
+import org.wso2.carbon.automation.engine.context.AutomationContext;
+import org.wso2.carbon.automation.engine.context.TestUserMode;
+import org.wso2.carbon.automation.test.utils.common.HomePageGenerator;
+import org.wso2.carbon.integration.common.admin.client.AuthenticatorClient;
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.xpath.XPathExpressionException;
+import java.io.IOException;
+import java.rmi.RemoteException;
+
+public class EMMIntegrationUiBaseTestCase {
+
+ private static final Log log = LogFactory.getLog(EMMIntegrationUiBaseTestCase.class);
+ protected AutomationContext automationContext;
+
+ protected void init() throws IOException, XMLStreamException, XPathExpressionException {
+ automationContext = new AutomationContext("EMM", "emm001", TestUserMode.SUPER_TENANT_ADMIN);
+ }
+
+ protected String getBackendURL() throws XPathExpressionException {
+ return automationContext.getContextUrls().getBackEndUrl();
+ }
+
+ protected String getWebAppURL() throws XPathExpressionException {
+ return automationContext.getContextUrls().getWebAppURL();
+ }
+
+ protected String getSessionCookie(AutomationContext context)
+ throws RemoteException, XPathExpressionException,
+ LoginAuthenticationExceptionException {
+ AuthenticatorClient authenticationAdminClient = new AuthenticatorClient(context.getContextUrls().getBackEndUrl());
+ String sessionCookie = authenticationAdminClient.login(automationContext.getSuperTenant().
+ getTenantAdmin().getUserName(), automationContext.getSuperTenant().
+ getTenantAdmin().getPassword(),
+ automationContext.getDefaultInstance().getHosts().get("default"));
+
+ return sessionCookie;
+ }
+
+ protected String getServiceURL() throws XPathExpressionException {
+ String serviceURL = automationContext.getContextUrls().getServiceUrl();
+ return automationContext.getContextUrls().getServiceUrl();
+ }
+
+ protected String getLoginURL() throws XPathExpressionException {
+ return HomePageGenerator.getProductHomeURL(automationContext);
+ }
+}
diff --git a/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/Notification/NotificationView.java b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/Notification/NotificationView.java
new file mode 100644
index 00000000..c226e59a
--- /dev/null
+++ b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/Notification/NotificationView.java
@@ -0,0 +1,57 @@
+/*
+ * 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.iot.integration.ui.pages.Notification;
+
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.WebElement;
+import org.wso2.iot.integration.ui.pages.UIElementMapper;
+
+import java.io.IOException;
+
+public class NotificationView {
+ private static final Log log = LogFactory.getLog(NotificationView.class);
+ private WebDriver driver;
+ private UIElementMapper uiElementMapper;
+
+ public NotificationView(WebDriver driver) throws IOException {
+ this.driver = driver;
+ this.uiElementMapper = UIElementMapper.getInstance();
+ // Check that we're on the right page.
+ if (!(driver.getCurrentUrl().contains("notification-listing"))) {
+ throw new IllegalStateException("This is not the notification-listing page");
+ }
+ }
+
+ public void viewNotification() {
+ WebElement unReadNotificationTab = driver.findElement(By.id(uiElementMapper.
+ getElement("emm.notification.unread.identifier")));
+ WebElement notificationTab = driver.findElement(By.id(uiElementMapper.
+ getElement("emm.notification.all.identifier")));
+
+ if (!unReadNotificationTab.isDisplayed()) {
+ throw new IllegalStateException("Notification View must be having two tabs");
+ }
+ if (!notificationTab.isDisplayed()) {
+ throw new IllegalStateException("Notification View must be having two tabs");
+ }
+ }
+}
diff --git a/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/UIElementMapper.java b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/UIElementMapper.java
new file mode 100644
index 00000000..77170f9d
--- /dev/null
+++ b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/UIElementMapper.java
@@ -0,0 +1,65 @@
+/*
+ * 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.iot.integration.ui.pages;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+/**
+ * Read mapper.properties file and load it's uiElements into Properties object.
+ */
+public class UIElementMapper {
+ public static final Properties uiProperties = new Properties();
+ private static final Log log = LogFactory.getLog(UIElementMapper.class);
+ private static UIElementMapper instance;
+
+ private UIElementMapper() {
+ }
+
+ public static synchronized UIElementMapper getInstance() throws IOException {
+ if (instance == null) {
+ setStream();
+ instance = new UIElementMapper();
+ }
+ return instance;
+ }
+
+ public static Properties setStream() throws IOException {
+
+ InputStream inputStream = UIElementMapper.class.getResourceAsStream("/mapper.properties");
+
+ if (inputStream.available() > 0) {
+ uiProperties.load(inputStream);
+ inputStream.close();
+ return uiProperties;
+ }
+ return null;
+ }
+
+ public String getElement(String key) {
+ if (uiProperties != null) {
+ return uiProperties.getProperty(key);
+ }
+ return null;
+ }
+}
diff --git a/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/home/HomePage.java b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/home/HomePage.java
new file mode 100644
index 00000000..bf4331e5
--- /dev/null
+++ b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/home/HomePage.java
@@ -0,0 +1,64 @@
+/*
+ * 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.iot.integration.ui.pages.home;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.WebElement;
+import org.wso2.iot.integration.ui.pages.UIElementMapper;
+
+import java.io.IOException;
+
+import org.wso2.iot.integration.ui.pages.login.ManagementConsoleLoginPage;
+
+/**
+ * Home page class holds the information of product page you got once login
+ * It also contain sign-out method as well.
+ */
+public class HomePage {
+
+ private static final Log log = LogFactory.getLog(HomePage.class);
+ private WebDriver driver;
+ private UIElementMapper uiElementMapper;
+
+ public HomePage(WebDriver driver) throws IOException {
+ this.driver = driver;
+ this.uiElementMapper = UIElementMapper.getInstance();
+ // Check that we're on the right page.
+ if (!driver.findElement(By.id(uiElementMapper.getElement("home.dashboard.middle.text"))).
+ getText().contains("Home")) {
+ throw new IllegalStateException("This is not the home page");
+ }
+ }
+
+ public ManagementConsoleLoginPage logout() throws IOException {
+ driver.findElement(By.xpath(uiElementMapper.getElement("home.greg.sign.out.xpath"))).click();
+ return new ManagementConsoleLoginPage(driver);
+ }
+
+ public void checkNotificationCount(String value) {
+ WebElement notificationBubble = driver.findElement(By.id(uiElementMapper.
+ getElement("emm.notification.bubble.identifier")));
+ if (!notificationBubble.getText().contains(value)) {
+ throw new IllegalStateException("Invalid amount of notification in home page");
+ }
+ }
+}
diff --git a/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/home/MDMHomePage.java b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/home/MDMHomePage.java
new file mode 100644
index 00000000..c0262c22
--- /dev/null
+++ b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/home/MDMHomePage.java
@@ -0,0 +1,49 @@
+/*
+ * 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.iot.integration.ui.pages.home;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebDriver;
+import org.wso2.iot.integration.ui.pages.UIElementMapper;
+
+import java.io.IOException;
+
+public class MDMHomePage {
+
+ private static final Log log = LogFactory.getLog(MDMHomePage.class);
+ private WebDriver driver;
+ private UIElementMapper uiElementMapper;
+
+ public MDMHomePage(WebDriver driver) throws IOException {
+ this.driver = driver;
+ this.uiElementMapper = UIElementMapper.getInstance();
+ // Check that we're on the right page.
+ if (!driver.findElement(By.xpath(uiElementMapper.getElement("emm.dashboard.device.div.xpath"))).getText()
+ .contains("DEVICES")) {
+ throw new IllegalStateException("This is not the home page");
+ }
+ }
+
+ // public MDMLoginPage logout() throws IOException {
+ // driver.findElement(By.xpath("/html/body/div[3]/header/div/div[2]/div/div/div[3]/a")).click();
+ // return new MDMLoginPage(driver);
+ // }
+}
diff --git a/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/login/MDMLoginPage.java b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/login/MDMLoginPage.java
new file mode 100644
index 00000000..d09d52b1
--- /dev/null
+++ b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/login/MDMLoginPage.java
@@ -0,0 +1,63 @@
+/*
+ * 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.iot.integration.ui.pages.login;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.WebElement;
+import org.wso2.iot.integration.ui.pages.UIElementMapper;
+import org.wso2.iot.integration.ui.pages.home.MDMHomePage;
+
+import java.io.IOException;
+
+public class MDMLoginPage {
+
+ private static final Log log = LogFactory.getLog(MDMLoginPage.class);
+ private WebDriver driver;
+ private UIElementMapper uiElementMapper;
+
+ public MDMLoginPage(WebDriver driver) throws IOException {
+ this.driver = driver;
+ this.uiElementMapper = UIElementMapper.getInstance();
+ // Check that we're on the right page.
+ if (!(driver.getCurrentUrl().contains("mdm/login"))) {
+ // Alternatively, we could navigate to the login page, perhaps logging out first
+ throw new IllegalStateException("This is not the login page");
+ }
+ }
+
+ /**
+ * Provide facility to log into the products using user credentials
+ *
+ * @param userName login user name
+ * @param password login password
+ * @return reference to Home page
+ * @throws java.io.IOException if mapper.properties file not found
+ */
+ public MDMHomePage loginAs(String userName, String password) throws IOException {
+ WebElement userNameField = driver.findElement(By.name(uiElementMapper.getElement("emm.login.username")));
+ WebElement passwordField = driver.findElement(By.name(uiElementMapper.getElement("emm.login.password")));
+ userNameField.sendKeys(userName);
+ passwordField.sendKeys(password);
+ driver.findElement(By.xpath(uiElementMapper.getElement("emm.login.button.xpath"))).click();
+ return new MDMHomePage(driver);
+ }
+}
diff --git a/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/login/ManagementConsoleLoginPage.java b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/login/ManagementConsoleLoginPage.java
new file mode 100644
index 00000000..13b2d4fe
--- /dev/null
+++ b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/login/ManagementConsoleLoginPage.java
@@ -0,0 +1,68 @@
+/*
+ * 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.iot.integration.ui.pages.login;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.WebElement;
+import org.wso2.iot.integration.ui.pages.UIElementMapper;
+
+import java.io.IOException;
+
+import org.wso2.iot.integration.ui.pages.home.HomePage;
+
+/**
+ * Login page class - contains methods to login to wso2 products.
+ */
+public class ManagementConsoleLoginPage {
+ private static final Log log = LogFactory.getLog(ManagementConsoleLoginPage.class);
+ private WebDriver driver;
+ private UIElementMapper uiElementMapper;
+
+ public ManagementConsoleLoginPage(WebDriver driver) throws IOException {
+ this.driver = driver;
+ this.uiElementMapper = UIElementMapper.getInstance();
+ // Check that we're on the right page.
+ if (!(driver.getCurrentUrl().contains("login.jsp"))) {
+ // Alternatively, we could navigate to the login page, perhaps logging out first
+ throw new IllegalStateException("This is not the login page");
+ }
+ }
+
+ /**
+ * Provide facility to log into the products using user credentials
+ *
+ * @param userName login user name
+ * @param password login password
+ * @return reference to Home page
+ * @throws java.io.IOException if mapper.properties file not found
+ */
+ public HomePage loginAs(String userName, String password) throws IOException {
+ log.info("Login as " + userName);
+ WebElement userNameField = driver.findElement(By.name(uiElementMapper.getElement("login.username")));
+ WebElement passwordField = driver.findElement(By.name(uiElementMapper.getElement("login.password")));
+ userNameField.sendKeys(userName);
+ passwordField.sendKeys(password);
+ driver.findElement(By.className(uiElementMapper.getElement("login.sign.in.button"))).click();
+ return new HomePage(driver);
+ }
+
+}
diff --git a/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/platformConfiguration/PlatformConfiguration.java b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/platformConfiguration/PlatformConfiguration.java
new file mode 100644
index 00000000..6a60a262
--- /dev/null
+++ b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/platformConfiguration/PlatformConfiguration.java
@@ -0,0 +1,76 @@
+/*
+ * 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.iot.integration.ui.pages.platformConfiguration;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.WebElement;
+import org.wso2.iot.integration.ui.pages.UIElementMapper;
+
+import java.io.IOException;
+
+public class PlatformConfiguration {
+
+ private static final Log log = LogFactory.getLog(PlatformConfiguration.class);
+ private WebDriver driver;
+ private UIElementMapper uiElementMapper;
+
+ public PlatformConfiguration(WebDriver driver) throws IOException {
+ this.driver = driver;
+ this.uiElementMapper = UIElementMapper.getInstance();
+ // Check that we're on the right page.
+ if (!(driver.getCurrentUrl().contains("platform-configuration"))) {
+ throw new IllegalStateException("This is not the platform-configuration page");
+ }
+ }
+
+ public void changeGeneralConfig(String value) {
+ WebElement generalConfigButton = driver.findElement(By.xpath((uiElementMapper.getElement("emm.configuration.general.tab.identifier"))));
+ WebElement inputGeneralConfig = driver.findElement(By.xpath((uiElementMapper.getElement("emm.configuration.general.input.monitoringFr.identifier"))));
+ WebElement buttonSaveConfig = driver.findElement(By.xpath((uiElementMapper.getElement("emm.configuration.general.button.save.identifier"))));
+
+ generalConfigButton.click();
+ inputGeneralConfig.sendKeys(value);
+ buttonSaveConfig.click();
+ }
+
+ public void changeAndroidConfig(String value) {
+ WebElement androidConfigButton = driver.findElement(By.xpath((uiElementMapper.getElement("emm.configuration.android.tab.identifier"))));
+ WebElement inputAndroidConfig = driver.findElement(By.xpath((uiElementMapper.getElement("emm.configuration.android.input.identifier"))));
+ WebElement buttonSaveConfig = driver.findElement(By.xpath((uiElementMapper.getElement("emm.configuration.android.button.save.identifier"))));
+
+ androidConfigButton.click();
+ inputAndroidConfig.sendKeys(value);
+ buttonSaveConfig.click();
+
+ }
+
+ public void changeWindowsConfig(String value) {
+ WebElement windowsConfigButton = driver.findElement(By.xpath((uiElementMapper.getElement("emm.configuration.widows.tab.identifier"))));
+ WebElement inputWindowsConfig = driver.findElement(By.xpath((uiElementMapper.getElement("emm.configuration.windows.input.identifier"))));
+ WebElement buttonSaveConfig = driver.findElement(By.xpath((uiElementMapper.getElement("emm.configuration.windows.button.save.identifier"))));
+
+ windowsConfigButton.click();
+ inputWindowsConfig.sendKeys(value);
+ buttonSaveConfig.click();
+
+ }
+}
diff --git a/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/role/AddRolePage.java b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/role/AddRolePage.java
new file mode 100644
index 00000000..4e31f2c1
--- /dev/null
+++ b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/role/AddRolePage.java
@@ -0,0 +1,55 @@
+/*
+ * 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.iot.integration.ui.pages.role;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.WebElement;
+import org.wso2.iot.integration.ui.pages.UIElementMapper;
+
+import java.io.IOException;
+
+public class AddRolePage {
+ private static final Log log = LogFactory.getLog(RoleListPage.class);
+ private WebDriver driver;
+ private UIElementMapper uiElementMapper;
+
+ public AddRolePage(WebDriver driver) throws IOException {
+ this.driver = driver;
+ this.uiElementMapper = UIElementMapper.getInstance();
+ // Check that we're on the right page.
+ if (!(driver.getCurrentUrl().contains("roles/add-role"))) {
+ throw new IllegalStateException("This is not the add role page");
+ }
+ }
+
+ public void addRole(String role) {
+ WebElement roleName = driver.findElement(By.id(uiElementMapper.getElement("emm.roles.add.rolename.input")));
+ roleName.sendKeys(role);
+ WebElement addRoleButton = driver.findElement(By.id(uiElementMapper.getElement("emm.roles.add.role.button")));
+ addRoleButton.click();
+ String resultText = driver.findElement(By.id(uiElementMapper.getElement("emm.roles.add.role.created.msg.div")
+ )).getText();
+ if (!resultText.contains("ROLE WAS ADDED SUCCESSFULLY")) {
+ throw new IllegalStateException("Role was not added");
+ }
+ }
+}
diff --git a/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/role/EditRolePage.java b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/role/EditRolePage.java
new file mode 100644
index 00000000..acb28ae2
--- /dev/null
+++ b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/role/EditRolePage.java
@@ -0,0 +1,55 @@
+/*
+ * 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.iot.integration.ui.pages.role;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.WebElement;
+import org.wso2.iot.integration.ui.pages.UIElementMapper;
+
+import java.io.IOException;
+
+public class EditRolePage {
+ private static final Log log = LogFactory.getLog(RoleListPage.class);
+ private WebDriver driver;
+ private UIElementMapper uiElementMapper;
+
+ public EditRolePage(WebDriver driver) throws IOException {
+ this.driver = driver;
+ this.uiElementMapper = UIElementMapper.getInstance();
+ // Check that we're on the right page.
+ if (!(driver.getCurrentUrl().contains("roles/edit-role"))) {
+ throw new IllegalStateException("This is not the edit role page");
+ }
+ }
+
+ public void editRole(String role) {
+ WebElement roleName = driver.findElement(By.id(uiElementMapper.getElement("emm.roles.update.rolename.input")));
+ roleName.sendKeys(role);
+ WebElement addRoleButton = driver.findElement(By.id(uiElementMapper.getElement("emm.roles.update.role.button")));
+ addRoleButton.click();
+ String resultText = driver.findElement(By.id(uiElementMapper.getElement("emm.roles.update.role.created.msg.div")
+ )).getText();
+ if (!resultText.contains("ROLE WAS UPDATED SUCCESSFULLY")) {
+ throw new IllegalStateException("Role was not edited");
+ }
+ }
+}
diff --git a/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/role/RoleListPage.java b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/role/RoleListPage.java
new file mode 100644
index 00000000..479c576d
--- /dev/null
+++ b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/role/RoleListPage.java
@@ -0,0 +1,52 @@
+/*
+ * 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.iot.integration.ui.pages.role;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.WebElement;
+import org.wso2.iot.integration.ui.pages.UIElementMapper;
+
+import java.io.IOException;
+
+public class RoleListPage {
+
+ private static final Log log = LogFactory.getLog(RoleListPage.class);
+ private WebDriver driver;
+ private UIElementMapper uiElementMapper;
+
+ public RoleListPage(WebDriver driver, String url) throws IOException {
+ this.driver = driver;
+ this.uiElementMapper = UIElementMapper.getInstance();
+ // Check that we're on the right page.
+ if (!(driver.getCurrentUrl().contains(url))) {
+ throw new IllegalStateException("This is not the roles list page");
+ }
+ }
+
+ public void addRole(String role) throws Exception {
+ WebElement addButton = driver.findElement(By.id(uiElementMapper.getElement("emm.roles.add.button")));
+ addButton.click();
+ AddRolePage rolePage = new AddRolePage(driver);
+ rolePage.addRole(role);
+ }
+
+}
diff --git a/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/user/AddUserPage.java b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/user/AddUserPage.java
new file mode 100644
index 00000000..69c09f05
--- /dev/null
+++ b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/user/AddUserPage.java
@@ -0,0 +1,55 @@
+/*
+ * 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.iot.integration.ui.pages.user;
+
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.WebElement;
+import org.wso2.iot.integration.ui.pages.UIElementMapper;
+
+import java.io.IOException;
+
+public class AddUserPage {
+ private WebDriver driver;
+ private UIElementMapper uiElementMapper;
+
+ public AddUserPage(WebDriver driver) throws IOException {
+ this.driver = driver;
+ this.uiElementMapper = UIElementMapper.getInstance();
+ // Check that we're on the right page.
+ if (driver.findElement(By.id(uiElementMapper.getElement("emm.user.add.button"))).getText() == null) {
+ throw new IllegalStateException("This is not the add user page");
+ }
+ }
+
+ public UserAddedPage addUser(String username, String firstName, String lastName,
+ String email) throws IOException {
+ WebElement usernameField = driver.findElement(By.id(uiElementMapper.getElement("emm.add.user.username")));
+ WebElement firstNameField = driver.findElement(By.id(uiElementMapper.getElement("emm.add.user.firstname")));
+ WebElement lastNameField = driver.findElement(By.id(uiElementMapper.getElement("emm.add.user.lastname")));
+ WebElement emailField = driver.findElement(By.id(uiElementMapper.getElement("emm.add.user.email")));
+ usernameField.sendKeys(username);
+ firstNameField.sendKeys(firstName);
+ lastNameField.sendKeys(lastName);
+ emailField.sendKeys(email);
+ driver.findElement(By.id(uiElementMapper.getElement("emm.user.add.button"))).click();
+ return new UserAddedPage(driver);
+ }
+
+}
\ No newline at end of file
diff --git a/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/user/UserAddedPage.java b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/user/UserAddedPage.java
new file mode 100644
index 00000000..ff762c9b
--- /dev/null
+++ b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/user/UserAddedPage.java
@@ -0,0 +1,39 @@
+/*
+ * 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.iot.integration.ui.pages.user;
+
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebDriver;
+import org.wso2.iot.integration.ui.pages.UIElementMapper;
+
+import java.io.IOException;
+
+public class UserAddedPage {
+ private WebDriver driver;
+ private UIElementMapper uiElementMapper;
+
+ public UserAddedPage(WebDriver driver) throws IOException {
+ this.driver = driver;
+ this.uiElementMapper = UIElementMapper.getInstance();
+ // Check that we're on the right page.
+ if (driver.findElement(By.tagName("canvas")) == null) {
+ throw new IllegalStateException("This is not the user added success page");
+ }
+ }
+}
diff --git a/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/user/UserEditPage.java b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/user/UserEditPage.java
new file mode 100644
index 00000000..df0dd504
--- /dev/null
+++ b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/user/UserEditPage.java
@@ -0,0 +1,51 @@
+/*
+ * 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.iot.integration.ui.pages.user;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.WebElement;
+import org.wso2.iot.integration.ui.pages.UIElementMapper;
+
+import java.io.IOException;
+
+public class UserEditPage {
+ private static final Log log = LogFactory.getLog(UserListPage.class);
+ private WebDriver driver;
+ private UIElementMapper uiElementMapper;
+
+ public UserEditPage(WebDriver driver) throws IOException {
+ this.driver = driver;
+ this.uiElementMapper = UIElementMapper.getInstance();
+ //Check that we're on the right page.
+ if (driver.findElement(By.id(uiElementMapper.getElement("emm.user.add.button"))).getText() == null) {
+ throw new IllegalStateException("This is not the add edit page");
+ }
+ }
+
+ public void editUser() throws IOException {
+ WebElement deleteButton = driver.findElement(By.xpath(uiElementMapper.getElement("emm.user.delete.button")));
+ deleteButton.click();
+ WebElement deleteConfirmButton = driver.findElement(By.id(uiElementMapper.getElement("emm.user.delete.button" +
+ ".confirm")));
+ deleteConfirmButton.click();
+ }
+}
\ No newline at end of file
diff --git a/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/user/UserListPage.java b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/user/UserListPage.java
new file mode 100644
index 00000000..decf570a
--- /dev/null
+++ b/modules/integration/tests-common/ui-pages/src/main/java/org/wso2/iot/integration/ui/pages/user/UserListPage.java
@@ -0,0 +1,51 @@
+/*
+ * 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.iot.integration.ui.pages.user;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.WebElement;
+import org.wso2.iot.integration.ui.pages.UIElementMapper;
+
+import java.io.IOException;
+
+public class UserListPage {
+ private static final Log log = LogFactory.getLog(UserListPage.class);
+ private WebDriver driver;
+ private UIElementMapper uiElementMapper;
+
+ public UserListPage(WebDriver driver) throws IOException {
+ this.driver = driver;
+ this.uiElementMapper = UIElementMapper.getInstance();
+ if (!(driver.getCurrentUrl().contains("mdm/users"))) {
+ // Alternatively, we could navigate to the login page, perhaps logging out first
+ throw new IllegalStateException("This is not the list users page");
+ }
+ }
+
+ public void deleteUser() throws IOException {
+ WebElement deleteButton = driver.findElement(By.xpath(uiElementMapper.getElement("emm.user.delete.button")));
+ deleteButton.click();
+ WebElement deleteConfirmButton = driver.findElement(By.id(uiElementMapper.getElement("emm.user.delete.button" +
+ ".confirm")));
+ deleteConfirmButton.click();
+ }
+}
diff --git a/modules/integration/tests-common/ui-pages/src/main/resources/mapper.properties b/modules/integration/tests-common/ui-pages/src/main/resources/mapper.properties
new file mode 100644
index 00000000..00598f6e
--- /dev/null
+++ b/modules/integration/tests-common/ui-pages/src/main/resources/mapper.properties
@@ -0,0 +1,512 @@
+#
+# 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.
+#
+
+emm.login.username=username
+emm.login.password=password
+emm.dashboard.device.div.xpath=/html/body/div[3]/div[7]/div[1]/div/div/div[1]
+emm.login.button.xpath=/html/body/div[3]/div[3]/div/button
+emm.user.add.button = add-user-btn
+emm.add.user.username=username
+emm.add.user.firstname=firstname
+emm.add.user.lastname=lastname
+emm.add.user.email=emailAddress
+emm.user.delete.button=//*[@id="inosh"]/td[5]/a[3]
+emm.user.delete.button.confirm=remove-user-yes-link
+emm.user.delete.button.success=remove-user-success-link
+emm.roles.add.button=appbar-btn-
+emm.roles.add.rolename.input=rolename
+emm.roles.add.role.button=add-role-btn
+emm.roles.add.role.created.msg.div=role-created-msg
+emm.roles.update.rolename.input=rolename
+emm.roles.update.role.button=add-role-btn
+emm.roles.update.role.created.msg.div=role-created-msg
+emm.roles.update.role.created.success.msg=ROLE WAS UPDATED SUCCESSFULLY
+emm.configuration.android.tab.identifier=id('androidConfigLink')
+emm.configuration.widows.tab.identifier=id('windowsConfigLink')
+emm.configuration.ios.tab.identifier=id('iosConfigLink')
+emm.configuration.general.tab.identifier=id('generalConfigLink')
+emm.configuration.general.input.monitoringFr.identifier=id('monitoring-config-frequency')
+emm.configuration.general.button.save.identifier=id('monitoring-config-frequency')
+emm.configuration.saved.lable.identifier=id('record-created-msg')
+emm.configuration.saved.lable.val=Please click "Go back to configurations", if you wish to save another configuration or click "Exit" to complete the process and go back to the dashboard.
+emm.configuration.saved.button.back.identifier=id('btnBack')
+emm.configuration.saved.button.back.val=Go back to configurations
+emm.configuration.saved.button.exit.identifier=id('btnExit')
+emm.configuration.saved.button.exit.val=Exit
+emm.configuration.android.select.identifier=id('android-config-notifier')
+emm.configuration.android.input.identifier=id('android-config-notifier-frequency')
+emm.configuration.android.button.save.identifier=id('save-android-btn')
+emm.configuration.windows.input.identifier=id('windows-config-notifier-frequency')
+emm.configuration.windows.button.save.identifier=id('save-windows-btn')
+emm.configuration.android.button.save.identifier=id('save-android-btn')
+emm.notification.bubble.identifier=notification-bubble
+emm.notification.unread.identifier=unReadNotifications
+emm.notification.all.identifier=allNotifications
+
+
+
+
+app.sign.in.button=button.btn
+app.redMine.login.button.name=login
+app.redMine.issue.button=New issue
+app.redMine.issue.subject=issue_subject
+app.redMine.issue.description=issue_description
+app.redMine.issue.submit=commit
+app.AddNew.App.link=Add New Application
+new.app.add.app.name=applicationName
+new.app.add.app.key=applicationKey
+new.app.add.app.icon=icon
+new.app.add.app.Description=applicationDescription
+new.app.add.app.edit.Description=appDescriptionEdit_textarea
+new.app.add.app.type=applicationType
+app.issue.version.id=issue_fixed_version_id
+app.database.db.environment.id=rssInstances
+app.database.db.environment.user=js_db_user
+app.database.db.environment.template=js_db_template
+new.app.add.repository.type=repositoryType
+create.new.app.button=appcreation
+app.homepage.search.textBox=search
+app.first.element.of.home.page=/html/body/div/div/article/section/ul/li[2]/div/h2/a/b
+app.overview.page.app.type.id=apptype
+app.overview.page.app.description.id=description
+app.overview.page.repository.type.id=repotype
+app.overview.page.app.owner.id=appOwner
+app.overview.page.app.key.xpath=/html/body/div/div/article/section[2]/div/div/div/p
+app.add.member.link=Add Members
+app.add.member.name=allUsersList
+app.invite.users= btn_nvite_users
+app.add.add.to.list.button=addToListBtn
+app.add.branch.link=Create Branch
+app.add.second.branch.xpath=(//a[contains(text(),'Branch')])[2]
+app.add.branch.version=create_branchtrunk
+app.add.branch.button.xpath=//input[@value='Create Branch']
+app.add.branch.two.button.xpath=(//input[@value='Create Branch'])[2]
+app.navigate.Link=Repos & Builds
+app.navigate.Governance.page.link=menu_governance
+app.navigate.isue.page.link.id=menu_trackIssues
+app.trunk.overview.xpath=/html/body/div/div/article/section[3]/div/ul/li/p/strong
+app.trunk.build.status.xpath=/html/body/div/div/article/section[3]/div/ul/li[2]/p/span/strong
+governance.page.firstElement.xpath=/html/body/div/div[2]/article/section/div[2]/ul/li/ul/li/div/strong
+governance.page.firstElement.date.xpath=/html/body/div/div[2]/article/section/div[2]/ul/li/ul/li[2]/div[2]/form/div/input
+governance.page.date.save.xpath=/html/body/div/div[2]/article/section/div[2]/ul/li/ul/li[2]/div[2]/form/div/button
+governance.page.promote.key.xpath=/html/body/div/div[2]/article/section/div[2]/ul/li/ul/li[3]/div/ul/li[2]/a/span
+code.completed.status=(//input[@id='registry.custom_lifecycle.checklist.option.0.item'])[last()]
+code.review.status=(//input[@id='registry.custom_lifecycle.checklist.option.1.item'])[last()]
+design.review.status=(//input[@id='registry.custom_lifecycle.checklist.option.2.item'])[last()]
+app.application.overview.page=Overview
+app.overview.page.team.details.id=userCountList
+app.team.page.id=menu_userAdmin
+app.add.member.page.id=btnAddMembers
+app.issue.redMine.tab.link=Track Issues
+app.testing.first.element.xpath=/html/body/div/div[2]/article/section/div[2]/ul[2]/li/ul/li/div/strong
+app.testing.date.save.xpath=/html/body/div/div[2]/article/section/div[2]/ul[2]/li/ul/li[2]/div/form/div/button
+app.testing.first.element.arrow.xpath=/html/body/div/div[2]/article/section/div[2]/ul[2]/li/ul/li[3]/div/ul/li[2]/a
+app.factory.issue.total.count.xpath=/html/body/div/div[2]/article/section/section/div/ul/li[2]
+app.factory.issue.item.header.id=item_list
+app.factory.database.configure.page.link=Database Configurations
+app.factory.new.database.link=Database
+app.factory.database.name.id=databaseName
+app.factory.database.password=databaseUserPassword
+app.factory.database.confirm.password=confirmDatabaseUserPassword
+app.factory.database.submit.button=div.buttonrow > input[name="Submit"]
+app.factory.database.advance.Checkbox=advancecheckbox
+app.factory.database.user.CheckBox=Username
+app.factory.database.user.password=Password
+app.factory.database.user.Repeat.password=repeatPassword
+app.factory.database.environment.id=rssInstances
+app.factory.database.user.submit.name=Submit
+app.factory.database.template.name=templateName
+app.factory.database.template.submit.name=Submit
+app.factory.db.admin.id=menu_dbAdmin
+app.factory.db.dbUser.link=DB User
+app.factory.db.template.link=DB Template
+app.factory.db.resources.id=dbSection
+app.db.link=Db
+app.db.user=wso2usr
+app.db.template=wso2Temp@Development
+app.factory.delete.user=Delete User
+app.factory.del.template=Delete Template
+app.factory.delete.Ok=Ok
+app.factory.delete.db=Delete DB
+app.data.source.name=datasource_name
+app.data.source.description=datasource_description
+app.data.source.password=datasource_password_dev
+app.data.source.username=datasource_username_text_dev
+app.data.source.add.button=Submit
+app.property.name=property_name
+app.property.type=property_type
+app.property.description=property_description
+app.property.value=property_value
+app.factory.registry.page.link=Endpoints & Registry
+app.factory.data.source.page.link=Datasources
+app.db.details.id=dbSection
+app.db.user.id=dbUsrSection
+app.db.template.id=dbTempSection
+app.factory.new.data.source.page.button=//button[@type='button']
+app.factory.api.panel.text=/html/body/div/div/article/section[3]
+app.factory.sign.out.email=span.icon-chevron-down
+app.factory.sing.out.text=Sign Out
+app.factory.subscribe=Subscribe to APIs
+app.factory.subscribe.api.element=li > div.thumbnail > a > img
+app.api.select.app.name=application-list
+app.api.subscribe.button=subscribe-button
+app.api.api.manager.button=gotoApiManagerbtn
+app.go.to.subscriptions.text=Go to My Subscriptions
+app.api.manager.class.name.text=title-section
+app.api.key.generate.text=Show Keys
+app.api.sandbox.details.id=sandTable0
+app.api.production.details.id=prodTable0
+app.api.page.link.text=APIs
+app.api.page.resource.list.id=keySection
+app.factory.subscription.page=My Subscriptions
+app.factory.list.view=a.icon-th-list.table_view
+app.overview.link.css=/html/body/div/div[2]/article/nav/ul/li/a
+
+
+
+
+login.username=username
+login.password=password
+login.sign.in.button=button
+login.header.div=header-div
+
+home.dashboard.middle.text=middle
+home.greg.sign.out.xpath=//*[@id="header-div"]/div[4]/div/ul/li[3]/a
+home.logged.user.dev=logged-user
+
+jaggery.Main.tab=menu-panel-button1
+jaggery.Region1.tab=region1_manage_menu
+jaggery.dashboard.middle.text=middle
+add.jaggery.href=Jaggery
+jaggery.war.file.upload.name=warFileName
+jaggery.upload.button.name=upload
+jaggery.upload.successful.message=messagebox-info
+jaggery.upload.successful.button=ui-dialog-titlebar-close
+
+
+carbon.Main.tab=menu-panel-button1
+carbon.Region1.tab=region1_manage_menu
+carbon.add.href=Add
+carbon.dashboard.middle.text=middle
+carbon.file.upload.field=filename
+carbon.upload.button=upload
+carbon.upload.successful.message=messagebox-info
+carbon.upload.successful.button=ui-dialog-titlebar-close
+
+
+resource.Main.tab=menu-panel-button1
+resource.Region3.tab=region3_registry_menu
+resource.browse.link=Browse
+resource.dashboard.middle.text=middle
+resource.detailed.view=stdView
+resource.add.resource.link=Add Resource
+resource.add.collection.link=Add Collection
+resource.add.resource.input.field=uResourceFile
+resource.add.Collection.input.field=collectionName
+resource.add.Url.input.id=irFetchURL
+resource.add.collection.description=colDesc
+resource.add.resource.name=uResourceName
+Resource.add.resource.description=description
+resource.add.button=/html/body/table/tbody/tr[2]/td[3]/table/tbody/tr[2]/td/div/div/table/tbody/tr/td/div[2]/div[3]/div[3]/div[5]/table/tbody/tr[2]/td/form/table/tbody/tr[6]/td/input
+resource.add.Url.button.xpath=/html/body/table/tbody/tr[2]/td[3]/table/tbody/tr[2]/td/div/div/table/tbody/tr/td/div[2]/div[3]/div[3]/div[5]/table/tbody/tr[3]/td/form/table/tbody/tr[6]/td/input
+resource.collection.add.button=/html/body/table/tbody/tr[2]/td[3]/table/tbody/tr[2]/td/div/div/table/tbody/tr/td/div[2]/div[3]/div[3]/div[7]/form/table/tbody/tr[5]/td/input
+resource.upload.successful.message=messagebox-info
+resource.upload.successful.collection.message=messagebox-info
+resource.upload.successful.button=ui-dialog-titlebar-close
+resource.upload.collection.successful.close.button=/html/body/div[5]/div/div/a
+resource.add.Url.Successful.close=/html/body/div[4]/div/div/a
+
+
+
+service.add.link=Service
+service.dashboard.middle.text=middle
+service.list.dashboard.middle.text=middle
+service.add.name.id=id_Overview_Name
+service.add.namespace.id=id_Overview_Namespace
+service.check.save.service=Services
+
+
+wsdl.dashboard.middle.text=middle
+wsdl.list.dashboard.middle.text=middle
+wsdl.add.link=WSDL
+wsdl.add.url=irFetchURL
+wsdl.add.name=irResourceName
+wsdl.add.file.id=uResourceFile
+wsdl.add.file.name.id=uResourceName
+
+
+schema.add.link=Schema
+schema.dashboard.middle.text=middle
+schema.list.dashboard.middle.text=middle
+schema.add.url=irFetchURL
+schema.add.name=irResourceName
+schema.add.schema.name.id=uResourceName
+
+
+wsPolicy.add.link=Policy
+wsPolicy.dashboard.middle.text=middle
+ws.policy.list.dashboard.middle.text=middle
+wsPolicy.add.url=irFetchURL
+wsPolicy.add.name=irResourceName
+wsPolicy.add.file.id=uResourceFile
+wsPolicy.add.schema.name.id=uResourceName
+
+
+api.add.link=API
+api.dashboard.middle.text=middle
+api.provider.id=id_Overview_Provider
+api.name.id=id_Overview_Name
+api.context.id=id_Overview_Context
+api.version.id=id_Overview_Version
+api.list.link=APIs
+
+
+uri.add.link=URI
+uri.add.list.id=URIs
+uri.dashboard.middle.text=middle
+uri.add.uri=id_Overview_URI
+uri.add.uri.name=id_Overview_Name
+uri.list.link=URIs
+
+
+my.profile.region.tab.id=region5_my_identity_menu
+my.profile.add.page.link=My Profiles
+my.profile.dashboard.middle.text=middle
+my.profile.new.profile.add.link=Add New Profile
+my.profile.name.id=profile
+my.profile.first.name.id=http://wso2.org/claims/givenname
+my.profile.last.name.id=http://wso2.org/claims/lastname
+my.profile.email.id=http://wso2.org/claims/emailaddress
+my.profile.successful.save.pane=/html/body/div[3]/div/div/a
+
+
+search.activity.link=Activities
+search.activity.id=user
+search.activity.name.id=path
+search.activity.exists.id=activityList
+
+
+search.page.link=Search
+search.resource.name=resourcePath
+search.results.id=1
+filter.search.button=/html/body/table/tbody/tr[2]/td[3]/table/tbody/tr[2]/td/div/div/form[3]/table/tbody/tr/td[8]/table/tbody/tr/td/a
+
+users.add.new.user.link.id=Add New User
+users.and.roles.link.text=Users and Roles
+users.adn.roles.add.page.middle.text=middle
+users.add.link.id=Users
+users.add.new.user.name.id=username
+users.add.new.user.password.name=password
+users.add.new.user.password.retype.name=retype
+users.admin.tick.name=userRoles
+users.save=//input[contains(@value,'Finish')]
+users.page.next.id=2
+
+
+
+
+roles.add.link.id=Roles
+role.add.new.user.link.id=Add New Role
+role.add.new.user.name.id=roleName
+role.permission.id=ygtvspacer
+role.add.user.to.role.name=org.wso2.carbon.role.assign.filter
+role.search.button=td.buttonRow > input.button
+role.add.ok.button.css=button[type="button"]
+role.add.user.to.role.name.tick=selectedUsers
+role.add.user.finish.button=/html/body/table/tbody/tr[2]/td[3]/table/tbody/tr[2]/td/div/div/form[2]/table/tbody/tr[2]/td/input[2]
+
+
+pass.word.change.link=Change My Password
+pass.word.current.name=currentPassword
+pass.word.new.name=newPassword
+pass.word.check.name=checkPassword
+pass.word.change.save.xpath=/html/body/table/tbody/tr[2]/td[3]/table/tbody/tr[2]/td/div/div/form/table/tbody/tr[2]/td/input
+password.change.dialog.xpath=/html/body/div[3]/div/div/a
+
+
+
+features.add.link=Features
+repository.add.tab.text=Repository Management
+repositories.table.id=_table_manage_repositories
+repository.add.link.text=Add Repository
+repository.url.name=_txt_repository_location_url
+repository.save.id=_btn_add_repository
+repository.name.id=_txt_repository_name
+installed.features.tab.linkText=Installed Features
+repositories.dashboard.text=middle
+features.filter.id=_txt_IF_filterString
+feature.checkbox.click.name=chkSelectFeaturesToUninstall
+feature.uninstall.next.button.id=_btn_next_review_uninstall_features
+feature.uninstall.finish.button.id=_btn_uc_finish
+
+
+
+server.shutdown.link.text=Shutdown/Restart
+feature.revert.tab=Installation History
+feature.find.feature.text=Available Features
+feature.install.name.id=_txt_AF_filterString
+feature.find.id=_btn_next_filter_repositories
+feature.install.click=chkSelectFeaturesToInstall
+feature.install.accept.button=_radio_af_accept_licenses
+
+
+key.store.add.link=KeyStores
+key.store.dashboard.middle.text=middle
+key.store.add.new.link.text=Add New KeyStore
+key.store.file.path.id=keystoreFile
+key.store.password.name=ksPassword
+key.store.provider.name=provider
+key.store.next.button=/html/body/table/tbody/tr[2]/td[3]/table/tbody/tr[2]/td/div/div/form/table/tbody/tr[2]/td/input
+key.store.pass.key=keyPass
+key.store.successful.xpath=/html/body/div[3]/div/div/a
+
+
+logging.add.link=Logging
+logging.dashboard.middle.text=middle
+logging.update.button.id=globalLog4jUpdate
+log4j.appender.update.id=appenderUpdate
+log4j.global.success.xpath=/html/body/div[3]/div[2]/button
+log4j.appender.sucess.xpath=/html/body/div[4]/div[2]/button
+
+
+log4j.logger.search.id=filterText
+log4j.logger.successful.button.xpath=/html/body/div[3]/div/div/a
+
+
+notification.adding.link=Notifications
+notification.dashboard.middle.text=middle
+notification.add.edit.link.text=Add Subscription to Resource/Collection
+notification.add.email.id=subscriptionInput
+
+registry.subscription.middle.text=middle
+registry.subscription.path.id=subscriptionPath
+registry.subscription.event.id=eventList
+registry.subscription.notification.id=notificationMethodList
+registry.subscription.email.id=subscriptionInput
+registry.subscription.digest.id=subscriptionDigestTypeInput
+registry.subscription.hsmethod.id=hierarchicalSubscriptionList
+registry.subscription.subscribe.button.id=subscribeButton
+
+
+uri.configure.add.link=URIs
+uri.configure.dashboard.middle.text=middle
+
+
+
+api.configure.add.link=APIs
+api.configure.dashboard.middle.text=middle
+
+service.configure.add.link=Services
+service.configure.dashboard.middle.text=middle
+
+server.role.add.link=Server Roles
+server.role.dashboard.middle.text=middle
+server.role.add.link.text=Add New Server Role
+server.role.name.id=_serverRoleName
+
+
+add.new.tenant.link.text=Add New Tenant
+tenant.role.dashboard.middle.text=middle
+tenant.domain=domain
+tenant.first.name=admin-firstname
+tenant.last.name=admin-lastname
+tenant.admin.user.name=admin
+tenant.admin.password=admin-password
+tenant.admin.password.repeat=admin-password-repeat
+tenant.admin.email.id=admin-email
+add.new.tenant.success.button=/html/body/div[3]/div/div/a
+view.tenant.link=View Tenants
+
+
+
+add.new.extension.dashboard.middle.text=middle
+extension.tab.id=menu-panel-button5
+extension.list.page.dashboard.middle.text=middle
+extensions.add.link=Add
+extension.add.text.box=uResourceFile
+
+life.cycle.tab.id=menu-panel-button5
+life.cycle.add.link=Lifecycles
+add.new.lifecycle.dashboard.middle.text=middle
+add.new.lifecycle.link.text=Add New Lifecycle
+add.new.lifecycle.text.area=//*[@id="textarea"]
+add.new.lifecycle.save.css=input.button.registryWriteOperation
+resource.lifecycle.minimized=//*[@id="lifecycleIconMinimized"]
+resource.lifecycle.add=//*[@id="lifecycleExpanded"]/div[2]/a
+resource.lifecycle.add.select=//*[@id="aspect"]
+resource.lifecycle.add.select.id=aspect
+resource.lifecycle.add.button.add=//*[@id="add-lifecycle-div"]/form/table/tbody/tr[2]/td/input[1]
+resource.lifecycle.add.button.cancel=//*[@id="add-lifecycle-div"]/form/table/tbody/tr[2]/td/input[2]
+
+
+
+artifact.add.tab.id=menu-panel-button5
+artifacts.add.link=Artifact Types
+add.new.artifact.dashboard.middle.text=middle
+add.new.artifact.type.link=Add new Artifact
+add.new.artifact.text.area=textarea
+add.new.artifact.save.xpath=/html/body/table/tbody/tr[2]/td[3]/table/tbody/tr[2]/td/div/div/form/table/tbody/tr[2]/td/input
+
+add.new.artifact.dialog.box=button[type="button"]
+
+
+
+handler.add.tab.id=menu-panel-button5
+handler.add.link=Handlers
+add.new.handler.dashboard.middle.text=middle
+add.new.handler.link.text=Add New Handler
+add.new.handler.text.area=textarea
+add.new.handler.save.xpath=/html/body/table/tbody/tr[2]/td[3]/table/tbody/tr[2]/td/div/div/form/table/tbody/tr[2]/td/input
+add.new.handler.dialog.box=button[type="button"]
+configure.tab.id=menu-panel-button3
+
+
+
+manage.report.page.link=Reports
+manage.report.list.dashboard.middle.text=middle
+add.report.list.dashboard.middle.text=middle
+add.report.name=reportName
+add.report.template=reportTemplate
+add.report.type=reportType
+add.report.class=reportClass
+report.add.link=Add Report
+
+life.cycle.expand.id=lifecycleIconMinimized
+life.cycle.add=Add Lifecycle
+life.cycle.add.option=option0
+life.cycle.add.option1=option1
+life.cycle.add.option2=option2
+life.cycle.promote=Promote
+life.cycle.publish=Publish
+life.cycle.stage=/html/body/table/tbody/tr[2]/td[3]/table/tbody/tr[2]/td/div/div/table/tbody/tr/td[4]/div[14]/div[3]/div[2]/table/tbody/tr/td/div[2]/table/tbody/tr[2]/td
+life.cycle.promote.ok.button=button[type="\button\"]
+
+webapp.list.xpath=.//*[@id='menu']/ul/li[7]/ul/li[2]/ul/li[1]/a
+
+webapp.list.page.middle=middle
+webapp.add.xpath=//*[@id="menu"]/ul/li[5]/ul/li[2]/ul/li[3]/ul/li[1]/a
+webapp.add.page.middle=middle
+
+endpoints.tab.id=//*[@id="menu"]/ul/li[5]/ul/li[4]/ul/li[4]/a
+endpoints.page.middle=middle
+
+endpoints.tab.id=//*[@id="menu"]/ul/li[5]/ul/li[4]/ul/li[4]/a
+endpoints.page.middle=middle
+
+bam.dashboard.tab.id=//*[@id="menu"]/ul/li[3]/ul/li/a
+bam.dashboard.signin.xpath=//*[@id="wrap"]/div[2]/div/div/h1
diff --git a/modules/integration/tests-common/web-ui-pages/pom.xml b/modules/integration/tests-common/web-ui-pages/pom.xml
index 7dcce232..0dbd7992 100644
--- a/modules/integration/tests-common/web-ui-pages/pom.xml
+++ b/modules/integration/tests-common/web-ui-pages/pom.xml
@@ -22,7 +22,7 @@
org.wso2.iot
tests-common
- 3.1.0-SNAPSHOT
+ 3.0.0-SNAPSHOT
../pom.xml
diff --git a/modules/integration/tests-integration-old/pom.xml b/modules/integration/tests-integration-old/pom.xml
new file mode 100644
index 00000000..aa4d7c95
--- /dev/null
+++ b/modules/integration/tests-integration-old/pom.xml
@@ -0,0 +1,266 @@
+
+
+
+
+
+ org.wso2.iot
+ wso2iot-integration
+ 3.0.0-SNAPSHOT
+ ../pom.xml
+
+
+ 4.0.0
+ tests-integration
+ jar
+ WSO2 IoT - Backend Integration Tests
+
+
+
+
+ maven-surefire-plugin
+ false
+ 2.12.4
+
+ -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m
+ false
+
+ src/test/resources/testng-server-mgt.xml
+ src/test/resources/testng.xml
+
+
+
+
+ maven.test.haltafterfailure
+ false
+
+
+ carbon.zip
+
+ ${basedir}/../../distribution/target/wso2iot-${product.iot.version}.zip
+
+
+
+ framework.resource.location
+
+ ${basedir}/src/test/resources/
+
+
+
+ usedefaultlisteners
+ false
+
+ ${basedir}/target/security-verifier/
+ ${basedir}/src/test/resources/instrumentation.txt
+ ${basedir}/src/test/resources/filters.txt
+
+ ${basedir}/target
+ false
+
+
+
+ maven-dependency-plugin
+
+
+
+
+ copy-jacoco-dependencies
+ compile
+
+ copy-dependencies
+
+
+ ${project.build.directory}/jacoco
+ jar
+ org.jacoco.agent
+
+
+
+
+
+ copy-secVerifier
+ compile
+
+ copy-dependencies
+
+
+ ${basedir}/target/security-verifier
+ aar
+ SecVerifier
+ true
+
+
+
+
+ unpack-jks
+ compile
+
+ unpack
+
+
+
+
+ org.wso2.iot
+ wso2iot
+ ${product.iot.version}
+ zip
+ true
+ ${basedir}/target/tobeCopied/
+ **/*.jks
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 2.4
+
+
+
+ test-jar
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-report-plugin
+ 2.7.1
+
+ ${basedir}/target/report
+ registry-api-test
+
+
+
+ integration-test
+
+ report-only
+
+
+
+
+
+
+ maven-resources-plugin
+ 2.6
+
+
+ copy-resources-jks
+ compile
+
+ copy-resources
+
+
+ ${basedir}/src/test/resources/keystores/products
+
+
+
+
+ ${basedir}/target/tobeCopied/wso2iot-${product.iot.version}/repository/resources/security/
+
+
+ **/*.jks
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 2.4
+
+
+
+ test-jar
+
+
+
+
+
+
+
+
+
+
+
+ org.wso2.carbon.automation
+ org.wso2.carbon.automation.engine
+ compile
+
+
+ org.wso2.carbon.automation
+ org.wso2.carbon.automation.extensions
+ compile
+
+
+ org.wso2.carbon.automation
+ org.wso2.carbon.automation.test.utils
+ compile
+
+
+ org.wso2.carbon.automationutils
+ org.wso2.carbon.integration.common.utils
+ compile
+
+
+ org.wso2.carbon.automationutils
+ org.wso2.carbon.integration.common.extensions
+ compile
+
+
+ com.google.code.gson
+ gson
+ compile
+
+
+ org.wso2.carbon.devicemgt
+ org.wso2.carbon.device.mgt.core
+ compile
+
+
+ org.wso2.carbon.devicemgt
+ org.wso2.carbon.device.mgt.common
+ compile
+
+
+ org.wso2.carbon.devicemgt
+ org.wso2.carbon.policy.mgt.common
+ compile
+
+
+ org.wso2.carbon.devicemgt
+ org.wso2.carbon.policy.mgt.core
+ compile
+
+
+ org.wso2.carbon.devicemgt
+ org.wso2.carbon.certificate.mgt.core
+ compile
+
+
+
+
+
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/common/AssertUtil.java b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/common/AssertUtil.java
similarity index 97%
rename from modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/common/AssertUtil.java
rename to modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/common/AssertUtil.java
index 5a7874b1..18f088c4 100644
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/common/AssertUtil.java
+++ b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/common/AssertUtil.java
@@ -15,7 +15,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.wso2.iot.integration.common;
+package org.wso2.mdm.integration.common;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/common/Constants.java b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/common/Constants.java
similarity index 99%
rename from modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/common/Constants.java
rename to modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/common/Constants.java
index 537c9538..787a14cf 100644
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/common/Constants.java
+++ b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/common/Constants.java
@@ -15,7 +15,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.wso2.iot.integration.common;
+package org.wso2.mdm.integration.common;
import java.io.File;
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/common/IOTHttpClient.java b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/common/MDMHttpClient.java
similarity index 74%
rename from modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/common/IOTHttpClient.java
rename to modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/common/MDMHttpClient.java
index 404175e6..01142195 100644
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/common/IOTHttpClient.java
+++ b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/common/MDMHttpClient.java
@@ -15,7 +15,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.wso2.iot.integration.common;
+package org.wso2.mdm.integration.common;
import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
@@ -27,24 +27,27 @@ import org.apache.commons.httpclient.protocol.Protocol;
import org.apache.commons.httpclient.protocol.ProtocolSocketFactory;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.wso2.carbon.automation.engine.context.AutomationContext;
+import org.wso2.carbon.automation.engine.context.TestUserMode;
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.util.HashMap;
+import java.util.Iterator;
import java.util.Map;
/**
* This class creates a customised Http Client Class
*/
-public class IOTHttpClient {
+public class MDMHttpClient {
private static final String AUTHORIZATION = "Authorization";
- private static Log log = LogFactory.getLog(IOTHttpClient.class);
+ private static Log log = LogFactory.getLog(MDMHttpClient.class);
private String backEndUrl;
private String authrizationString;
private Map requestHeaders = new HashMap();
- public IOTHttpClient(String backEndUrl, String contentType, String authorization) {
+ public MDMHttpClient(String backEndUrl, String contentType, String authorization) {
this.backEndUrl = backEndUrl;
this.requestHeaders.put(Constants.CONTENT_TYPE, contentType);
@@ -74,7 +77,7 @@ public class IOTHttpClient {
this.requestHeaders.remove(headerName);
}
- public IOTResponse post(String endpoint, String body) {
+ public MDMResponse post(String endpoint, String body) {
HttpClient client = new HttpClient();
try {
ProtocolSocketFactory socketFactory = new EasySSLProtocolSocketFactory();
@@ -86,20 +89,20 @@ public class IOTHttpClient {
StringRequestEntity requestEntity = new StringRequestEntity(body,
requestHeaders.get(Constants.CONTENT_TYPE), Constants.UTF8);
method.setRequestEntity(requestEntity);
- IOTResponse iotResponse = new IOTResponse();
- iotResponse.setStatus(client.executeMethod(method));
- iotResponse.setBody(method.getResponseBodyAsString());
- return iotResponse;
+ MDMResponse mdmResponse = new MDMResponse();
+ mdmResponse.setStatus(client.executeMethod(method));
+ mdmResponse.setBody(method.getResponseBodyAsString());
+ return mdmResponse;
} catch (GeneralSecurityException e) {
- log.error("Failure occurred at IOTResponse post for GeneralSecurityException", e);
+ log.error("Failure occurred at MDMResponse post for GeneralSecurityException", e);
} catch (IOException e) {
- log.error("Failure occured at IOTResponse post for IOException", e);
+ log.error("Failure occured at MDMResponse post for IOException", e);
}
return null;
}
- public IOTResponse put(String endpoint, String body) {
+ public MDMResponse put(String endpoint, String body) {
HttpClient client = new HttpClient();
try {
ProtocolSocketFactory socketFactory = new EasySSLProtocolSocketFactory();
@@ -111,20 +114,20 @@ public class IOTHttpClient {
StringRequestEntity requestEntity = new StringRequestEntity(
body, requestHeaders.get(Constants.CONTENT_TYPE), Constants.UTF8);
method.setRequestEntity(requestEntity);
- IOTResponse iotResponse = new IOTResponse();
- iotResponse.setStatus(client.executeMethod(method));
- iotResponse.setBody(method.getResponseBodyAsString());
- return iotResponse;
+ MDMResponse mdmResponse = new MDMResponse();
+ mdmResponse.setStatus(client.executeMethod(method));
+ mdmResponse.setBody(method.getResponseBodyAsString());
+ return mdmResponse;
} catch (GeneralSecurityException e) {
- log.error("Failure occurred at IOTResponse put for GeneralSecurityException", e);
+ log.error("Failure occurred at MDMResponse put for GeneralSecurityException", e);
} catch (IOException e) {
- log.error("Failure occurred at IOTResponse put for IO Exception", e);
+ log.error("Failure occurred at MDMResponse put for IO Exception", e);
}
return null;
}
- public IOTResponse get(String endpoint) {
+ public MDMResponse get(String endpoint) {
HttpClient client = new HttpClient();
try {
ProtocolSocketFactory socketFactory = new EasySSLProtocolSocketFactory();
@@ -136,21 +139,21 @@ public class IOTHttpClient {
method.setRequestHeader(AUTHORIZATION, authrizationString);
method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
new DefaultHttpMethodRetryHandler(3, false));
- IOTResponse iotResponse = new IOTResponse();
- iotResponse.setStatus(client.executeMethod(method));
- iotResponse.setBody(new String(method.getResponseBody()));
- return iotResponse;
+ MDMResponse mdmResponse = new MDMResponse();
+ mdmResponse.setStatus(client.executeMethod(method));
+ mdmResponse.setBody(new String(method.getResponseBody()));
+ return mdmResponse;
} catch (GeneralSecurityException e) {
- log.error("Failure occurred at IOTResponse get for GeneralSecurityException", e);
+ log.error("Failure occurred at MDMResponse get for GeneralSecurityException", e);
} catch (IOException e) {
- log.error("Failure occurred at IOTResponse get for IOException", e);
+ log.error("Failure occurred at MDMResponse get for IOException", e);
}
return null;
}
- public IOTResponse delete(String endpoint) {
+ public MDMResponse delete(String endpoint) {
HttpClient client = new HttpClient();
@@ -167,15 +170,15 @@ public class IOTHttpClient {
method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
new DefaultHttpMethodRetryHandler(3, false));
- IOTResponse iotResponse = new IOTResponse();
- iotResponse.setStatus(client.executeMethod(method));
- iotResponse.setBody(method.getResponseBodyAsString());
- return iotResponse;
+ MDMResponse mdmResponse = new MDMResponse();
+ mdmResponse.setStatus(client.executeMethod(method));
+ mdmResponse.setBody(method.getResponseBodyAsString());
+ return mdmResponse;
} catch (GeneralSecurityException e) {
- log.error("Failure occurred at IOTResponse delete for GeneralSecurityException", e);
+ log.error("Failure occurred at MDMResponse delete for GeneralSecurityException", e);
} catch (IOException e) {
- log.error("Failure occurred at IOTResponse delete for IOException", e);
+ log.error("Failure occurred at MDMResponse delete for IOException", e);
}
return null;
}
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/common/IOTResponse.java b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/common/MDMResponse.java
similarity index 93%
rename from modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/common/IOTResponse.java
rename to modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/common/MDMResponse.java
index 8affc40a..8380a8a1 100644
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/common/IOTResponse.java
+++ b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/common/MDMResponse.java
@@ -15,12 +15,12 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.wso2.iot.integration.common;
+package org.wso2.mdm.integration.common;
/**
* This class contains the functions to handle a HTTP Response
*/
-public class IOTResponse {
+public class MDMResponse {
private int status;
private String body;
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/common/OAuthUtil.java b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/common/OAuthUtil.java
similarity index 98%
rename from modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/common/OAuthUtil.java
rename to modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/common/OAuthUtil.java
index bfa54cdb..95665a75 100644
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/common/OAuthUtil.java
+++ b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/common/OAuthUtil.java
@@ -16,7 +16,7 @@
* under the License.
*/
-package org.wso2.iot.integration.common;
+package org.wso2.mdm.integration.common;
import org.apache.commons.net.util.Base64;
import org.json.JSONObject;
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/common/PayloadGenerator.java b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/common/PayloadGenerator.java
similarity index 97%
rename from modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/common/PayloadGenerator.java
rename to modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/common/PayloadGenerator.java
index 74c26f46..5999297c 100644
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/common/PayloadGenerator.java
+++ b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/common/PayloadGenerator.java
@@ -16,7 +16,7 @@
* under the License.
*/
-package org.wso2.iot.integration.common;
+package org.wso2.mdm.integration.common;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/common/RestClient.java b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/common/RestClient.java
similarity index 98%
rename from modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/common/RestClient.java
rename to modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/common/RestClient.java
index 620d59b6..a6b4e7de 100644
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/common/RestClient.java
+++ b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/common/RestClient.java
@@ -15,8 +15,9 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.wso2.iot.integration.common;
+package org.wso2.mdm.integration.common;
+import org.wso2.carbon.automation.engine.exceptions.AutomationFrameworkException;
import org.wso2.carbon.automation.test.utils.http.client.HttpRequestUtil;
import org.wso2.carbon.automation.test.utils.http.client.HttpResponse;
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/common/TestBase.java b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/common/TestBase.java
similarity index 98%
rename from modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/common/TestBase.java
rename to modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/common/TestBase.java
index 6883e190..1e91f6b4 100644
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/common/TestBase.java
+++ b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/common/TestBase.java
@@ -15,7 +15,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.wso2.iot.integration.common;
+package org.wso2.mdm.integration.common;
import org.wso2.carbon.automation.engine.context.AutomationContext;
import org.wso2.carbon.automation.engine.context.TestUserMode;
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/configuration/ConfigurationManagement.java b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/configuration/ConfigurationManagement.java
similarity index 93%
rename from modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/configuration/ConfigurationManagement.java
rename to modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/configuration/ConfigurationManagement.java
index 0fe0525d..f44dde62 100644
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/configuration/ConfigurationManagement.java
+++ b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/configuration/ConfigurationManagement.java
@@ -16,7 +16,7 @@
* under the License.
*/
-package org.wso2.iot.integration.configuration;
+package org.wso2.mdm.integration.configuration;
import junit.framework.Assert;
import org.apache.commons.httpclient.HttpStatus;
@@ -24,7 +24,7 @@ import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import org.wso2.carbon.automation.engine.context.TestUserMode;
import org.wso2.carbon.automation.test.utils.http.client.HttpResponse;
-import org.wso2.iot.integration.common.*;
+import org.wso2.mdm.integration.common.*;
/**
* This class contains integration tests for configuration management backend services.
@@ -33,7 +33,7 @@ public class ConfigurationManagement extends TestBase {
private RestClient client;
- @BeforeClass(alwaysRun = true, groups = { Constants.ConfigurationManagement.CONFIGURATION_MANAGEMENT_GROUP})
+ @BeforeClass(alwaysRun = true, groups = {Constants.ConfigurationManagement.CONFIGURATION_MANAGEMENT_GROUP})
public void initTest() throws Exception {
super.init(TestUserMode.SUPER_TENANT_ADMIN);
String accessTokenString = "Bearer " + OAuthUtil.getOAuthToken(backendHTTPSURL, backendHTTPSURL);
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/device/configuration/AndroidConfigurationManagement.java b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/device/configuration/AndroidConfigurationManagement.java
similarity index 95%
rename from modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/device/configuration/AndroidConfigurationManagement.java
rename to modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/device/configuration/AndroidConfigurationManagement.java
index 11d8ca8a..b7a7a325 100644
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/device/configuration/AndroidConfigurationManagement.java
+++ b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/device/configuration/AndroidConfigurationManagement.java
@@ -16,7 +16,7 @@
* under the License.
*/
-package org.wso2.iot.integration.device.configuration;
+package org.wso2.mdm.integration.device.configuration;
import junit.framework.Assert;
import org.apache.commons.httpclient.HttpStatus;
@@ -24,7 +24,7 @@ import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import org.wso2.carbon.automation.engine.context.TestUserMode;
import org.wso2.carbon.automation.test.utils.http.client.HttpResponse;
-import org.wso2.iot.integration.common.*;
+import org.wso2.mdm.integration.common.*;
/**
* This class contains integration tests for Android configuration management backend services.
@@ -33,7 +33,7 @@ public class AndroidConfigurationManagement extends TestBase {
private RestClient client;
- @BeforeClass(alwaysRun = true, groups = { Constants.AndroidConfigurationManagement.DEVICE_CONFIGURATION_GROUP})
+ @BeforeClass(alwaysRun = true, groups = {Constants.AndroidConfigurationManagement.DEVICE_CONFIGURATION_GROUP})
public void initTest() throws Exception {
super.init(TestUserMode.SUPER_TENANT_ADMIN);
String accessTokenString = "Bearer " + OAuthUtil.getOAuthToken(backendHTTPURL, backendHTTPSURL);
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/device/enrollment/AndroidEnrollment.java b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/device/enrollment/AndroidEnrollment.java
similarity index 96%
rename from modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/device/enrollment/AndroidEnrollment.java
rename to modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/device/enrollment/AndroidEnrollment.java
index b2205cee..7f01d7ce 100644
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/device/enrollment/AndroidEnrollment.java
+++ b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/device/enrollment/AndroidEnrollment.java
@@ -15,7 +15,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.wso2.iot.integration.device.enrollment;
+package org.wso2.mdm.integration.device.enrollment;
import com.google.gson.JsonObject;
import junit.framework.Assert;
@@ -24,7 +24,7 @@ import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import org.wso2.carbon.automation.engine.context.TestUserMode;
import org.wso2.carbon.automation.test.utils.http.client.HttpResponse;
-import org.wso2.iot.integration.common.*;
+import org.wso2.mdm.integration.common.*;
/**
* This contains testing of Android device enrollment which is necessary to run prior to all other Android related
@@ -33,7 +33,7 @@ import org.wso2.iot.integration.common.*;
public class AndroidEnrollment extends TestBase {
private RestClient client;
- @BeforeClass(alwaysRun = true, groups = { Constants.AndroidEnrollment.ENROLLMENT_GROUP})
+ @BeforeClass(alwaysRun = true, groups = {Constants.AndroidEnrollment.ENROLLMENT_GROUP})
public void initTest() throws Exception {
super.init(TestUserMode.SUPER_TENANT_ADMIN);
String accessTokenString = "Bearer " + OAuthUtil.getOAuthToken(backendHTTPURL, backendHTTPSURL);
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/device/enrollment/WindowsEnrollment.java b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/device/enrollment/WindowsEnrollment.java
similarity index 94%
rename from modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/device/enrollment/WindowsEnrollment.java
rename to modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/device/enrollment/WindowsEnrollment.java
index fe465ae4..24a53d95 100644
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/device/enrollment/WindowsEnrollment.java
+++ b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/device/enrollment/WindowsEnrollment.java
@@ -15,7 +15,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.wso2.iot.integration.device.enrollment;
+package org.wso2.mdm.integration.device.enrollment;
import junit.framework.Assert;
import org.apache.commons.httpclient.HttpStatus;
@@ -25,10 +25,10 @@ import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import org.wso2.carbon.automation.engine.context.TestUserMode;
import org.wso2.carbon.automation.test.utils.http.client.HttpResponse;
-import org.wso2.iot.integration.common.Constants;
-import org.wso2.iot.integration.common.OAuthUtil;
-import org.wso2.iot.integration.common.RestClient;
-import org.wso2.iot.integration.common.TestBase;
+import org.wso2.mdm.integration.common.Constants;
+import org.wso2.mdm.integration.common.OAuthUtil;
+import org.wso2.mdm.integration.common.RestClient;
+import org.wso2.mdm.integration.common.TestBase;
import java.io.File;
import java.net.URL;
@@ -42,7 +42,7 @@ public class WindowsEnrollment extends TestBase {
private static String bsd;
private RestClient client;
- @BeforeClass(alwaysRun = true, groups = { Constants.WindowsEnrollment.WINDOWS_ENROLLMENT_GROUP})
+ @BeforeClass(alwaysRun = true, groups = {Constants.WindowsEnrollment.WINDOWS_ENROLLMENT_GROUP})
public void initTest() throws Exception {
super.init(TestUserMode.SUPER_TENANT_ADMIN);
String accessTokenString = "Bearer " + OAuthUtil.getOAuthToken(backendHTTPURL, backendHTTPSURL);
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/device/mgt/AndroidDeviceManagement.java b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/device/mgt/AndroidDeviceManagement.java
similarity index 98%
rename from modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/device/mgt/AndroidDeviceManagement.java
rename to modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/device/mgt/AndroidDeviceManagement.java
index 5b20f691..58f18ae1 100644
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/device/mgt/AndroidDeviceManagement.java
+++ b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/device/mgt/AndroidDeviceManagement.java
@@ -16,7 +16,7 @@
* under the License.
*/
-package org.wso2.iot.integration.device.mgt;
+package org.wso2.mdm.integration.device.mgt;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
@@ -27,7 +27,8 @@ import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import org.wso2.carbon.automation.engine.context.TestUserMode;
import org.wso2.carbon.automation.test.utils.http.client.HttpResponse;
-import org.wso2.iot.integration.common.*;
+import org.wso2.mdm.integration.common.*;
+
/**
* This class contains integration tests for Android device management backend services.
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/device/operation/AndroidOperation.java b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/device/operation/AndroidOperation.java
similarity index 98%
rename from modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/device/operation/AndroidOperation.java
rename to modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/device/operation/AndroidOperation.java
index fdb46a6e..dcf980c0 100644
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/device/operation/AndroidOperation.java
+++ b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/device/operation/AndroidOperation.java
@@ -15,7 +15,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.wso2.iot.integration.device.operation;
+package org.wso2.mdm.integration.device.operation;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
@@ -26,7 +26,7 @@ import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
import org.wso2.carbon.automation.engine.context.TestUserMode;
import org.wso2.carbon.automation.test.utils.http.client.HttpResponse;
-import org.wso2.iot.integration.common.*;
+import org.wso2.mdm.integration.common.*;
/**
* This contain tests to check operations supported by Android. Test are executed against a previously enrolled device
@@ -34,7 +34,7 @@ import org.wso2.iot.integration.common.*;
public class AndroidOperation extends TestBase {
private RestClient client;
- @BeforeTest(alwaysRun = true, groups = { Constants.AndroidEnrollment.ENROLLMENT_GROUP})
+ @BeforeTest(alwaysRun = true, groups = {Constants.AndroidEnrollment.ENROLLMENT_GROUP})
public void initTest() throws Exception {
super.init(TestUserMode.SUPER_TENANT_ADMIN);
String accessTokenString = "Bearer " + OAuthUtil.getOAuthToken(backendHTTPURL, backendHTTPSURL);
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/device/policy/AndroidPolicy.java b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/device/policy/AndroidPolicy.java
similarity index 88%
rename from modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/device/policy/AndroidPolicy.java
rename to modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/device/policy/AndroidPolicy.java
index ab3d6ea1..a112e819 100644
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/device/policy/AndroidPolicy.java
+++ b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/device/policy/AndroidPolicy.java
@@ -16,13 +16,15 @@
* under the License.
*/
-package org.wso2.iot.integration.device.policy;
+package org.wso2.mdm.integration.device.policy;
+import junit.framework.Assert;
+import org.apache.commons.httpclient.HttpStatus;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
import org.wso2.carbon.automation.engine.context.TestUserMode;
import org.wso2.carbon.automation.test.utils.http.client.HttpResponse;
-import org.wso2.iot.integration.common.*;
+import org.wso2.mdm.integration.common.*;
/**
* This contain tests to check policy endpoints supported by Android.
@@ -32,7 +34,7 @@ public class AndroidPolicy extends TestBase {
private RestClient client;
- @BeforeTest(alwaysRun = true, groups = { Constants.AndroidEnrollment.ENROLLMENT_GROUP})
+ @BeforeTest(alwaysRun = true, groups = {Constants.AndroidEnrollment.ENROLLMENT_GROUP})
public void initTest() throws Exception {
super.init(TestUserMode.SUPER_TENANT_ADMIN);
String accessTokenString = "Bearer " + OAuthUtil.getOAuthToken(backendHTTPURL, backendHTTPSURL);
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/feature/FeatureManagement.java b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/feature/FeatureManagement.java
similarity index 83%
rename from modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/feature/FeatureManagement.java
rename to modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/feature/FeatureManagement.java
index 64511e45..415cfb1c 100644
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/feature/FeatureManagement.java
+++ b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/feature/FeatureManagement.java
@@ -15,7 +15,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.wso2.iot.integration.feature;
+package org.wso2.mdm.integration.feature;
import junit.framework.Assert;
import org.apache.commons.httpclient.HttpStatus;
@@ -23,10 +23,7 @@ import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import org.wso2.carbon.automation.engine.context.TestUserMode;
import org.wso2.carbon.automation.test.utils.http.client.HttpResponse;
-import org.wso2.iot.integration.common.Constants;
-import org.wso2.iot.integration.common.OAuthUtil;
-import org.wso2.iot.integration.common.RestClient;
-import org.wso2.iot.integration.common.TestBase;
+import org.wso2.mdm.integration.common.*;
/**
* This class contains integration tests for feature management backend services.
@@ -35,7 +32,7 @@ public class FeatureManagement extends TestBase {
private RestClient client;
- @BeforeClass(alwaysRun = true, groups = { Constants.FeatureManagement.FEATURE_MANAGEMENT_GROUP})
+ @BeforeClass(alwaysRun = true, groups = {Constants.FeatureManagement.FEATURE_MANAGEMENT_GROUP})
public void initTest() throws Exception {
super.init(TestUserMode.SUPER_TENANT_ADMIN);
String accessTokenString = "Bearer " + OAuthUtil.getOAuthToken(backendHTTPSURL, backendHTTPSURL);
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/license/LicenseManagement.java b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/license/LicenseManagement.java
similarity index 91%
rename from modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/license/LicenseManagement.java
rename to modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/license/LicenseManagement.java
index a96e2abd..3aae4a03 100644
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/license/LicenseManagement.java
+++ b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/license/LicenseManagement.java
@@ -15,7 +15,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.wso2.iot.integration.license;
+package org.wso2.mdm.integration.license;
import junit.framework.Assert;
import org.apache.commons.httpclient.HttpStatus;
@@ -23,7 +23,7 @@ import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import org.wso2.carbon.automation.engine.context.TestUserMode;
import org.wso2.carbon.automation.test.utils.http.client.HttpResponse;
-import org.wso2.iot.integration.common.*;
+import org.wso2.mdm.integration.common.*;
/**
* This class contains integration tests for license management backend services.
@@ -32,7 +32,7 @@ public class LicenseManagement extends TestBase {
private RestClient client;
- @BeforeClass(alwaysRun = true, groups = { Constants.LicenseManagement.LICENSE_MANAGEMENT_GROUP})
+ @BeforeClass(alwaysRun = true, groups = {Constants.LicenseManagement.LICENSE_MANAGEMENT_GROUP})
public void initTest() throws Exception {
super.init(TestUserMode.SUPER_TENANT_ADMIN);
String accessTokenString = "Bearer " + OAuthUtil.getOAuthToken(backendHTTPSURL, backendHTTPSURL);
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/mobileDevice/MobileDeviceManagement.java b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/mobileDevice/MobileDeviceManagement.java
similarity index 85%
rename from modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/mobileDevice/MobileDeviceManagement.java
rename to modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/mobileDevice/MobileDeviceManagement.java
index caf575f6..762fec4e 100644
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/mobileDevice/MobileDeviceManagement.java
+++ b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/mobileDevice/MobileDeviceManagement.java
@@ -15,7 +15,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.wso2.iot.integration.mobileDevice;
+package org.wso2.mdm.integration.mobileDevice;
import com.google.gson.JsonObject;
import junit.framework.Assert;
@@ -23,19 +23,19 @@ import org.apache.commons.httpclient.HttpStatus;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import org.wso2.carbon.automation.engine.context.TestUserMode;
-import org.wso2.iot.integration.common.*;
+import org.wso2.mdm.integration.common.*;
/**
* This class contains integration tests for API Device management backend services.
*/
public class MobileDeviceManagement extends TestBase {
- private IOTHttpClient client;
+ private MDMHttpClient client;
- @BeforeClass(alwaysRun = true, groups = { Constants.MobileDeviceManagement.MOBILE_DEVICE_MANAGEMENT_GROUP})
+ @BeforeClass(alwaysRun = true, groups = {Constants.MobileDeviceManagement.MOBILE_DEVICE_MANAGEMENT_GROUP})
public void initTest() throws Exception {
super.init(TestUserMode.SUPER_TENANT_ADMIN);
String accessTokenString = "Bearer " + OAuthUtil.getOAuthToken(backendHTTPSURL, backendHTTPSURL);
- this.client = new IOTHttpClient(backendHTTPSURL, Constants.APPLICATION_JSON, accessTokenString);
+ this.client = new MDMHttpClient(backendHTTPSURL, Constants.APPLICATION_JSON, accessTokenString);
}
@Test(description = "Add an Android device.")
@@ -44,7 +44,7 @@ public class MobileDeviceManagement extends TestBase {
Constants.AndroidEnrollment.ENROLLMENT_PAYLOAD_FILE_NAME,
Constants.HTTP_METHOD_POST);
enrollmentData.addProperty(Constants.DEVICE_IDENTIFIER_KEY, Constants.DEVICE_ID);
- IOTResponse response = client.post(Constants.AndroidEnrollment.ENROLLMENT_ENDPOINT, enrollmentData.toString());
+ MDMResponse response = client.post(Constants.AndroidEnrollment.ENROLLMENT_ENDPOINT, enrollmentData.toString());
Assert.assertEquals(HttpStatus.SC_OK, response.getStatus());
AssertUtil.jsonPayloadCompare(PayloadGenerator.getJsonPayload(
Constants.AndroidEnrollment.ENROLLMENT_RESPONSE_PAYLOAD_FILE_NAME,
@@ -53,7 +53,7 @@ public class MobileDeviceManagement extends TestBase {
@Test(dependsOnMethods = {"addEnrollment"}, description = "Test count devices")
public void testCountDevices() throws Exception {
- IOTResponse response = client.get(Constants.MobileDeviceManagement.GET_DEVICE_COUNT_ENDPOINT);
+ MDMResponse response = client.get(Constants.MobileDeviceManagement.GET_DEVICE_COUNT_ENDPOINT);
Assert.assertEquals(HttpStatus.SC_OK, response.getStatus());
Assert.assertTrue(response.getBody().toString().equals(Constants.MobileDeviceManagement.NO_OF_DEVICES));
@@ -61,13 +61,13 @@ public class MobileDeviceManagement extends TestBase {
@Test(dependsOnMethods = {"addEnrollment"}, description = "Test view devices")
public void testViewDevices() throws Exception {
- IOTResponse response = client.get(Constants.MobileDeviceManagement.GET_ALL_DEVICES_ENDPOINT);
+ MDMResponse response = client.get(Constants.MobileDeviceManagement.GET_ALL_DEVICES_ENDPOINT);
Assert.assertEquals(HttpStatus.SC_OK, response.getStatus());
}
@Test(dependsOnMethods = {"addEnrollment"}, description = "Test view device types")
public void testViewDeviceTypes() throws Exception {
- IOTResponse response = client.get(Constants.MobileDeviceManagement.VIEW_DEVICE_TYPES_ENDPOINT);
+ MDMResponse response = client.get(Constants.MobileDeviceManagement.VIEW_DEVICE_TYPES_ENDPOINT);
Assert.assertEquals(HttpStatus.SC_OK, response.getStatus());
Assert.assertEquals(PayloadGenerator.getJsonPayloadToString
(Constants.MobileDeviceManagement.VIEW_DEVICE_RESPONSE_PAYLOAD_FILE_NAME), response.getBody());
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/mobileDevice/MobileDeviceManagementWithNoDevices.java b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/mobileDevice/MobileDeviceManagementWithNoDevices.java
similarity index 82%
rename from modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/mobileDevice/MobileDeviceManagementWithNoDevices.java
rename to modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/mobileDevice/MobileDeviceManagementWithNoDevices.java
index 2f32fe27..6e3ea8e2 100644
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/mobileDevice/MobileDeviceManagementWithNoDevices.java
+++ b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/mobileDevice/MobileDeviceManagementWithNoDevices.java
@@ -16,38 +16,38 @@
* under the License.
*/
-package org.wso2.iot.integration.mobileDevice;
+package org.wso2.mdm.integration.mobileDevice;
import junit.framework.Assert;
import org.apache.commons.httpclient.HttpStatus;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import org.wso2.carbon.automation.engine.context.TestUserMode;
-import org.wso2.iot.integration.common.*;
+import org.wso2.mdm.integration.common.*;
/**
* This class contains integration tests for API Mobile Device Management with No Devices Enrolled.
*/
public class MobileDeviceManagementWithNoDevices extends TestBase {
- private IOTHttpClient client;
+ private MDMHttpClient client;
- @BeforeClass(alwaysRun = true, groups = { Constants.MobileDeviceManagement.MOBILE_DEVICE_MANAGEMENT_GROUP})
+ @BeforeClass(alwaysRun = true, groups = {Constants.MobileDeviceManagement.MOBILE_DEVICE_MANAGEMENT_GROUP})
public void initTest() throws Exception {
super.init(TestUserMode.SUPER_TENANT_ADMIN);
String accessTokenString = "Bearer " + OAuthUtil.getOAuthToken(backendHTTPSURL, backendHTTPSURL);
- this.client = new IOTHttpClient(backendHTTPSURL, Constants.APPLICATION_JSON, accessTokenString);
+ this.client = new MDMHttpClient(backendHTTPSURL, Constants.APPLICATION_JSON, accessTokenString);
}
@Test(description = "Test count devices with no added devices")
public void testCountDevicesWithNoDevices() throws Exception {
- IOTResponse response = client.get(Constants.MobileDeviceManagement.GET_DEVICE_COUNT_ENDPOINT);
+ MDMResponse response = client.get(Constants.MobileDeviceManagement.GET_DEVICE_COUNT_ENDPOINT);
Assert.assertEquals(HttpStatus.SC_OK, response.getStatus());
Assert.assertEquals(Constants.ZERO, response.getBody());
}
@Test(description = "Test view devices with no added devices")
public void testViewDevicesWithNoDevices() throws Exception {
- IOTResponse response = client.get(Constants.MobileDeviceManagement.GET_ALL_DEVICES_ENDPOINT);
+ MDMResponse response = client.get(Constants.MobileDeviceManagement.GET_ALL_DEVICES_ENDPOINT);
Assert.assertEquals(HttpStatus.SC_OK, response.getStatus());
Assert.assertEquals(response.getBody(), Constants.NULL);
}
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/notification/NotificationManagement.java b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/notification/NotificationManagement.java
similarity index 97%
rename from modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/notification/NotificationManagement.java
rename to modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/notification/NotificationManagement.java
index 9056f8a0..b0d5fe8b 100644
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/notification/NotificationManagement.java
+++ b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/notification/NotificationManagement.java
@@ -15,7 +15,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.wso2.iot.integration.notification;
+package org.wso2.mdm.integration.notification;
import com.google.gson.JsonObject;
import junit.framework.Assert;
@@ -24,7 +24,7 @@ import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
import org.wso2.carbon.automation.engine.context.TestUserMode;
import org.wso2.carbon.automation.test.utils.http.client.HttpResponse;
-import org.wso2.iot.integration.common.*;
+import org.wso2.mdm.integration.common.*;
/**
* This class contains integration tests for notification management backend services.
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/operation/OperationManagement.java b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/operation/OperationManagement.java
similarity index 89%
rename from modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/operation/OperationManagement.java
rename to modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/operation/OperationManagement.java
index a7e39941..833e229f 100644
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/operation/OperationManagement.java
+++ b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/operation/OperationManagement.java
@@ -16,7 +16,7 @@
* under the License.
*/
-package org.wso2.iot.integration.operation;
+package org.wso2.mdm.integration.operation;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
@@ -25,7 +25,7 @@ import junit.framework.Assert;
import org.apache.commons.httpclient.HttpStatus;
import org.wso2.carbon.automation.engine.context.TestUserMode;
import org.wso2.carbon.automation.test.utils.http.client.HttpResponse;
-import org.wso2.iot.integration.common.*;
+import org.wso2.mdm.integration.common.*;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
@@ -35,14 +35,14 @@ import org.testng.annotations.Test;
public class OperationManagement extends TestBase {
private JsonObject device;
- private IOTHttpClient client;
+ private MDMHttpClient client;
private RestClient rclient;
- @BeforeClass(alwaysRun = true, groups = { Constants.OperationManagement.OPERATION_MANAGEMENT_GROUP})
+ @BeforeClass(alwaysRun = true, groups = {Constants.OperationManagement.OPERATION_MANAGEMENT_GROUP})
public void initTest() throws Exception {
super.init(TestUserMode.SUPER_TENANT_ADMIN);
String accessTokenString = "Bearer " + OAuthUtil.getOAuthToken(backendHTTPSURL, backendHTTPSURL);
- this.client = new IOTHttpClient(backendHTTPSURL, Constants.APPLICATION_JSON, accessTokenString);
+ this.client = new MDMHttpClient(backendHTTPSURL, Constants.APPLICATION_JSON, accessTokenString);
this.rclient = new RestClient(backendHTTPSURL, Constants.APPLICATION_JSON, accessTokenString);
}
@@ -52,7 +52,7 @@ public class OperationManagement extends TestBase {
Constants.AndroidEnrollment.ENROLLMENT_PAYLOAD_FILE_NAME,
Constants.HTTP_METHOD_POST);
enrollmentData.addProperty(Constants.DEVICE_IDENTIFIER_KEY, Constants.DEVICE_ID);
- IOTResponse response = client.post(Constants.AndroidEnrollment.ENROLLMENT_ENDPOINT, enrollmentData.toString());
+ MDMResponse response = client.post(Constants.AndroidEnrollment.ENROLLMENT_ENDPOINT, enrollmentData.toString());
Assert.assertEquals(HttpStatus.SC_OK, response.getStatus());
AssertUtil.jsonPayloadCompare(PayloadGenerator.getJsonPayload(
Constants.AndroidEnrollment.ENROLLMENT_RESPONSE_PAYLOAD_FILE_NAME,
@@ -75,7 +75,7 @@ public class OperationManagement extends TestBase {
@Test(dependsOnMethods = {"testInstallApps"}, description = "Test get device apps with wrong Device ID")
public void testGetDeviceAppsWithWrongDeviceID() throws Exception {
- IOTResponse response = client.get(Constants.OperationManagement.GET_DEVICE_APPS_ENDPOINT +
+ MDMResponse response = client.get(Constants.OperationManagement.GET_DEVICE_APPS_ENDPOINT +
Constants.NUMBER_NOT_EQUAL_TO_DEVICE_ID + Constants.OperationManagement.PATH_APPS);
Assert.assertEquals(HttpStatus.SC_INTERNAL_SERVER_ERROR, response.getStatus());
@@ -83,7 +83,7 @@ public class OperationManagement extends TestBase {
@Test(dependsOnMethods = {"testInstallApps"}, description = "Test get operations for device with wrong Device ID")
public void testGetDeviceOperationsWithWrongDeviceID() throws Exception {
- IOTResponse response = client.get(Constants.OperationManagement.GET_DEVICE_OPERATIONS_ENDPOINT + Constants.DEVICE_IMEI);
+ MDMResponse response = client.get(Constants.OperationManagement.GET_DEVICE_OPERATIONS_ENDPOINT + Constants.DEVICE_IMEI);
Assert.assertEquals(HttpStatus.SC_INTERNAL_SERVER_ERROR, response.getStatus());
}
}
\ No newline at end of file
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/policy/PolicyManagement.java b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/policy/PolicyManagement.java
similarity index 86%
rename from modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/policy/PolicyManagement.java
rename to modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/policy/PolicyManagement.java
index 70ec513a..f7b338f9 100644
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/policy/PolicyManagement.java
+++ b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/policy/PolicyManagement.java
@@ -15,33 +15,33 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.wso2.iot.integration.policy;
+package org.wso2.mdm.integration.policy;
import junit.framework.Assert;
import org.apache.commons.httpclient.HttpStatus;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import org.wso2.carbon.automation.engine.context.TestUserMode;
-import org.wso2.iot.integration.common.*;
+import org.wso2.mdm.integration.common.*;
/**
* This class contains integration tests for policy management backend services.
*/
public class PolicyManagement extends TestBase {
- private IOTHttpClient client;
+ private MDMHttpClient client;
- @BeforeClass(alwaysRun = true, groups = { Constants.PolicyManagement.POLICY_MANAGEMENT_GROUP})
+ @BeforeClass(alwaysRun = true, groups = {Constants.PolicyManagement.POLICY_MANAGEMENT_GROUP})
public void initTest() throws Exception {
super.init(TestUserMode.SUPER_TENANT_ADMIN);
String accessTokenString = "Bearer " + OAuthUtil.getOAuthToken(backendHTTPSURL, backendHTTPSURL);
- this.client = new IOTHttpClient(backendHTTPSURL, Constants.APPLICATION_JSON, accessTokenString);
+ this.client = new MDMHttpClient(backendHTTPSURL, Constants.APPLICATION_JSON, accessTokenString);
}
@Test(description = "Test add policy.")
public void testAddPolicy() throws Exception {
- IOTResponse response = client.post(Constants.PolicyManagement.ADD_POLICY_ENDPOINT,
+ MDMResponse response = client.post(Constants.PolicyManagement.ADD_POLICY_ENDPOINT,
PayloadGenerator.getJsonPayload(Constants.PolicyManagement.POLICY_PAYLOAD_FILE_NAME,
Constants.HTTP_METHOD_POST).toString());
Assert.assertEquals(HttpStatus.SC_OK, response.getStatus());
@@ -52,7 +52,7 @@ public class PolicyManagement extends TestBase {
@Test(description = "Test view policy list.", dependsOnMethods = {"testAddPolicy"})
public void testViewPolicyList() throws Exception {
- IOTResponse response = client.get(Constants.PolicyManagement.VIEW_POLICY_LIST_ENDPOINT);
+ MDMResponse response = client.get(Constants.PolicyManagement.VIEW_POLICY_LIST_ENDPOINT);
Assert.assertEquals(HttpStatus.SC_OK, response.getStatus());
}
@@ -60,7 +60,7 @@ public class PolicyManagement extends TestBase {
@Test(description = "Test update policy.", dependsOnMethods = {"testViewPolicyList"})
public void testUpdatePolicy() throws Exception {
- IOTResponse response = client.put(Constants.PolicyManagement.UPDATE_POLICY_ENDPOINT,
+ MDMResponse response = client.put(Constants.PolicyManagement.UPDATE_POLICY_ENDPOINT,
PayloadGenerator.getJsonPayload(
Constants.PolicyManagement.POLICY_PAYLOAD_FILE_NAME,
Constants.HTTP_METHOD_PUT).toString());
@@ -72,7 +72,7 @@ public class PolicyManagement extends TestBase {
@Test(description = "Test remove policy.", dependsOnMethods = {"testUpdatePolicy"})
public void testRemovePolicy() throws Exception {
- IOTResponse response = client.post(Constants.PolicyManagement.REMOVE_POLICY_ENDPOINT,
+ MDMResponse response = client.post(Constants.PolicyManagement.REMOVE_POLICY_ENDPOINT,
Constants.PolicyManagement.REMOVE_POLICY_PAYLOAD_FILE_NAME);
Assert.assertEquals(HttpStatus.SC_OK, response.getStatus());
Assert.assertEquals(PayloadGenerator.getJsonPayload(Constants.PolicyManagement.POLICY_RESPONSE_PAYLOAD_FILE_NAME,
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/role/RoleManagement.java b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/role/RoleManagement.java
similarity index 82%
rename from modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/role/RoleManagement.java
rename to modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/role/RoleManagement.java
index 185bca4c..999f888f 100644
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/role/RoleManagement.java
+++ b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/role/RoleManagement.java
@@ -15,32 +15,33 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.wso2.iot.integration.role;
+package org.wso2.mdm.integration.role;
import junit.framework.Assert;
import org.apache.commons.httpclient.HttpStatus;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import org.wso2.carbon.automation.engine.context.TestUserMode;
-import org.wso2.iot.integration.common.*;
+import org.wso2.carbon.automation.test.utils.http.client.HttpResponse;
+import org.wso2.mdm.integration.common.*;
/**
* This class contains integration tests for role management backend services.
*/
public class RoleManagement extends TestBase {
- private IOTHttpClient client;
+ private MDMHttpClient client;
- @BeforeClass(alwaysRun = true, groups = { Constants.RoleManagement.ROLE_MANAGEMENT_GROUP})
+ @BeforeClass(alwaysRun = true, groups = {Constants.RoleManagement.ROLE_MANAGEMENT_GROUP})
public void initTest() throws Exception {
super.init(TestUserMode.SUPER_TENANT_ADMIN);
String accessTokenString = "Bearer " + OAuthUtil.getOAuthToken(backendHTTPSURL, backendHTTPSURL);
- this.client = new IOTHttpClient(backendHTTPSURL, Constants.APPLICATION_JSON, accessTokenString);
+ this.client = new MDMHttpClient(backendHTTPSURL, Constants.APPLICATION_JSON, accessTokenString);
}
@Test(description = "Test add role.")
public void testAddRole() throws Exception {
- IOTResponse response = client.post(Constants.RoleManagement.ADD_ROLE_ENDPOINT,
+ MDMResponse response = client.post(Constants.RoleManagement.ADD_ROLE_ENDPOINT,
PayloadGenerator.getJsonPayload(Constants.RoleManagement.ROLE_PAYLOAD_FILE_NAME,
Constants.HTTP_METHOD_POST).toString());
Assert.assertEquals(HttpStatus.SC_CREATED, response.getStatus());
@@ -48,7 +49,7 @@ public class RoleManagement extends TestBase {
@Test(description = "Test update permission role.", dependsOnMethods = {"testAddRole"})
public void testUpdateRolePermission() throws Exception {
- IOTResponse response = client.put(Constants.RoleManagement.UPDATE_ROLE_PERMISSION_ENDPOINT,
+ MDMResponse response = client.put(Constants.RoleManagement.UPDATE_ROLE_PERMISSION_ENDPOINT,
PayloadGenerator.getJsonPayload(Constants.RoleManagement.UPDATE_ROLE_PERMISSION_PAYLOAD_FILE_NAME,
Constants.HTTP_METHOD_PUT).toString());
Assert.assertEquals(HttpStatus.SC_OK, response.getStatus());
@@ -56,7 +57,7 @@ public class RoleManagement extends TestBase {
@Test(description = "Test remove user.", dependsOnMethods = {"testUpdateRolePermission"})
public void testRemoveRole() throws Exception {
- IOTResponse response = client.delete(Constants.RoleManagement.REMOVE_ROLE_ENDPOINT);
+ MDMResponse response = client.delete(Constants.RoleManagement.REMOVE_ROLE_ENDPOINT);
Assert.assertEquals(HttpStatus.SC_OK, response.getStatus());
}
}
\ No newline at end of file
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/user/UserManagement.java b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/user/UserManagement.java
similarity index 96%
rename from modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/user/UserManagement.java
rename to modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/user/UserManagement.java
index debc6222..dcd5ed48 100644
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/user/UserManagement.java
+++ b/modules/integration/tests-integration-old/src/test/java/org/wso2/mdm/integration/user/UserManagement.java
@@ -16,7 +16,7 @@
* under the License.
*/
-package org.wso2.iot.integration.user;
+package org.wso2.mdm.integration.user;
import junit.framework.Assert;
import org.apache.commons.httpclient.HttpStatus;
@@ -24,7 +24,7 @@ import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import org.wso2.carbon.automation.engine.context.TestUserMode;
import org.wso2.carbon.automation.test.utils.http.client.HttpResponse;
-import org.wso2.iot.integration.common.*;
+import org.wso2.mdm.integration.common.*;
/**
* This class contains integration tests for user management backend services.
@@ -33,7 +33,7 @@ public class UserManagement extends TestBase {
private RestClient client;
- @BeforeClass(alwaysRun = true, groups = { Constants.UserManagement.USER_MANAGEMENT_GROUP})
+ @BeforeClass(alwaysRun = true, groups = {Constants.UserManagement.USER_MANAGEMENT_GROUP})
public void initTest() throws Exception {
super.init(TestUserMode.SUPER_TENANT_ADMIN);
String accessTokenString = "Bearer " + OAuthUtil.getOAuthToken(backendHTTPSURL, backendHTTPSURL);
diff --git a/modules/integration/tests-integration-old/src/test/resources/automation.xml b/modules/integration/tests-integration-old/src/test/resources/automation.xml
new file mode 100644
index 00000000..c36ffbd8
--- /dev/null
+++ b/modules/integration/tests-integration-old/src/test/resources/automation.xml
@@ -0,0 +1,233 @@
+
+
+
+
+
+
+
+
+
+ 60000
+
+ standalone
+
+ false
+
+ false
+
+ false
+
+
+
+
+
+
+ http://10.100.2.51:4444/wd/hub/
+
+
+
+ firefox
+
+ /home/test/name/webDriver
+
+
+
+
+
+
+ jdbc:h2:testDB
+ wso2carbon
+ wso2carbon
+ org.h2.Driver
+
+
+ jdbc:h2:testDB
+ wso2carbon
+ wso2carbon
+ org.h2.Driver
+
+
+
+
+
+
+ keystores/products/wso2carbon.jks
+
+ JKS
+
+ wso2carbon
+
+ wso2carbon
+
+ wso2carbon
+
+
+
+
+ client-truststore.jks
+
+ JKS
+
+ wso2carbon
+
+
+
+
+
+ https://wso2.org/repo
+ file:///home/krishantha/test
+
+
+
+
+
+
+
+
+
+ admin
+ admin
+
+
+
+
+ testuser11
+ testuser11
+
+
+ testuser21
+ testuser21
+
+
+
+
+
+
+
+
+ admin
+ admin
+
+
+
+
+ testuser11
+ testuser11
+
+
+ testuser21
+ testuser21
+
+
+
+
+
+
+
+
+
+
+
+
+ localhost
+
+
+ 10863
+ 10543
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ org.wso2.carbon.automation.extensions.servers.carbonserver.CarbonServerExtension
+
+
+
+
+
+
+ org.wso2.carbon.integration.common.extensions.usermgt.UserPopulateExtension
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/integration/tests-integration/src/test/resources/automationSchema.xsd b/modules/integration/tests-integration-old/src/test/resources/automationSchema.xsd
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/automationSchema.xsd
rename to modules/integration/tests-integration-old/src/test/resources/automationSchema.xsd
diff --git a/modules/integration/tests-integration-old/src/test/resources/filters.txt b/modules/integration/tests-integration-old/src/test/resources/filters.txt
new file mode 100644
index 00000000..8813e634
--- /dev/null
+++ b/modules/integration/tests-integration-old/src/test/resources/filters.txt
@@ -0,0 +1,23 @@
+-org.wso2.carbon.caching.core.identity.*
+-org.wso2.carbon.caching.core.permissiontree.*
+-org.wso2.carbon.caching.infinispan.*
+-org.wso2.carbon.event.core.internal.delivery.jms.*
+-org.wso2.carbon.event.core.qpid.*
+-org.wso2.carbon.registry.synchronization.*
+-*.stub*
+-*.stub_
+-*.stub_4.0.0
+-*.stub-
+-org.eclipse.*
+-*.equinox.*
+-org.wso2.carbon.user.core.*
+-samples.*
+-*.log4j*
+-*.axis2*
+-*.ui*
+-*.tenant*
+-*.stratos*
+-*.eventing*
+-*tests-transports*
+-org.wso2.carbon.mediation.statistics*
+-*startup*
diff --git a/modules/integration/tests-integration-old/src/test/resources/instrumentation.txt b/modules/integration/tests-integration-old/src/test/resources/instrumentation.txt
new file mode 100644
index 00000000..f9f1894a
--- /dev/null
+++ b/modules/integration/tests-integration-old/src/test/resources/instrumentation.txt
@@ -0,0 +1,41 @@
+org.wso2.carbon.caching.core_
+org.wso2.carbon.discovery.core_
+org.wso2.carbon.discovery.proxy_
+org.wso2.carbon.email.verification_
+org.wso2.carbon.event.core_
+org.wso2.carbon.governance.custom.lifecycles.checklist_
+org.wso2.carbon.governance.gadgets.impactanalysis_
+org.wso2.carbon.governance.gadgetsource_
+org.wso2.carbon.governance.gadgets.resourceimpact_
+org.wso2.carbon.governance.generic_
+org.wso2.carbon.governance.lcm_
+org.wso2.carbon.governance.list_
+org.wso2.carbon.governance.platform.extensions_
+org.wso2.carbon.governance.registry.eventing_
+org.wso2.carbon.governance.registry.extensions_
+org.wso2.carbon.governance.services_
+org.wso2.carbon.identity.user.profile_
+org.wso2.carbon.mashup.javascript.hostobjects.registry_
+org.wso2.carbon.registry.activities_
+org.wso2.carbon.registry.common_
+org.wso2.carbon.registry.core_
+org.wso2.carbon.registry.eventing_
+org.wso2.carbon.registry.extensions_
+org.wso2.carbon.registry.handler_
+org.wso2.carbon.registry.indexing_
+org.wso2.carbon.registry.info_
+org.wso2.carbon.registry.profiles_
+org.wso2.carbon.registry.properties_
+org.wso2.carbon.registry.relations_
+org.wso2.carbon.registry.reporting_
+org.wso2.carbon.registry.resource_
+org.wso2.carbon.registry.search_
+org.wso2.carbon.registry.server_
+org.wso2.carbon.registry.servlet_
+org.wso2.carbon.registry.task_
+org.wso2.carbon.registry.uddi_
+org.wso2.carbon.registry.webdav_
+org.wso2.carbon.registry.ws.api_
+org.wso2.carbon.reporting.api_
+org.wso2.carbon.reporting.core_
+org.wso2.carbon.reporting.util_
diff --git a/modules/integration/tests-integration/src/test/resources/keystores/stratos/client-truststore.jks b/modules/integration/tests-integration-old/src/test/resources/keystores/products/client-truststore.jks
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/keystores/stratos/client-truststore.jks
rename to modules/integration/tests-integration-old/src/test/resources/keystores/products/client-truststore.jks
diff --git a/modules/integration/tests-integration/src/test/resources/keystores/stratos/wso2carbon.jks b/modules/integration/tests-integration-old/src/test/resources/keystores/products/wso2carbon.jks
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/keystores/stratos/wso2carbon.jks
rename to modules/integration/tests-integration-old/src/test/resources/keystores/products/wso2carbon.jks
diff --git a/modules/integration/tests-integration/src/test/resources/keystores/stratos/wso2certs.jks b/modules/integration/tests-integration-old/src/test/resources/keystores/products/wso2certs.jks
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/keystores/stratos/wso2certs.jks
rename to modules/integration/tests-integration-old/src/test/resources/keystores/products/wso2certs.jks
diff --git a/modules/integration/tests-integration-old/src/test/resources/log4j.properties b/modules/integration/tests-integration-old/src/test/resources/log4j.properties
new file mode 100644
index 00000000..bc395345
--- /dev/null
+++ b/modules/integration/tests-integration-old/src/test/resources/log4j.properties
@@ -0,0 +1,45 @@
+#
+# 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.
+#
+
+#
+# This is the log4j configuration file used by WSO2 Carbon
+#
+# IMPORTANT : Please do not remove or change the names of any
+# of the Appenders defined here. The layout pattern & log file
+# can be changed using the WSO2 Carbon Management Console, and those
+# settings will override the settings in this file.
+#
+
+log4j.rootLogger=INFO, console, Default
+
+log4j.logger.org.wso2=INFO
+log4j.logger.org.apache.axis2.deployment.ModuleDeployer=ERROR
+#Automation file apender
+log4j.appender.Default=org.apache.log4j.RollingFileAppender
+log4j.appender.Default.File=logs/automation.log
+log4j.appender.Default.Append=true
+log4j.appender.Default.MaxFileSize=10MB
+log4j.appender.Default.MaxBackupIndex=10
+log4j.appender.Default.layout=org.apache.log4j.PatternLayout
+log4j.appender.Default.layout.ConversionPattern=%d{ISO8601} %-5p [%c] - %m%n
+
+
+#Automation console apender
+log4j.appender.console=org.apache.log4j.ConsoleAppender
+log4j.appender.console.layout=org.apache.log4j.PatternLayout
+log4j.appender.console.layout.ConversionPattern=%-5p [%c] - %m%n
diff --git a/modules/integration/tests-integration/src/test/resources/payloads/android-config-response-payloads.json b/modules/integration/tests-integration-old/src/test/resources/payloads/android-config-response-payloads.json
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/payloads/android-config-response-payloads.json
rename to modules/integration/tests-integration-old/src/test/resources/payloads/android-config-response-payloads.json
diff --git a/modules/integration/tests-integration/src/test/resources/payloads/android-configuration-payloads.json b/modules/integration/tests-integration-old/src/test/resources/payloads/android-configuration-payloads.json
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/payloads/android-configuration-payloads.json
rename to modules/integration/tests-integration-old/src/test/resources/payloads/android-configuration-payloads.json
diff --git a/modules/integration/tests-integration/src/test/resources/payloads/android-device-mgt-response-payloads.json b/modules/integration/tests-integration-old/src/test/resources/payloads/android-device-mgt-response-payloads.json
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/payloads/android-device-mgt-response-payloads.json
rename to modules/integration/tests-integration-old/src/test/resources/payloads/android-device-mgt-response-payloads.json
diff --git a/modules/integration/tests-integration/src/test/resources/payloads/android-enrollment-payloads.json b/modules/integration/tests-integration-old/src/test/resources/payloads/android-enrollment-payloads.json
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/payloads/android-enrollment-payloads.json
rename to modules/integration/tests-integration-old/src/test/resources/payloads/android-enrollment-payloads.json
diff --git a/modules/integration/tests-integration/src/test/resources/payloads/android-enrollment-response-payloads.json b/modules/integration/tests-integration-old/src/test/resources/payloads/android-enrollment-response-payloads.json
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/payloads/android-enrollment-response-payloads.json
rename to modules/integration/tests-integration-old/src/test/resources/payloads/android-enrollment-response-payloads.json
diff --git a/modules/integration/tests-integration/src/test/resources/payloads/android-operation-payloads.json b/modules/integration/tests-integration-old/src/test/resources/payloads/android-operation-payloads.json
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/payloads/android-operation-payloads.json
rename to modules/integration/tests-integration-old/src/test/resources/payloads/android-operation-payloads.json
diff --git a/modules/integration/tests-integration/src/test/resources/payloads/android-policy-response-payloads.json b/modules/integration/tests-integration-old/src/test/resources/payloads/android-policy-response-payloads.json
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/payloads/android-policy-response-payloads.json
rename to modules/integration/tests-integration-old/src/test/resources/payloads/android-policy-response-payloads.json
diff --git a/modules/integration/tests-integration/src/test/resources/payloads/configuration-payloads.json b/modules/integration/tests-integration-old/src/test/resources/payloads/configuration-payloads.json
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/payloads/configuration-payloads.json
rename to modules/integration/tests-integration-old/src/test/resources/payloads/configuration-payloads.json
diff --git a/modules/integration/tests-integration/src/test/resources/payloads/configuration-response-payloads.json b/modules/integration/tests-integration-old/src/test/resources/payloads/configuration-response-payloads.json
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/payloads/configuration-response-payloads.json
rename to modules/integration/tests-integration-old/src/test/resources/payloads/configuration-response-payloads.json
diff --git a/modules/integration/tests-integration/src/test/resources/payloads/get-notifications-response-payloads.json b/modules/integration/tests-integration-old/src/test/resources/payloads/get-notifications-response-payloads.json
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/payloads/get-notifications-response-payloads.json
rename to modules/integration/tests-integration-old/src/test/resources/payloads/get-notifications-response-payloads.json
diff --git a/modules/integration/tests-integration/src/test/resources/payloads/license-response-payloads.json b/modules/integration/tests-integration-old/src/test/resources/payloads/license-response-payloads.json
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/payloads/license-response-payloads.json
rename to modules/integration/tests-integration-old/src/test/resources/payloads/license-response-payloads.json
diff --git a/modules/integration/tests-integration/src/test/resources/payloads/mobile-device-mgt-view-device-types-response-payloads.json b/modules/integration/tests-integration-old/src/test/resources/payloads/mobile-device-mgt-view-device-types-response-payloads.json
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/payloads/mobile-device-mgt-view-device-types-response-payloads.json
rename to modules/integration/tests-integration-old/src/test/resources/payloads/mobile-device-mgt-view-device-types-response-payloads.json
diff --git a/modules/integration/tests-integration/src/test/resources/payloads/notification-payloads.json b/modules/integration/tests-integration-old/src/test/resources/payloads/notification-payloads.json
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/payloads/notification-payloads.json
rename to modules/integration/tests-integration-old/src/test/resources/payloads/notification-payloads.json
diff --git a/modules/integration/tests-integration/src/test/resources/payloads/notification-response-payloads.json b/modules/integration/tests-integration-old/src/test/resources/payloads/notification-response-payloads.json
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/payloads/notification-response-payloads.json
rename to modules/integration/tests-integration-old/src/test/resources/payloads/notification-response-payloads.json
diff --git a/modules/integration/tests-integration/src/test/resources/payloads/policy-payloads.json b/modules/integration/tests-integration-old/src/test/resources/payloads/policy-payloads.json
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/payloads/policy-payloads.json
rename to modules/integration/tests-integration-old/src/test/resources/payloads/policy-payloads.json
diff --git a/modules/integration/tests-integration/src/test/resources/payloads/policy-response-payloads.json b/modules/integration/tests-integration-old/src/test/resources/payloads/policy-response-payloads.json
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/payloads/policy-response-payloads.json
rename to modules/integration/tests-integration-old/src/test/resources/payloads/policy-response-payloads.json
diff --git a/modules/integration/tests-integration/src/test/resources/payloads/role-payloads.json b/modules/integration/tests-integration-old/src/test/resources/payloads/role-payloads.json
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/payloads/role-payloads.json
rename to modules/integration/tests-integration-old/src/test/resources/payloads/role-payloads.json
diff --git a/modules/integration/tests-integration/src/test/resources/payloads/user-payloads.json b/modules/integration/tests-integration-old/src/test/resources/payloads/user-payloads.json
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/payloads/user-payloads.json
rename to modules/integration/tests-integration-old/src/test/resources/payloads/user-payloads.json
diff --git a/modules/integration/tests-integration/src/test/resources/payloads/user-response-payloads.json b/modules/integration/tests-integration-old/src/test/resources/payloads/user-response-payloads.json
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/payloads/user-response-payloads.json
rename to modules/integration/tests-integration-old/src/test/resources/payloads/user-response-payloads.json
diff --git a/modules/integration/tests-integration-old/src/test/resources/testng-server-mgt.xml b/modules/integration/tests-integration-old/src/test/resources/testng-server-mgt.xml
new file mode 100644
index 00000000..fa3a3fa7
--- /dev/null
+++ b/modules/integration/tests-integration-old/src/test/resources/testng-server-mgt.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/modules/integration/tests-integration-old/src/test/resources/testng.xml b/modules/integration/tests-integration-old/src/test/resources/testng.xml
new file mode 100644
index 00000000..00843078
--- /dev/null
+++ b/modules/integration/tests-integration-old/src/test/resources/testng.xml
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/modules/integration/tests-integration/src/test/resources/windows/enrollment/additional_device_info.xml b/modules/integration/tests-integration-old/src/test/resources/windows/enrollment/additional_device_info.xml
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/windows/enrollment/additional_device_info.xml
rename to modules/integration/tests-integration-old/src/test/resources/windows/enrollment/additional_device_info.xml
diff --git a/modules/integration/tests-integration/src/test/resources/windows/enrollment/discovery-post.xml b/modules/integration/tests-integration-old/src/test/resources/windows/enrollment/discovery-post.xml
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/windows/enrollment/discovery-post.xml
rename to modules/integration/tests-integration-old/src/test/resources/windows/enrollment/discovery-post.xml
diff --git a/modules/integration/tests-integration/src/test/resources/windows/enrollment/inital_device_info.xml b/modules/integration/tests-integration-old/src/test/resources/windows/enrollment/inital_device_info.xml
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/windows/enrollment/inital_device_info.xml
rename to modules/integration/tests-integration-old/src/test/resources/windows/enrollment/inital_device_info.xml
diff --git a/modules/integration/tests-integration/src/test/resources/windows/enrollment/ms_xcep.xml b/modules/integration/tests-integration-old/src/test/resources/windows/enrollment/ms_xcep.xml
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/windows/enrollment/ms_xcep.xml
rename to modules/integration/tests-integration-old/src/test/resources/windows/enrollment/ms_xcep.xml
diff --git a/modules/integration/tests-integration/src/test/resources/windows/enrollment/wstep.xml b/modules/integration/tests-integration-old/src/test/resources/windows/enrollment/wstep.xml
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/windows/enrollment/wstep.xml
rename to modules/integration/tests-integration-old/src/test/resources/windows/enrollment/wstep.xml
diff --git a/modules/integration/tests-integration/pom.xml b/modules/integration/tests-integration/pom.xml
index 380a6f17..aa4d7c95 100644
--- a/modules/integration/tests-integration/pom.xml
+++ b/modules/integration/tests-integration/pom.xml
@@ -1,47 +1,46 @@
-
-
+ ~ 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.
+ -->
+
+
+
org.wso2.iot
wso2iot-integration
- 3.1.0-SNAPSHOT
+ 3.0.0-SNAPSHOT
../pom.xml
4.0.0
- org.wso2.carbon.iot.test.integration
- WSO2 IOT - Integration Test Module
- Backend Integration Tests for WSO2 IOT Server.
+ tests-integration
jar
+ WSO2 IoT - Backend Integration Tests
maven-surefire-plugin
false
+ 2.12.4
-
-Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m
-
+ false
src/test/resources/testng-server-mgt.xml
src/test/resources/testng.xml
@@ -52,14 +51,10 @@
maven.test.haltafterfailure
false
-
- java.io.tmpdir
- ${basedir}/target/
-
carbon.zip
- ${basedir}/../../distribution/target/wso2iot-${project.version}.zip
+ ${basedir}/../../distribution/target/wso2iot-${product.iot.version}.zip
@@ -68,42 +63,37 @@
${basedir}/src/test/resources/
-
- server.list
-
- IOT
-
-
usedefaultlisteners
false
${basedir}/target/security-verifier/
- ${basedir}/target/iot
${basedir}/src/test/resources/instrumentation.txt
${basedir}/src/test/resources/filters.txt
- ${basedir}/target/iot
${basedir}/target
+ false
maven-dependency-plugin
+
- copy-emma-dependencies
+ copy-jacoco-dependencies
compile
copy-dependencies
- ${project.build.directory}/emma
+ ${project.build.directory}/jacoco
jar
- emma
+ org.jacoco.agent
+
copy-secVerifier
compile
@@ -119,7 +109,7 @@
- unpack-mar-jks
+ unpack-jks
compile
unpack
@@ -129,11 +119,11 @@
org.wso2.iot
wso2iot
- ${project.version}
+ ${product.iot.version}
zip
true
${basedir}/target/tobeCopied/
- **/*.jks,**/*.mar,**/axis2_client.xml
+ **/*.jks
@@ -153,43 +143,40 @@
- maven-resources-plugin
- 2.6
+ org.apache.maven.plugins
+ maven-surefire-report-plugin
+ 2.7.1
+
+ ${basedir}/target/report
+ registry-api-test
+
- copy-resources-jks
- compile
+ integration-test
- copy-resources
+ report-only
-
- ${basedir}/src/test/resources/keystores/products
-
-
-
-
- ${basedir}/target/tobeCopied/wso2iot-${project.version}/repository/resources/security/
-
-
- **/*.jks
-
-
-
-
+
+
+
+
+ maven-resources-plugin
+ 2.6
+
- copy-stratos-jks
+ copy-resources-jks
compile
copy-resources
- ${basedir}/src/test/resources/keystores/stratos
+ ${basedir}/src/test/resources/keystores/products
- ${basedir}/target/tobeCopied/wso2iot-${project.version}/repository/resources/security/
+ ${basedir}/target/tobeCopied/wso2iot-${product.iot.version}/repository/resources/security/
**/*.jks
@@ -198,73 +185,82 @@
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 2.4
+
- copy-axis2files
- compile
-
- copy-resources
-
-
- ${basedir}/src/test/resources/axis2config
-
-
-
-
- ${basedir}/target/tobeCopied/wso2iot-${project.version}/repository/conf/axis2/
-
-
- **/*.xml
-
-
-
-
-
-
- copy-resources-mar
- compile
- copy-resources
+ test-jar
-
- ${basedir}/src/test/resources/client/modules
-
-
-
-
- ${basedir}/target/tobeCopied/wso2iot-${project.version}/repository/deployment/client/modules
-
-
- **/*.mar
-
-
-
-
+
+
- org.wso2.iot
- org.wso2.carbon.iot.core.integration.ui.pages
+ org.wso2.carbon.automation
+ org.wso2.carbon.automation.engine
+ compile
org.wso2.carbon.automation
- org.wso2.carbon.automation.engine
+ org.wso2.carbon.automation.extensions
+ compile
org.wso2.carbon.automation
org.wso2.carbon.automation.test.utils
+ compile
+
+
+ org.wso2.carbon.automationutils
+ org.wso2.carbon.integration.common.utils
+ compile
org.wso2.carbon.automationutils
org.wso2.carbon.integration.common.extensions
+ compile
com.google.code.gson
gson
+ compile
+
+ org.wso2.carbon.devicemgt
+ org.wso2.carbon.device.mgt.core
+ compile
+
+
+ org.wso2.carbon.devicemgt
+ org.wso2.carbon.device.mgt.common
+ compile
+
+
+ org.wso2.carbon.devicemgt
+ org.wso2.carbon.policy.mgt.common
+ compile
+
+
+ org.wso2.carbon.devicemgt
+ org.wso2.carbon.policy.mgt.core
+ compile
+
+
+ org.wso2.carbon.devicemgt
+ org.wso2.carbon.certificate.mgt.core
+ compile
+
+
+
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/extensions/AnalyticsServerExtension.java b/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/extensions/AnalyticsServerExtension.java
deleted file mode 100644
index a4248b10..00000000
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/extensions/AnalyticsServerExtension.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * 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.iot.integration.extensions;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.automation.engine.annotations.ExecutionEnvironment;
-import org.wso2.carbon.automation.engine.context.AutomationContext;
-import org.wso2.carbon.automation.engine.context.ContextXpathConstants;
-import org.wso2.carbon.automation.engine.context.TestUserMode;
-import org.wso2.carbon.automation.engine.exceptions.AutomationFrameworkException;
-import org.wso2.carbon.automation.engine.extensions.ExecutionListenerExtension;
-import org.wso2.carbon.automation.extensions.ExtensionConstants;
-import org.wso2.carbon.automation.extensions.servers.carbonserver.CarbonServerExtension;
-
-import javax.xml.xpath.XPathExpressionException;
-
-/**
- * Test Automation server extension to start the DAS.
- * This will set the carbon_home to {carbonHome}/core and port offset : 2
- */
-public class AnalyticsServerExtension extends ExecutionListenerExtension {
-
- private CustomTestServerManager serverManager;
- private static final Log log = LogFactory.getLog(CarbonServerExtension.class);
- private String executionEnvironment;
- private AutomationContext automationContext;
-
-
- @Override
- public void initiate() throws AutomationFrameworkException {
- try {
- automationContext = new AutomationContext("IOT", TestUserMode.SUPER_TENANT_USER);
- if(getParameters().get(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND) == null) {
- getParameters().put(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND, "2");
- }
- serverManager = new CustomTestServerManager(getAutomationContext(), null, getParameters());
- executionEnvironment =
- automationContext.getConfigurationValue(ContextXpathConstants.EXECUTION_ENVIRONMENT);
-
- } catch (XPathExpressionException e) {
- handleException("Error while initiating test environment", e);
- }
- }
-
- @Override
- public void onExecutionStart() throws AutomationFrameworkException {
- try {
- if (executionEnvironment.equalsIgnoreCase(ExecutionEnvironment.STANDALONE.name())) {
- String carbonHome = serverManager.startServer("analytics");
- log.info(carbonHome);
- System.setProperty(ExtensionConstants.CARBON_HOME, carbonHome);
- }
- } catch (Exception e) {
- handleException("Fail to start carbon server ", e);
- }
- }
-
- @Override
- public void onExecutionFinish() throws AutomationFrameworkException {
- try {
- if (executionEnvironment.equalsIgnoreCase(ExecutionEnvironment.STANDALONE.name())) {
- serverManager.stopServer();
- }
- } catch (Exception e) {
- handleException("Fail to stop carbon server ", e);
- }
- }
-
- private static void handleException(String msg, Exception e) {
- log.error(msg, e);
- throw new RuntimeException(msg, e);
- }
-}
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/extensions/BrokerServerExtension.java b/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/extensions/BrokerServerExtension.java
deleted file mode 100644
index 2bb86d87..00000000
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/extensions/BrokerServerExtension.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * 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.iot.integration.extensions;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.automation.engine.annotations.ExecutionEnvironment;
-import org.wso2.carbon.automation.engine.context.AutomationContext;
-import org.wso2.carbon.automation.engine.context.ContextXpathConstants;
-import org.wso2.carbon.automation.engine.context.TestUserMode;
-import org.wso2.carbon.automation.engine.exceptions.AutomationFrameworkException;
-import org.wso2.carbon.automation.engine.extensions.ExecutionListenerExtension;
-import org.wso2.carbon.automation.extensions.ExtensionConstants;
-import org.wso2.carbon.automation.extensions.servers.carbonserver.CarbonServerExtension;
-
-import javax.xml.xpath.XPathExpressionException;
-
-/**
- * Test Automation server extension to start the Broker.
- * This will set the carbon_home to {carbonHome}/core and port offset : 3
- */
-public class BrokerServerExtension extends ExecutionListenerExtension {
-
- private CustomTestServerManager serverManager;
- private static final Log log = LogFactory.getLog(CarbonServerExtension.class);
- private String executionEnvironment;
- private AutomationContext automationContext;
-
-
- @Override
- public void initiate() throws AutomationFrameworkException {
- try {
- automationContext = new AutomationContext("IOT", TestUserMode.SUPER_TENANT_USER);
- if(getParameters().get(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND) == null) {
- getParameters().put(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND, "3");
- }
- serverManager = new CustomTestServerManager(getAutomationContext(), null, getParameters());
- executionEnvironment =
- automationContext.getConfigurationValue(ContextXpathConstants.EXECUTION_ENVIRONMENT);
-
- } catch (XPathExpressionException e) {
- handleException("Error while initiating test environment", e);
- }
- }
-
- @Override
- public void onExecutionStart() throws AutomationFrameworkException {
- try {
- if (executionEnvironment.equalsIgnoreCase(ExecutionEnvironment.STANDALONE.name())) {
- String carbonHome = serverManager.startServer("broker");
- log.info(carbonHome);
- System.setProperty(ExtensionConstants.CARBON_HOME, carbonHome);
- }
- } catch (Exception e) {
- handleException("Fail to start carbon server ", e);
- }
- }
-
- @Override
- public void onExecutionFinish() throws AutomationFrameworkException {
- try {
- if (executionEnvironment.equalsIgnoreCase(ExecutionEnvironment.STANDALONE.name())) {
- serverManager.stopServer();
- }
- } catch (Exception e) {
- handleException("Fail to stop carbon server ", e);
- }
- }
-
- private static void handleException(String msg, Exception e) {
- log.error(msg, e);
- throw new RuntimeException(msg, e);
- }
-}
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/extensions/CustomTestServerManager.java b/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/extensions/CustomTestServerManager.java
deleted file mode 100644
index 7f383780..00000000
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/extensions/CustomTestServerManager.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
-* Copyright (c) 2005-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.iot.integration.extensions;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.automation.engine.FrameworkConstants;
-import org.wso2.carbon.automation.engine.context.AutomationContext;
-import org.wso2.carbon.automation.engine.exceptions.AutomationFrameworkException;
-import org.wso2.carbon.automation.extensions.ExtensionConstants;
-import org.wso2.carbon.automation.extensions.servers.carbonserver.CarbonServerManager;
-
-import javax.xml.xpath.XPathExpressionException;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
-public class CustomTestServerManager {
- protected CarbonServerManager carbonServer;
- protected String carbonZip;
- protected int portOffset;
- protected Map commandMap = new HashMap();
- private static final Log log = LogFactory.getLog(CustomTestServerManager.class);
- protected String carbonHome;
-
- public CustomTestServerManager(AutomationContext context) {
- carbonServer = new CarbonServerManager(context);
- }
-
- public CustomTestServerManager(AutomationContext context, String carbonZip) {
- carbonServer = new CarbonServerManager(context);
- this.carbonZip = carbonZip;
- }
-
- public CustomTestServerManager(AutomationContext context, int portOffset) {
- carbonServer = new CarbonServerManager(context);
- this.portOffset = portOffset;
- commandMap.put(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND, String.valueOf(portOffset));
- }
-
- public CustomTestServerManager(AutomationContext context, String carbonZip,
- Map commandMap) {
- carbonServer = new CarbonServerManager(context);
- this.carbonZip = carbonZip;
- if (commandMap.get(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND) != null) {
- this.portOffset = Integer.parseInt(commandMap.get(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND));
- } else {
- throw new IllegalArgumentException("portOffset value must be set in command list");
- }
- this.commandMap = commandMap;
- }
-
- public String getCarbonZip() {
- return carbonZip;
- }
-
- public String getCarbonHome() {
- return carbonHome;
- }
-
- public int getPortOffset() {
- return portOffset;
- }
-
- public void configureServer() throws AutomationFrameworkException {
-
- }
-
-
- public Map getCommands() {
- return commandMap;
- }
-
- /**
- * This method is called for starting a Carbon server in preparation for execution of a
- * TestSuite
- *
- * Add the @BeforeSuite TestNG annotation in the method overriding this method
- * @param server : The server which needs to be start.
- * @return The CARBON_HOME
- * @throws IOException If an error occurs while copying the deployment artifacts into the
- * Carbon server
- */
- public String startServer(String server)
- throws AutomationFrameworkException, IOException, XPathExpressionException {
- if(carbonHome == null) {
- if (carbonZip == null) {
- carbonZip = System.getProperty(FrameworkConstants.SYSTEM_PROPERTY_CARBON_ZIP_LOCATION);
- }
- if (carbonZip == null) {
- throw new IllegalArgumentException("carbon zip file cannot find in the given location");
- }
- carbonHome = carbonServer.setUpCarbonHome(carbonZip) + "/" + server;
- configureServer();
- }
- log.info("Carbon Home - " + carbonHome );
- if (commandMap.get(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND) != null) {
- this.portOffset = Integer.parseInt(commandMap.get(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND));
- } else {
- this.portOffset = 0;
- }
- carbonServer.startServerUsingCarbonHome(carbonHome, commandMap);
- return carbonHome;
- }
-
- /**
- * Restarting server already started by the method startServer
- * @throws AutomationFrameworkException
- */
- public void restartGracefully() throws AutomationFrameworkException {
- if(carbonHome == null) {
- throw new AutomationFrameworkException("No Running Server found to restart. " +
- "Please make sure whether server is started");
- }
- carbonServer.restartGracefully();
- }
-
- /**
- * This method is called for stopping a Carbon server
- *
- * Add the @AfterSuite annotation in the method overriding this method
- *
- * @throws AutomationFrameworkException If an error occurs while shutting down the server
- */
- public void stopServer() throws AutomationFrameworkException {
- carbonServer.serverShutdown(portOffset);
- }
-
-
-
-
-}
diff --git a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/extensions/IOTServerExtension.java b/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/extensions/IOTServerExtension.java
deleted file mode 100644
index e8df4bad..00000000
--- a/modules/integration/tests-integration/src/test/java/org/wso2/iot/integration/extensions/IOTServerExtension.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * 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.iot.integration.extensions;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.wso2.carbon.automation.engine.annotations.ExecutionEnvironment;
-import org.wso2.carbon.automation.engine.context.AutomationContext;
-import org.wso2.carbon.automation.engine.context.ContextXpathConstants;
-import org.wso2.carbon.automation.engine.context.TestUserMode;
-import org.wso2.carbon.automation.engine.exceptions.AutomationFrameworkException;
-import org.wso2.carbon.automation.engine.extensions.ExecutionListenerExtension;
-import org.wso2.carbon.automation.extensions.ExtensionConstants;
-import org.wso2.carbon.automation.extensions.servers.carbonserver.CarbonServerExtension;
-
-import javax.xml.xpath.XPathExpressionException;
-
-/**
- * Test Automation server extension to start the IOT core.
- * This will set the carbon_home to {carbonHome}/core and port offset : 0
- */
-public class IOTServerExtension extends ExecutionListenerExtension {
-
- private CustomTestServerManager serverManager;
- private static final Log log = LogFactory.getLog(CarbonServerExtension.class);
- private String executionEnvironment;
- private AutomationContext automationContext;
-
-
- @Override
- public void initiate() throws AutomationFrameworkException {
- try {
- automationContext = new AutomationContext("IOT", TestUserMode.SUPER_TENANT_USER);
- if(getParameters().get(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND) == null) {
- getParameters().put(ExtensionConstants.SERVER_STARTUP_PORT_OFFSET_COMMAND, "0");
- }
- serverManager = new CustomTestServerManager(getAutomationContext(), null, getParameters());
- executionEnvironment =
- automationContext.getConfigurationValue(ContextXpathConstants.EXECUTION_ENVIRONMENT);
-
- } catch (XPathExpressionException e) {
- handleException("Error while initiating test environment", e);
- }
- }
-
- @Override
- public void onExecutionStart() throws AutomationFrameworkException {
- try {
- if (executionEnvironment.equalsIgnoreCase(ExecutionEnvironment.STANDALONE.name())) {
- String carbonHome = serverManager.startServer("core");
- log.info(carbonHome);
- System.setProperty(ExtensionConstants.CARBON_HOME, carbonHome);
- }
- } catch (Exception e) {
- handleException("Fail to start carbon server ", e);
- }
- }
-
- @Override
- public void onExecutionFinish() throws AutomationFrameworkException {
- try {
- if (executionEnvironment.equalsIgnoreCase(ExecutionEnvironment.STANDALONE.name())) {
- serverManager.stopServer();
- }
- } catch (Exception e) {
- handleException("Fail to stop carbon server ", e);
- }
- }
-
- private static void handleException(String msg, Exception e) {
- log.error(msg, e);
- throw new RuntimeException(msg, e);
- }
-}
diff --git a/modules/integration/tests-integration/src/test/resources/automation.xml b/modules/integration/tests-integration/src/test/resources/automation.xml
index 09c68d76..c36ffbd8 100644
--- a/modules/integration/tests-integration/src/test/resources/automation.xml
+++ b/modules/integration/tests-integration/src/test/resources/automation.xml
@@ -1,6 +1,6 @@
-
+
+
@@ -24,11 +25,15 @@
- 300000
+ 60000
standalone
+
+ false
@@ -45,7 +50,7 @@
- http://10.100.2.51:4444/wd/hub/
+ http://10.100.2.51:4444/wd/hub/
@@ -164,35 +169,39 @@
-
+
-
+
localhost
- 9763
- 9446
- 9443
- 9445
+ 10863
+ 10543
-
-
+
-
+
+
- org.wso2.iot.integration.extensions.BrokerServerExtension
- org.wso2.iot.integration.extensions.IOTServerExtension
- org.wso2.iot.integration.extensions.AnalyticsServerExtension
- org.wso2.carbon.integration.common.extensions.usermgt.UserPopulateExtension
+
+ org.wso2.carbon.automation.extensions.servers.carbonserver.CarbonServerExtension
+
+
+
+
+
+
+ org.wso2.carbon.integration.common.extensions.usermgt.UserPopulateExtension
+
@@ -200,13 +209,13 @@
-
+
-
+
diff --git a/modules/integration/tests-integration/src/test/resources/instrumentation.txt b/modules/integration/tests-integration/src/test/resources/instrumentation.txt
index f9f1894a..917b2bb7 100644
--- a/modules/integration/tests-integration/src/test/resources/instrumentation.txt
+++ b/modules/integration/tests-integration/src/test/resources/instrumentation.txt
@@ -1,41 +1,11 @@
-org.wso2.carbon.caching.core_
-org.wso2.carbon.discovery.core_
-org.wso2.carbon.discovery.proxy_
-org.wso2.carbon.email.verification_
-org.wso2.carbon.event.core_
-org.wso2.carbon.governance.custom.lifecycles.checklist_
-org.wso2.carbon.governance.gadgets.impactanalysis_
-org.wso2.carbon.governance.gadgetsource_
-org.wso2.carbon.governance.gadgets.resourceimpact_
-org.wso2.carbon.governance.generic_
-org.wso2.carbon.governance.lcm_
-org.wso2.carbon.governance.list_
-org.wso2.carbon.governance.platform.extensions_
-org.wso2.carbon.governance.registry.eventing_
-org.wso2.carbon.governance.registry.extensions_
-org.wso2.carbon.governance.services_
-org.wso2.carbon.identity.user.profile_
-org.wso2.carbon.mashup.javascript.hostobjects.registry_
-org.wso2.carbon.registry.activities_
-org.wso2.carbon.registry.common_
-org.wso2.carbon.registry.core_
-org.wso2.carbon.registry.eventing_
-org.wso2.carbon.registry.extensions_
-org.wso2.carbon.registry.handler_
-org.wso2.carbon.registry.indexing_
-org.wso2.carbon.registry.info_
-org.wso2.carbon.registry.profiles_
-org.wso2.carbon.registry.properties_
-org.wso2.carbon.registry.relations_
-org.wso2.carbon.registry.reporting_
-org.wso2.carbon.registry.resource_
-org.wso2.carbon.registry.search_
-org.wso2.carbon.registry.server_
-org.wso2.carbon.registry.servlet_
-org.wso2.carbon.registry.task_
-org.wso2.carbon.registry.uddi_
-org.wso2.carbon.registry.webdav_
-org.wso2.carbon.registry.ws.api_
-org.wso2.carbon.reporting.api_
-org.wso2.carbon.reporting.core_
-org.wso2.carbon.reporting.util_
+org.wso2.carbon.datasource_
+org.wso2.carbon.dataservices.core_
+org.wso2.carbon.transaction.manager_
+org.wso2.carbon.dataservices.sql.driver_
+org.wso2.carbon.dataservices.task_
+org.wso2.carbon.ndatasource.common_
+org.wso2.carbon.ndatasource.core_
+org.wso2.carbon.ndatasource.rdbms_
+org.wso2.carbon.ntask.common_
+org.wso2.carbon.ntask.core_
+org.wso2.carbon.ntask.solutions_
diff --git a/modules/integration/tests-integration/src/test/resources/keystores/products/wso2mdm.jks b/modules/integration/tests-integration/src/test/resources/keystores/products/wso2mdm.jks
deleted file mode 100644
index 66b68ea3..00000000
Binary files a/modules/integration/tests-integration/src/test/resources/keystores/products/wso2mdm.jks and /dev/null differ
diff --git a/modules/integration/tests-integration/src/test/resources/testng.xml b/modules/integration/tests-integration/src/test/resources/testng.xml
index 41878cf0..2cfc4734 100644
--- a/modules/integration/tests-integration/src/test/resources/testng.xml
+++ b/modules/integration/tests-integration/src/test/resources/testng.xml
@@ -1,5 +1,5 @@
+
+
+ org.wso2.iot
+ wso2iot-integration
+ 3.0.0-SNAPSHOT
+ ../pom.xml
+
+
+ 4.0.0
+ WSO2 IoT - Integration Test UI Module
+ org.wso2.carbon.iot.core.integration.test.ui.integration
+ jar
+
+
+
+
+ maven-surefire-plugin
+ false
+
+
+ -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m
+
+
+ src/test/resources/testng-server-mgt.xml
+ src/test/resources/testng.xml
+
+
+ ${skipUiTests}
+
+
+
+ maven.test.haltafterfailure
+ false
+
+
+ java.io.tmpdir
+ ${basedir}/target/
+
+
+ carbon.zip
+
+ ${basedir}/../../distribution/target/wso2iot-${project.version}.zip
+
+
+
+ framework.resource.location
+
+ ${basedir}/src/test/resources/
+
+
+
+ server.list
+
+ EMM
+
+
+
+ usedefaultlisteners
+ false
+
+ ${basedir}/target/security-verifier/
+ ${basedir}/target/emma
+ ${basedir}/src/test/resources/instrumentation.txt
+ ${basedir}/src/test/resources/filters.txt
+ ${basedir}/target/emma
+
+ ${basedir}/target
+
+
+
+ maven-dependency-plugin
+
+
+
+ copy-emma-dependencies
+ compile
+
+ copy-dependencies
+
+
+ ${project.build.directory}/emma
+ jar
+ emma
+
+
+
+
+ copy-secVerifier
+ compile
+
+ copy-dependencies
+
+
+ ${basedir}/target/security-verifier
+ aar
+ SecVerifier
+ true
+
+
+
+
+ unpack-mar-jks
+ compile
+
+ unpack
+
+
+
+
+ org.wso2.iot
+ wso2iot
+ ${project.version}
+ zip
+ true
+ ${basedir}/target/tobeCopied/
+ **/*.jks,**/*.mar,**/axis2_client.xml
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 2.4
+
+
+
+ test-jar
+
+
+
+
+
+ maven-resources-plugin
+ 2.6
+
+
+ copy-resources-jks
+ compile
+
+ copy-resources
+
+
+ ${basedir}/src/test/resources/keystores/products
+
+
+
+
+ ${basedir}/target/tobeCopied/wso2emm-${project.version}/repository/resources/security/
+
+
+ **/*.jks
+
+
+
+
+
+
+ copy-stratos-jks
+ compile
+
+ copy-resources
+
+
+ ${basedir}/src/test/resources/keystores/stratos
+
+
+
+
+ ${basedir}/target/tobeCopied/wso2iot-${project.version}/repository/resources/security/
+
+
+ **/*.jks
+
+
+
+
+
+
+ copy-axis2files
+ compile
+
+ copy-resources
+
+
+ ${basedir}/src/test/resources/axis2config
+
+
+
+
+ ${basedir}/target/tobeCopied/wso2iot-${project.version}/repository/conf/axis2/
+
+
+ **/*.xml
+
+
+
+
+
+
+ copy-resources-mar
+ compile
+
+ copy-resources
+
+
+ ${basedir}/src/test/resources/client/modules
+
+
+
+
+ ${basedir}/target/tobeCopied/wso2iot-${project.version}/repository/deployment/client/modules
+
+
+ **/*.mar
+
+
+
+
+
+
+
+
+
+
+
+
+ org.wso2.iot
+ org.wso2.carbon.iot.core.integration.ui.pages
+
+
+ org.wso2.carbon.automation
+ org.wso2.carbon.automation.engine
+
+
+ org.wso2.carbon.automation
+ org.wso2.carbon.automation.test.utils
+
+
+ org.wso2.carbon.automationutils
+ org.wso2.carbon.integration.common.extensions
+
+
+
+
+ true
+
+
+
diff --git a/modules/integration/tests-ui-integration/src/test/java/org/wso2/emm/ui/integration/test/Constants.java b/modules/integration/tests-ui-integration/src/test/java/org/wso2/emm/ui/integration/test/Constants.java
new file mode 100644
index 00000000..9cbfaacd
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/java/org/wso2/emm/ui/integration/test/Constants.java
@@ -0,0 +1,31 @@
+/*
+ * 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.emm.ui.integration.test;
+
+public class Constants {
+ public static final String MDM_LOGIN_PATH = "/mdm/login";
+ public static final String LOGIN_GROUP = "login-group";
+ public static final String MDM_ROLES_URL = "/mdm/roles";
+ public static final String MDM_USER_ADD_URL = "/mdm/users/add-user";
+ public static final String MDM_USER_URL = "/mdm/users/";
+ public static final String MDM_ROLES_EDIT_URL = "/mdm/roles/edit-role/";
+ public static final String MDM_PLATFORM_CONFIG_URL = "/mdm/platform-configuration";
+ public static final String MDM_NOTIFICATION_URL = "/mdm/notification-listing";
+ public static final String MDM_HOME_URL = "/mdm";
+}
diff --git a/modules/integration/tests-ui-integration/src/test/java/org/wso2/emm/ui/integration/test/GeneralConfigurationTestCases.java b/modules/integration/tests-ui-integration/src/test/java/org/wso2/emm/ui/integration/test/GeneralConfigurationTestCases.java
new file mode 100644
index 00000000..57677181
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/java/org/wso2/emm/ui/integration/test/GeneralConfigurationTestCases.java
@@ -0,0 +1,65 @@
+/*
+ * 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.emm.ui.integration.test;
+
+import org.openqa.selenium.WebDriver;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+import org.wso2.carbon.automation.extensions.selenium.BrowserManager;
+import org.wso2.iot.integration.ui.pages.EMMIntegrationUiBaseTestCase;
+import org.wso2.iot.integration.ui.pages.platformConfiguration.PlatformConfiguration;
+
+
+public class GeneralConfigurationTestCases extends EMMIntegrationUiBaseTestCase {
+ private static String configValue = "3600";
+ private WebDriver driver;
+
+ @BeforeClass(alwaysRun = true)
+ public void setUp() throws Exception {
+ super.init();
+ driver = BrowserManager.getWebDriver();
+ LoginUtils.login(driver, automationContext, getWebAppURL());
+ }
+
+ @Test(description = "verify updating general platform configuration in emm")
+ public void testChangeGeneralConfig() throws Exception {
+ driver.get(getWebAppURL() + Constants.MDM_PLATFORM_CONFIG_URL);
+ PlatformConfiguration platformConfiguration = new PlatformConfiguration(driver);
+ platformConfiguration.changeGeneralConfig(configValue);
+ }
+
+ @Test(description = "verify updating android platform configuration in emm")
+ public void testChangeAndroidConfig() throws Exception {
+ driver.get(getWebAppURL() + Constants.MDM_PLATFORM_CONFIG_URL);
+ PlatformConfiguration platformConfiguration = new PlatformConfiguration(driver);
+ platformConfiguration.changeAndroidConfig(configValue);
+ }
+
+ @Test(description = "verify updating windows platform configuration in emm")
+ public void testChangeWindowsConfig() throws Exception {
+ driver.get(getWebAppURL() + Constants.MDM_PLATFORM_CONFIG_URL);
+ PlatformConfiguration platformConfiguration = new PlatformConfiguration(driver);
+ platformConfiguration.changeWindowsConfig(configValue);
+ }
+
+ @AfterClass(alwaysRun = true)
+ public void tearDown() throws Exception {
+ driver.quit();
+ }
+}
diff --git a/modules/integration/tests-ui-integration/src/test/java/org/wso2/emm/ui/integration/test/LoginUtils.java b/modules/integration/tests-ui-integration/src/test/java/org/wso2/emm/ui/integration/test/LoginUtils.java
new file mode 100644
index 00000000..fbedbd30
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/java/org/wso2/emm/ui/integration/test/LoginUtils.java
@@ -0,0 +1,45 @@
+/*
+ * 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.emm.ui.integration.test;
+
+import org.openqa.selenium.By;
+import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.WebElement;
+import org.wso2.carbon.automation.engine.context.AutomationContext;
+import org.wso2.iot.integration.ui.pages.UIElementMapper;
+import org.wso2.iot.integration.ui.pages.login.MDMLoginPage;
+
+public class LoginUtils {
+ private static UIElementMapper uiElementMapper;
+
+ public static void login(WebDriver driver, AutomationContext automationContext,
+ String webAppURL) throws Exception {
+ uiElementMapper = UIElementMapper.getInstance();
+ driver.get(webAppURL + Constants.MDM_LOGIN_PATH);
+ MDMLoginPage test = new MDMLoginPage(driver);
+ WebElement
+ userNameField = driver.findElement(By.name(uiElementMapper.getElement("emm.login.username")));
+ WebElement passwordField = driver.findElement(By.name(uiElementMapper.getElement("emm.login.password")));
+ userNameField
+ .sendKeys(new CharSequence[]{automationContext.getSuperTenant().getTenantAdmin().getUserName()});
+ passwordField.sendKeys(new CharSequence[]{
+ automationContext.getSuperTenant().getTenantAdmin().getPassword()});
+ driver.findElement(By.xpath(uiElementMapper.getElement("emm.login.button.xpath"))).click();
+ }
+}
diff --git a/modules/integration/tests-ui-integration/src/test/java/org/wso2/emm/ui/integration/test/NotificationValidationTestCase.java b/modules/integration/tests-ui-integration/src/test/java/org/wso2/emm/ui/integration/test/NotificationValidationTestCase.java
new file mode 100644
index 00000000..6fe06dbd
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/java/org/wso2/emm/ui/integration/test/NotificationValidationTestCase.java
@@ -0,0 +1,58 @@
+/*
+ * 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.emm.ui.integration.test;
+
+
+import org.openqa.selenium.WebDriver;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+import org.wso2.carbon.automation.extensions.selenium.BrowserManager;
+import org.wso2.iot.integration.ui.pages.EMMIntegrationUiBaseTestCase;
+import org.wso2.iot.integration.ui.pages.Notification.NotificationView;
+
+public class NotificationValidationTestCase extends EMMIntegrationUiBaseTestCase {
+ private static String notificationValue = "0";
+ private WebDriver driver;
+
+ @BeforeClass(alwaysRun = true)
+ public void setUp() throws Exception {
+ super.init();
+ driver = BrowserManager.getWebDriver();
+ LoginUtils.login(driver, automationContext, getWebAppURL());
+ }
+
+// @Test(description = "verify notification count in emm")
+// public void viewNotificationCount() throws Exception {
+// driver.get(getWebAppURL() + Constants.MDM_HOME_URL);
+// HomePage homePage = new HomePage(driver);
+// homePage.checkNotificationCount(notificationValue);
+// }
+
+ @Test(description = "verify notification visibility in emm")
+ public void verifyNotificationView() throws Exception {
+ driver.get(getWebAppURL() + Constants.MDM_NOTIFICATION_URL);
+ NotificationView notificationView = new NotificationView(driver);
+ notificationView.viewNotification();
+ }
+
+ @AfterClass(alwaysRun = true)
+ public void tearDown() throws Exception {
+ driver.quit();
+ }
+}
diff --git a/modules/integration/tests-ui-integration/src/test/java/org/wso2/emm/ui/integration/test/RoleTestCases.java b/modules/integration/tests-ui-integration/src/test/java/org/wso2/emm/ui/integration/test/RoleTestCases.java
new file mode 100644
index 00000000..8e55569f
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/java/org/wso2/emm/ui/integration/test/RoleTestCases.java
@@ -0,0 +1,64 @@
+/*
+ * 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.emm.ui.integration.test;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.openqa.selenium.WebDriver;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+import org.wso2.carbon.automation.extensions.selenium.BrowserManager;
+import org.wso2.iot.integration.ui.pages.EMMIntegrationUiBaseTestCase;
+import org.wso2.iot.integration.ui.pages.role.EditRolePage;
+import org.wso2.iot.integration.ui.pages.role.RoleListPage;
+
+public class RoleTestCases extends EMMIntegrationUiBaseTestCase {
+
+ private static final Log log = LogFactory.getLog(RoleTestCases.class);
+ private static String roleName = "role-manager";
+ private static String roleNameEdit = "role-wso2-manager";
+ private WebDriver driver;
+
+ @BeforeClass(alwaysRun = true)
+ public void setUp() throws Exception {
+ super.init();
+ driver = BrowserManager.getWebDriver();
+ LoginUtils.login(driver, automationContext, getWebAppURL());
+ }
+
+ @Test(description = "verify add role to emm")
+ public void testAddRole() throws Exception {
+ driver.get(getWebAppURL() + Constants.MDM_ROLES_URL);
+ RoleListPage roleListPage = new RoleListPage(driver, Constants.MDM_ROLES_URL);
+ roleListPage.addRole(roleName);
+ }
+
+ @Test(description = "verify edit role to emm", dependsOnMethods = {"testAddRole"})
+ public void testEditRole() throws Exception {
+ driver.get(getWebAppURL() + Constants.MDM_ROLES_EDIT_URL + roleName);
+ EditRolePage rolePage = new EditRolePage(driver);
+ rolePage.editRole(roleNameEdit);
+ }
+
+ @AfterClass(alwaysRun = true)
+ public void tearDown() throws Exception {
+ driver.quit();
+ }
+}
diff --git a/modules/integration/tests-ui-integration/src/test/java/org/wso2/emm/ui/integration/test/UserTestCase.java b/modules/integration/tests-ui-integration/src/test/java/org/wso2/emm/ui/integration/test/UserTestCase.java
new file mode 100644
index 00000000..5966f8b3
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/java/org/wso2/emm/ui/integration/test/UserTestCase.java
@@ -0,0 +1,63 @@
+/*
+ * 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.emm.ui.integration.test;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.openqa.selenium.WebDriver;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+import org.wso2.carbon.automation.extensions.selenium.BrowserManager;
+import org.wso2.iot.integration.ui.pages.EMMIntegrationUiBaseTestCase;
+import org.wso2.iot.integration.ui.pages.user.AddUserPage;
+import org.wso2.iot.integration.ui.pages.user.UserListPage;
+
+public class UserTestCase extends EMMIntegrationUiBaseTestCase {
+
+ private static final Log log = LogFactory.getLog(UserTestCase.class);
+ private WebDriver driver;
+
+ @BeforeClass(alwaysRun = true)
+ public void setUp() throws Exception {
+ super.init();
+ driver = BrowserManager.getWebDriver();
+ LoginUtils.login(driver, automationContext, getWebAppURL());
+ }
+
+ @Test(description = "verify add user to emm console")
+ public void testAddUser() throws Exception {
+ driver.get(getWebAppURL() + Constants.MDM_USER_ADD_URL);
+ AddUserPage addUserPage = new AddUserPage(driver);
+ addUserPage.addUser("inosh", "Inosh", "Perera", "inosh@wso2.com");
+ }
+
+ @Test(description = "verify delete user to emm console", dependsOnMethods = {"testAddUser"})
+ public void testDeleteUser() throws Exception {
+ driver.get(getWebAppURL() + Constants.MDM_USER_URL);
+ UserListPage userListPage = new UserListPage(driver);
+ userListPage.deleteUser();
+ driver.close();
+ }
+
+ @AfterClass(alwaysRun = true)
+ public void tearDown() throws Exception {
+ driver.quit();
+ }
+}
diff --git a/modules/integration/tests-ui-integration/src/test/java/org/wso2/emm/ui/integration/test/login/MDMLoginTestCase.java b/modules/integration/tests-ui-integration/src/test/java/org/wso2/emm/ui/integration/test/login/MDMLoginTestCase.java
new file mode 100644
index 00000000..274848bc
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/java/org/wso2/emm/ui/integration/test/login/MDMLoginTestCase.java
@@ -0,0 +1,54 @@
+/*
+ * 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.emm.ui.integration.test.login;
+
+import org.openqa.selenium.WebDriver;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+import org.wso2.carbon.automation.extensions.selenium.BrowserManager;
+import org.wso2.iot.integration.ui.pages.EMMIntegrationUiBaseTestCase;
+import org.wso2.iot.integration.ui.pages.home.MDMHomePage;
+import org.wso2.iot.integration.ui.pages.login.MDMLoginPage;
+import org.wso2.emm.ui.integration.test.Constants;
+
+public class MDMLoginTestCase extends EMMIntegrationUiBaseTestCase {
+
+ private WebDriver driver;
+
+ @BeforeClass(alwaysRun = true, groups = {Constants.LOGIN_GROUP})
+ public void setUp() throws Exception {
+ super.init();
+ driver = BrowserManager.getWebDriver();
+ driver.get(getWebAppURL() + Constants.MDM_LOGIN_PATH);
+ }
+
+ @Test(groups = {Constants.LOGIN_GROUP}, description = "verify login to emm console")
+ public void testLogin() throws Exception {
+ MDMLoginPage test = new MDMLoginPage(driver);
+ MDMHomePage home = test.loginAs(automationContext.getSuperTenant().getTenantAdmin().getUserName(),
+ automationContext.getSuperTenant().getTenantAdmin().getPassword());
+ driver.close();
+ }
+
+ @AfterClass(alwaysRun = true)
+ public void tearDown() throws Exception {
+ driver.quit();
+ }
+}
diff --git a/modules/integration/tests-ui-integration/src/test/java/org/wso2/emm/ui/integration/test/login/ManagementConsoleLoginTestCase.java b/modules/integration/tests-ui-integration/src/test/java/org/wso2/emm/ui/integration/test/login/ManagementConsoleLoginTestCase.java
new file mode 100644
index 00000000..12675813
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/java/org/wso2/emm/ui/integration/test/login/ManagementConsoleLoginTestCase.java
@@ -0,0 +1,54 @@
+/*
+ * 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.emm.ui.integration.test.login;
+
+import org.openqa.selenium.WebDriver;
+import org.testng.annotations.AfterClass;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Test;
+import org.wso2.carbon.automation.extensions.selenium.BrowserManager;
+import org.wso2.iot.integration.ui.pages.EMMIntegrationUiBaseTestCase;
+import org.wso2.iot.integration.ui.pages.home.HomePage;
+import org.wso2.iot.integration.ui.pages.login.ManagementConsoleLoginPage;
+
+public class ManagementConsoleLoginTestCase extends EMMIntegrationUiBaseTestCase {
+
+ private WebDriver driver;
+
+ @BeforeClass(alwaysRun = true)
+ public void setUp() throws Exception {
+ super.init();
+ driver = BrowserManager.getWebDriver();
+ driver.get(getLoginURL());
+ }
+
+ @Test(groups = "wso2.emm", description = "verify login to emm server's management console")
+ public void testLogin() throws Exception {
+ ManagementConsoleLoginPage test = new ManagementConsoleLoginPage(driver);
+ HomePage home = test.loginAs(automationContext.getSuperTenant().getTenantAdmin().getUserName(),
+ automationContext.getSuperTenant().getTenantAdmin().getPassword());
+ home.logout();
+ driver.close();
+ }
+
+ @AfterClass(alwaysRun = true)
+ public void tearDown() throws Exception {
+ driver.quit();
+ }
+}
diff --git a/modules/integration/tests-ui-integration/src/test/resources/automation.xml b/modules/integration/tests-ui-integration/src/test/resources/automation.xml
new file mode 100644
index 00000000..d29cbab1
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/automation.xml
@@ -0,0 +1,222 @@
+
+
+
+
+
+
+
+
+ 60000
+
+ standalone
+
+ false
+
+ false
+
+
+
+
+
+
+ http://10.100.2.51:4444/wd/hub/
+
+
+
+ firefox
+
+ /home/test/name/webDriver
+
+
+
+
+
+
+ jdbc:h2:testDB
+ wso2carbon
+ wso2carbon
+ org.h2.Driver
+
+
+ jdbc:h2:testDB
+ wso2carbon
+ wso2carbon
+ org.h2.Driver
+
+
+
+
+
+
+ keystores/products/wso2carbon.jks
+
+ JKS
+
+ wso2carbon
+
+ wso2carbon
+
+ wso2carbon
+
+
+
+
+ client-truststore.jks
+
+ JKS
+
+ wso2carbon
+
+
+
+
+
+ https://wso2.org/repo
+ file:///home/krishantha/test
+
+
+
+
+
+
+
+
+
+ admin
+ admin
+
+
+
+
+ testuser11
+ testuser11
+
+
+ testuser21
+ testuser21
+
+
+
+
+
+
+
+
+ admin
+ admin
+
+
+
+
+ testuser11
+ testuser11
+
+
+ testuser21
+ testuser21
+
+
+
+
+
+
+
+
+
+
+
+
+ localhost
+
+
+ 9763
+ 9443
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ org.wso2.carbon.automation.extensions.servers.carbonserver.CarbonServerExtension
+
+ org.wso2.carbon.integration.common.extensions.usermgt.UserPopulateExtension
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/integration/tests-ui-integration/src/test/resources/automationXMLSchema.xsd b/modules/integration/tests-ui-integration/src/test/resources/automationXMLSchema.xsd
new file mode 100644
index 00000000..b800b2ba
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/automationXMLSchema.xsd
@@ -0,0 +1,611 @@
+
+
+
+
+
+
+ =================================================
+ Parameters =================================================
+ Browser type with used by framework to execute UI test, supported types
+ - chrome|firefox|opera|ie|htmlUnit
+
+
+
+
+
+
+ Change this to edit wait time for test
+ artifact deployment
+
+
+
+
+
+ Change this to product|platform/cloud to
+ execute test on specific environment
+
+
+
+
+
+
+ Change this to true if you want to generate
+ coverage statistics
+
+
+
+
+
+ Change this to true if you want to enable
+ framework dashboard
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Change to enable remote webDriver
+ URL of remote webDriver server
+
+
+
+
+
+
+
+
+
+
+
+
+ Type of the browser selenium tests
+ are running"
+
+
+
+
+
+
+
+ path to webDriver
+ executable - required only for
+ chrome
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ KeyStore which will be used for
+ encrypting/decrypting passwords
+ and other sensitive information.
+
+
+
+
+
+
+ Keystore file location
+
+
+
+
+
+ Keystore type (JKS/PKCS12 etc.)
+
+
+
+
+
+ Keystore password
+
+
+
+
+
+ Private Key alias
+
+
+
+
+
+ Private Key password
+
+
+
+
+
+
+
+
+
+ System wide trust-store which is used to
+ maintain the certificates of all
+ the trusted parties.
+
+
+
+
+
+
+ trust-store file location
+
+
+
+
+
+ trust-store type (JKS/PKCS12
+ etc.)
+
+
+
+
+
+ trust-store password
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/modules/integration/tests-ui-integration/src/test/resources/axis2config/axis2_client.xml b/modules/integration/tests-ui-integration/src/test/resources/axis2config/axis2_client.xml
new file mode 100644
index 00000000..a8b584d0
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/axis2config/axis2_client.xml
@@ -0,0 +1,300 @@
+
+
+
+
+
+
+ true
+ false
+ false
+
+
+ 500
+
+ 15000
+
+
+ false
+
+
+
+ true
+
+
+
+
+
+ false
+
+
+ admin
+ axis2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 6071
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ HTTP/1.1
+ chunked
+ 60000
+ 60000
+
+
+ HTTP/1.1
+ chunked
+ 60000
+ 60000
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/integration/tests-ui-integration/src/test/resources/client/modules/addressing-1.6.1-wso2v10.mar b/modules/integration/tests-ui-integration/src/test/resources/client/modules/addressing-1.6.1-wso2v10.mar
new file mode 100644
index 00000000..57f85764
Binary files /dev/null and b/modules/integration/tests-ui-integration/src/test/resources/client/modules/addressing-1.6.1-wso2v10.mar differ
diff --git a/modules/integration/tests-ui-integration/src/test/resources/client/modules/addressing-1.6.1-wso2v11-20140908.185829-596.mar b/modules/integration/tests-ui-integration/src/test/resources/client/modules/addressing-1.6.1-wso2v11-20140908.185829-596.mar
new file mode 100644
index 00000000..4ca7737a
Binary files /dev/null and b/modules/integration/tests-ui-integration/src/test/resources/client/modules/addressing-1.6.1-wso2v11-20140908.185829-596.mar differ
diff --git a/modules/integration/tests-ui-integration/src/test/resources/client/modules/addressing-1.6.1-wso2v15.mar b/modules/integration/tests-ui-integration/src/test/resources/client/modules/addressing-1.6.1-wso2v15.mar
new file mode 100644
index 00000000..68f5cbd6
Binary files /dev/null and b/modules/integration/tests-ui-integration/src/test/resources/client/modules/addressing-1.6.1-wso2v15.mar differ
diff --git a/modules/integration/tests-ui-integration/src/test/resources/client/modules/rampart-1.6.1-wso2v8.mar b/modules/integration/tests-ui-integration/src/test/resources/client/modules/rampart-1.6.1-wso2v8.mar
new file mode 100644
index 00000000..60cd6cdf
Binary files /dev/null and b/modules/integration/tests-ui-integration/src/test/resources/client/modules/rampart-1.6.1-wso2v8.mar differ
diff --git a/modules/integration/tests-ui-integration/src/test/resources/emma.properties b/modules/integration/tests-ui-integration/src/test/resources/emma.properties
new file mode 100644
index 00000000..9c48e81b
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/emma.properties
@@ -0,0 +1,105 @@
+# -------------------------------------------------------------
+#
+# for user-editable property overrides use one of these options:
+#
+# (1) option-specific command line overrides, e.g.
+# -Dreport.txt.out.file=coverage.txt
+#
+# (2) '-p ' command line option,
+#
+# (3) 'emma.properties' resource placed somewhere in the classpath
+# (e.g., in \classes directory -- note that it does
+# not exist by default),
+#
+# (4) '-Demma.*' JVM options, e.g.
+# -Demma.report.txt.out.file=coverage.txt
+#
+# (5) 'emma.properties' JVM option pointing to a properties file
+# -Demma.properties=./myproperties.txt
+# -------------------------------------------------------------
+
+# -------------------------------------------------------------
+# logging properties:
+
+verbosity.level: none
+
+# classloading properties:
+
+#clsload.forced_delegation_filter:
+#clsload.through_delegation_filter: -*
+
+# -------------------------------------------------------------
+
+# instrumentation properties:
+
+instr.exclude_empty_classes: true
+instr.exclude_synthetic_methods: true
+instr.exclude_bridge_methods: true
+instr.do_suid_compensation: true
+
+# -------------------------------------------------------------
+
+# runtime properties:
+
+rt.control: false
+rt.control.host: localhost
+#rt.control.port: 44444
+
+rt.filelock: true
+#rt.filelock.portbase: 59141
+rt.filelock.maxtime: 120000
+rt.filelock.retries: 11
+
+# -------------------------------------------------------------
+
+# apprunner session data output properties:
+
+session.out.file: coverage.es
+session.out.merge: true
+
+# -------------------------------------------------------------
+
+# runtime coverage data output properties:
+
+coverage.out.file: coverage.ec
+coverage.out.merge: true
+
+# -------------------------------------------------------------
+
+# instr metadata output properties:
+
+metadata.out.file: coverage.em
+metadata.out.merge: true
+
+# -------------------------------------------------------------
+
+# common report defaults:
+
+report.units: instr
+report.depth: method
+report.columns: name, line, block, method, class
+report.sort: -line,-block,-method,-class,+name
+report.metrics: method:40,block:80,line:40,class:100
+
+# -------------------------------------------------------------
+# txt report properties:
+
+report.txt.depth: all
+report.txt.columns: class,method,block,line,name
+report.txt.out.file: coverage.txt
+
+# -------------------------------------------------------------
+# html report properties:
+
+#report.html.out.dir: coverage
+#report.html.out.file: /Users/azeez/Desktop/coverage/index.html
+report.html.out.encoding: ISO-8859-1
+
+# -------------------------------------------------------------
+# xml report properties:
+
+#report.xml.out.file: coverage.xml
+report.xml.out.encoding: UTF-8
+# -------------------------------------------------------------
+# end of file
+
diff --git a/modules/integration/tests-ui-integration/src/test/resources/filters.txt b/modules/integration/tests-ui-integration/src/test/resources/filters.txt
new file mode 100644
index 00000000..54913a22
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/filters.txt
@@ -0,0 +1,17 @@
+-*.stub*
+-*.stub_
+-*.stub_4.0.0
+-*.stub-
+-org.eclipse.*
+-*.equinox.*
+-org.wso2.carbon.user.core.*
+-samples.*
+-*.log4j*
+-*.axis2*
+-*.ui*
+-*.tenant*
+-*.stratos*
+-*.eventing*
+-*transports*
+-org.wso2.carbon.mediation.statistics*
+-*startup*
\ No newline at end of file
diff --git a/modules/integration/tests-ui-integration/src/test/resources/instrumentation.txt b/modules/integration/tests-ui-integration/src/test/resources/instrumentation.txt
new file mode 100644
index 00000000..917b2bb7
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/instrumentation.txt
@@ -0,0 +1,11 @@
+org.wso2.carbon.datasource_
+org.wso2.carbon.dataservices.core_
+org.wso2.carbon.transaction.manager_
+org.wso2.carbon.dataservices.sql.driver_
+org.wso2.carbon.dataservices.task_
+org.wso2.carbon.ndatasource.common_
+org.wso2.carbon.ndatasource.core_
+org.wso2.carbon.ndatasource.rdbms_
+org.wso2.carbon.ntask.common_
+org.wso2.carbon.ntask.core_
+org.wso2.carbon.ntask.solutions_
diff --git a/modules/integration/tests-ui-integration/src/test/resources/keystores/products/client-truststore.jks b/modules/integration/tests-ui-integration/src/test/resources/keystores/products/client-truststore.jks
new file mode 100644
index 00000000..9e3a51db
Binary files /dev/null and b/modules/integration/tests-ui-integration/src/test/resources/keystores/products/client-truststore.jks differ
diff --git a/modules/integration/tests-ui-integration/src/test/resources/keystores/products/wso2carbon.jks b/modules/integration/tests-ui-integration/src/test/resources/keystores/products/wso2carbon.jks
new file mode 100644
index 00000000..7942c53c
Binary files /dev/null and b/modules/integration/tests-ui-integration/src/test/resources/keystores/products/wso2carbon.jks differ
diff --git a/modules/integration/tests-integration/src/test/resources/keystores/stratos/wso2emm.jks b/modules/integration/tests-ui-integration/src/test/resources/keystores/products/wso2emm.jks
similarity index 100%
rename from modules/integration/tests-integration/src/test/resources/keystores/stratos/wso2emm.jks
rename to modules/integration/tests-ui-integration/src/test/resources/keystores/products/wso2emm.jks
diff --git a/modules/integration/tests-ui-integration/src/test/resources/keystores/stratos/client-truststore.jks b/modules/integration/tests-ui-integration/src/test/resources/keystores/stratos/client-truststore.jks
new file mode 100644
index 00000000..ab222fdd
Binary files /dev/null and b/modules/integration/tests-ui-integration/src/test/resources/keystores/stratos/client-truststore.jks differ
diff --git a/modules/integration/tests-ui-integration/src/test/resources/keystores/stratos/wso2carbon.jks b/modules/integration/tests-ui-integration/src/test/resources/keystores/stratos/wso2carbon.jks
new file mode 100644
index 00000000..79784a5e
Binary files /dev/null and b/modules/integration/tests-ui-integration/src/test/resources/keystores/stratos/wso2carbon.jks differ
diff --git a/modules/integration/tests-ui-integration/src/test/resources/keystores/stratos/wso2certs.jks b/modules/integration/tests-ui-integration/src/test/resources/keystores/stratos/wso2certs.jks
new file mode 100644
index 00000000..eb27997d
Binary files /dev/null and b/modules/integration/tests-ui-integration/src/test/resources/keystores/stratos/wso2certs.jks differ
diff --git a/modules/integration/tests-ui-integration/src/test/resources/keystores/stratos/wso2emm.jks b/modules/integration/tests-ui-integration/src/test/resources/keystores/stratos/wso2emm.jks
new file mode 100644
index 00000000..ae5670b0
Binary files /dev/null and b/modules/integration/tests-ui-integration/src/test/resources/keystores/stratos/wso2emm.jks differ
diff --git a/modules/integration/tests-ui-integration/src/test/resources/log4j.properties b/modules/integration/tests-ui-integration/src/test/resources/log4j.properties
new file mode 100644
index 00000000..6fc06a7e
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/log4j.properties
@@ -0,0 +1,43 @@
+#
+# Copyright 2009 WSO2, Inc. (http://wso2.com)
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+#
+# This is the log4j configuration file used by WSO2 Carbon
+#
+# IMPORTANT : Please do not remove or change the names of any
+# of the Appenders defined here. The layout pattern & log file
+# can be changed using the WSO2 Carbon Management Console, and those
+# settings will override the settings in this file.
+#
+
+log4j.rootLogger=INFO, console, Default
+
+log4j.logger.org.wso2=INFO
+
+#Automation file apender
+log4j.appender.Default=org.apache.log4j.RollingFileAppender
+log4j.appender.Default.File=logs/automation.log
+log4j.appender.Default.Append=true
+log4j.appender.Default.MaxFileSize=10MB
+log4j.appender.Default.MaxBackupIndex=10
+log4j.appender.Default.layout=org.apache.log4j.PatternLayout
+log4j.appender.Default.layout.ConversionPattern=%d{ISO8601} %-5p [%c] - %m%n
+
+
+#Automation console apender
+log4j.appender.console=org.apache.log4j.ConsoleAppender
+log4j.appender.console.layout=org.apache.log4j.PatternLayout
+log4j.appender.console.layout.ConversionPattern=%-5p [%c] - %m%n
\ No newline at end of file
diff --git a/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario-config.xml b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario-config.xml
new file mode 100644
index 00000000..79f018ca
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario-config.xml
@@ -0,0 +1,201 @@
+
+
+
+
+
+
+ UsernameToken
+ Provides Authentication. Clients have Username Tokens
+ ut
+
+ rampart
+
+ UTOverTransport
+ basic
+
+
+ Non-repudiation
+ Provides Authentication and Integrity. Clients have X509 certificates
+ keystore
+
+ rampart
+
+ SigOnly
+ basic
+
+
+ Integrity
+ Provides Integrity. Clients do not have X509 certificates
+ keystore
+
+ rampart
+
+ SgnOnlyAnonymous
+ basic
+
+
+ Confidentiality
+ Provides Confidentiality. Clients do not have X509 certificates
+ keystore
+
+ rampart
+
+ EncrOnlyAnonymous
+ basic
+
+
+
+
+ Sign and encrypt - X509 Authentication
+ Provides Authentication, Integrity and Confidentiality. Clients have X509 certificates
+
+ keystore
+
+ rampart
+
+ SigEncr
+ advanced
+
+
+ Sign and Encrypt - Anonymous clients
+ Provides Integrity and Confidentiality.
+ keystore
+
+ rampart
+
+ SgnEncrAnonymous
+ advanced
+
+
+ Encrypt only - Username Token Authentication
+ Provides Authentication and Confidentiality. Clients have Username Tokens
+ ut-keystore
+
+ rampart
+
+ EncrOnlyUsername
+ advanced
+
+
+ Sign and Encrypt - Username Token Authentication
+ Provides Authentication, Integrity and Confidentiality. Clients have Username Tokens
+ ut-keystore
+
+ rampart
+
+ SgnEncrUsername
+ advanced
+
+
+ SecureConversation - Sign only - Service as STS - Bootstrap policy - Sign and Encrypt , X509
+ Authentication
+
+ Provides Authentication and Integrity. Multiple message exchange.Clients have X509 certificates.
+
+ keystore
+
+ rampart
+ rahas
+
+ SecConSignOnly
+ advanced
+
+
+ SecureConversation - Encrypt only - Service as STS - Bootstrap policy -
+ Sign and Encrypt , X509 Authentication
+
+ Provides Confidentiality. Multiple message exchange.Clients have X509 certificates.
+ keystore
+
+ rampart
+ rahas
+
+ SecConEncrOnly
+ advanced
+
+
+ SecureConversation - Sign and Encrypt - Service as STS - Bootstrap policy - Sign and Encrypt , X509
+ Authentication
+
+ Provides Authentication, Integrity and Confidentiality. Multiple message exchange.Clients have X509
+ certificates.
+
+ keystore
+
+ rampart
+ rahas
+
+ SecConSgnEncr
+ advanced
+
+
+ SecureConversation - Sign Only - Service as STS - Bootstrap policy - Sign and Encrypt , Anonymous
+ clients
+
+ Provides Integrity. Multiple message exchange.
+ keystore
+
+ rampart
+ rahas
+
+ SecConSignOnlyAnonymous
+ advanced
+
+
+ SecureConversation - Encrypt Only - Service as STS - Bootstrap policy - Sign and Encrypt , Anonymous
+ clients
+
+ Provides Confidentiality. Multiple message exchange.
+ keystore
+
+ rampart
+ rahas
+
+ SecConEncrOnlyAnonymous
+ advanced
+
+
+ SecureConversation - Encrypt Only - Service as STS - Bootstrap policy - Sign and Encrypt , Username
+ Token Authentication
+
+ Provides Authentication and Confidentiality. Multiple message exchange. Clients have Username
+ Tokens.
+
+ ut-keystore
+
+ rampart
+ rahas
+
+ SecConEncrUsername
+ advanced
+
+
+ SecureConversation - Sign and Encrypt - Service as STS - Bootstrap policy - Sign and Encrypt , Username
+ Token Authentication
+
+ Provides Authentication Integrity and Confidentiality. Multiple message exchange. Clients have
+ Username Tokens.
+
+ ut-keystore
+
+ rampart
+ rahas
+
+ SecConSgnEncrUsername
+ advanced
+
+
diff --git a/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario1-policy.xml b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario1-policy.xml
new file mode 100644
index 00000000..4a232f73
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario1-policy.xml
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario10-policy.xml b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario10-policy.xml
new file mode 100644
index 00000000..2d076e06
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario10-policy.xml
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario11-policy.xml b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario11-policy.xml
new file mode 100644
index 00000000..794d52ee
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario11-policy.xml
@@ -0,0 +1,128 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario12-policy.xml b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario12-policy.xml
new file mode 100644
index 00000000..6ac14ecd
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario12-policy.xml
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario13-policy.xml b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario13-policy.xml
new file mode 100644
index 00000000..dbefeda8
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario13-policy.xml
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario14-policy.xml b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario14-policy.xml
new file mode 100644
index 00000000..bafd7263
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario14-policy.xml
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario15-policy.xml b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario15-policy.xml
new file mode 100644
index 00000000..47fb6711
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario15-policy.xml
@@ -0,0 +1,136 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario16-policy.xml b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario16-policy.xml
new file mode 100644
index 00000000..dc383d79
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario16-policy.xml
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ https://kirillgdev04/Security_Federation_SecurityTokenService_Indigo/Symmetric.svc/Scenario_1_IssuedTokenOverTransport_UsernameOverTransport
+
+
+
+
+ urn:oasis:names:tc:SAML:1.0:assertion
+
+
+ http://schemas.xmlsoap.org/ws/2005/02/trust/SymmetricKey
+
+
+ 256
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario17-policy.xml b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario17-policy.xml
new file mode 100644
index 00000000..637cf81d
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario17-policy.xml
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ http://foo.bar/we/don/t/process/this/yet
+
+
+
+
+ urn:oasis:names:tc:SAML:1.0:assertion
+
+
+ http://schemas.xmlsoap.org/ws/2005/02/trust/SymmetricKey
+
+ 256
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario2-policy.xml b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario2-policy.xml
new file mode 100644
index 00000000..08a45d55
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario2-policy.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario3-policy.xml b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario3-policy.xml
new file mode 100644
index 00000000..0bfd14eb
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario3-policy.xml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario4-policy.xml b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario4-policy.xml
new file mode 100644
index 00000000..9ee47cc2
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario4-policy.xml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario5-policy.xml b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario5-policy.xml
new file mode 100644
index 00000000..9454c745
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario5-policy.xml
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario6-policy.xml b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario6-policy.xml
new file mode 100644
index 00000000..7de14746
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario6-policy.xml
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario7-policy.xml b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario7-policy.xml
new file mode 100644
index 00000000..db95d371
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario7-policy.xml
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario8-policy.xml b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario8-policy.xml
new file mode 100644
index 00000000..1fdfd940
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario8-policy.xml
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario9-policy.xml b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario9-policy.xml
new file mode 100644
index 00000000..73fa833b
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/security/policies/scenario9-policy.xml
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/integration/tests-ui-integration/src/test/resources/testng-server-mgt.xml b/modules/integration/tests-ui-integration/src/test/resources/testng-server-mgt.xml
new file mode 100644
index 00000000..75264212
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/testng-server-mgt.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/integration/tests-ui-integration/src/test/resources/testng.xml b/modules/integration/tests-ui-integration/src/test/resources/testng.xml
new file mode 100644
index 00000000..14718b73
--- /dev/null
+++ b/modules/integration/tests-ui-integration/src/test/resources/testng.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+