forked from community/product-iots
Merge pull request #267 from wso2/revert-266-backend-integration
Revert "Re-Enabling backend integration tests."application-manager-new
commit
f0a952dbe2
@ -0,0 +1,116 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
|
||||
<parent>
|
||||
<groupId>org.wso2.iot</groupId>
|
||||
<artifactId>tests-common</artifactId>
|
||||
<version>3.0.0-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>org.wso2.carbon.iot.core.integration.ui.pages</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<name>WSO2 IoT - Integration Test Common UI Pages</name>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon.automationutils</groupId>
|
||||
<artifactId>org.wso2.carbon.integration.common.admin.client</artifactId>
|
||||
<scope>compile</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.wso2.carbon</groupId>
|
||||
<artifactId>org.wso2.carbon.user.mgt.stub</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.wso2.carbon</groupId>
|
||||
<artifactId>org.wso2.carbon.logging.view.stub</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.wso2.carbon</groupId>
|
||||
<artifactId>org.wso2.carbon.ndatasource.stub</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.wso2.carbon</groupId>
|
||||
<artifactId>org.wso2.carbon.server.admin.stub</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.wso2.carbon</groupId>
|
||||
<artifactId>org.wso2.carbon.throttle.stub</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.wso2.carbon</groupId>
|
||||
<artifactId>org.wso2.carbon.tenant.mgt.stub</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.wso2.carbon</groupId>
|
||||
<artifactId>org.wso2.carbon.application.mgt.stub</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.wso2.carbon</groupId>
|
||||
<artifactId>org.wso2.carbon.security.mgt.stub</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.wso2.carbon</groupId>
|
||||
<artifactId>org.wso2.carbon.identity.user.profile.stub</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.wso2.carbon</groupId>
|
||||
<artifactId>org.wso2.carbon.identity.user.profile.stub</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon.automation</groupId>
|
||||
<artifactId>org.wso2.carbon.automation.extensions</artifactId>
|
||||
<scope>compile</scope>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.testng</groupId>
|
||||
<artifactId>testng</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon.automation</groupId>
|
||||
<artifactId>org.wso2.carbon.automation.test.utils</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon.automation</groupId>
|
||||
<artifactId>org.wso2.carbon.automation.engine</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
@ -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);
|
||||
}
|
||||
}
|
@ -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");
|
||||
}
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
||||
}
|
@ -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");
|
||||
}
|
||||
}
|
||||
}
|
@ -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);
|
||||
// }
|
||||
}
|
@ -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);
|
||||
}
|
||||
}
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
@ -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();
|
||||
|
||||
}
|
||||
}
|
@ -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");
|
||||
}
|
||||
}
|
||||
}
|
@ -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");
|
||||
}
|
||||
}
|
||||
}
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
@ -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");
|
||||
}
|
||||
}
|
||||
}
|
@ -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();
|
||||
}
|
||||
}
|
@ -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();
|
||||
}
|
||||
}
|
@ -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
|
@ -0,0 +1,266 @@
|
||||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
|
||||
<parent>
|
||||
<groupId>org.wso2.iot</groupId>
|
||||
<artifactId>wso2iot-integration</artifactId>
|
||||
<version>3.0.0-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>tests-integration</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<name>WSO2 IoT - Backend Integration Tests</name>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<inherited>false</inherited>
|
||||
<version>2.12.4</version>
|
||||
<configuration>
|
||||
<argLine>-Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m</argLine>
|
||||
<parallel>false</parallel>
|
||||
<suiteXmlFiles>
|
||||
<suiteXmlFile>src/test/resources/testng-server-mgt.xml</suiteXmlFile>
|
||||
<suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
|
||||
</suiteXmlFiles>
|
||||
|
||||
<systemProperties>
|
||||
<property>
|
||||
<name>maven.test.haltafterfailure</name>
|
||||
<value>false</value>
|
||||
</property>
|
||||
<property>
|
||||
<name>carbon.zip</name>
|
||||
<value>
|
||||
${basedir}/../../distribution/target/wso2iot-${product.iot.version}.zip
|
||||
</value>
|
||||
</property>
|
||||
<property>
|
||||
<name>framework.resource.location</name>
|
||||
<value>
|
||||
${basedir}/src/test/resources/
|
||||
</value>
|
||||
</property>
|
||||
<property>
|
||||
<name>usedefaultlisteners</name>
|
||||
<value>false</value>
|
||||
</property>
|
||||
<sec.verifier.dir>${basedir}/target/security-verifier/</sec.verifier.dir>
|
||||
<instr.file>${basedir}/src/test/resources/instrumentation.txt</instr.file>
|
||||
<filters.file>${basedir}/src/test/resources/filters.txt</filters.file>
|
||||
</systemProperties>
|
||||
<workingDirectory>${basedir}/target</workingDirectory>
|
||||
<testFailureIgnore>false</testFailureIgnore>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-dependency-plugin</artifactId>
|
||||
<executions>
|
||||
|
||||
|
||||
<execution>
|
||||
<id>copy-jacoco-dependencies</id>
|
||||
<phase>compile</phase>
|
||||
<goals>
|
||||
<goal>copy-dependencies</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>${project.build.directory}/jacoco</outputDirectory>
|
||||
<includeTypes>jar</includeTypes>
|
||||
<includeArtifactIds>org.jacoco.agent</includeArtifactIds>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
|
||||
<execution>
|
||||
<id>copy-secVerifier</id>
|
||||
<phase>compile</phase>
|
||||
<goals>
|
||||
<goal>copy-dependencies</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>${basedir}/target/security-verifier</outputDirectory>
|
||||
<includeTypes>aar</includeTypes>
|
||||
<includeArtifactIds>SecVerifier</includeArtifactIds>
|
||||
<stripVersion>true</stripVersion>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
<execution>
|
||||
<id>unpack-jks</id>
|
||||
<phase>compile</phase>
|
||||
<goals>
|
||||
<goal>unpack</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<artifactItems>
|
||||
<artifactItem>
|
||||
<groupId>org.wso2.iot</groupId>
|
||||
<artifactId>wso2iot</artifactId>
|
||||
<version>${product.iot.version}</version>
|
||||
<type>zip</type>
|
||||
<overWrite>true</overWrite>
|
||||
<outputDirectory>${basedir}/target/tobeCopied/</outputDirectory>
|
||||
<includes>**/*.jks</includes>
|
||||
</artifactItem>
|
||||
</artifactItems>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<version>2.4</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>test-jar</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-surefire-report-plugin</artifactId>
|
||||
<version>2.7.1</version>
|
||||
<configuration>
|
||||
<outputDirectory>${basedir}/target/report</outputDirectory>
|
||||
<outputName>registry-api-test</outputName>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>integration-test</phase>
|
||||
<goals>
|
||||
<goal>report-only</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<version>2.6</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>copy-resources-jks</id>
|
||||
<phase>compile</phase>
|
||||
<goals>
|
||||
<goal>copy-resources</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>${basedir}/src/test/resources/keystores/products
|
||||
</outputDirectory>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>
|
||||
${basedir}/target/tobeCopied/wso2iot-${product.iot.version}/repository/resources/security/
|
||||
</directory>
|
||||
<includes>
|
||||
<include>**/*.jks</include>
|
||||
</includes>
|
||||
</resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<version>2.4</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>test-jar</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon.automation</groupId>
|
||||
<artifactId>org.wso2.carbon.automation.engine</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon.automation</groupId>
|
||||
<artifactId>org.wso2.carbon.automation.extensions</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon.automation</groupId>
|
||||
<artifactId>org.wso2.carbon.automation.test.utils</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon.automationutils</groupId>
|
||||
<artifactId>org.wso2.carbon.integration.common.utils</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon.automationutils</groupId>
|
||||
<artifactId>org.wso2.carbon.integration.common.extensions</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.code.gson</groupId>
|
||||
<artifactId>gson</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>org.wso2.carbon.device.mgt.core</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>org.wso2.carbon.device.mgt.common</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>org.wso2.carbon.policy.mgt.common</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>org.wso2.carbon.policy.mgt.core</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon.devicemgt</groupId>
|
||||
<artifactId>org.wso2.carbon.certificate.mgt.core</artifactId>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
</project>
|
@ -0,0 +1,233 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
<automation xmlns="automationSchema.xsd">
|
||||
<!-- ================================================= -->
|
||||
<!-- Parameters -->
|
||||
<!-- ================================================= -->
|
||||
<configurations>
|
||||
<!--
|
||||
Change this to edit wait time for test artifact deployment
|
||||
-->
|
||||
<deploymentDelay>60000</deploymentDelay>
|
||||
<!--
|
||||
Change this to product|platform/cloud to execute test on specific environment
|
||||
-->
|
||||
<executionEnvironment>standalone</executionEnvironment>
|
||||
<!--
|
||||
Change this to user/tenant to execute test with user mode or tenant mode
|
||||
-->
|
||||
<multiTenantMode>false</multiTenantMode>
|
||||
<!--
|
||||
Change this to true if you want to generate coverage statistics
|
||||
-->
|
||||
<coverage>false</coverage>
|
||||
<!--
|
||||
Change this to true if you want to enable framework dashboard
|
||||
-->
|
||||
<frameworkDashboard>false</frameworkDashboard>
|
||||
<!--
|
||||
Browser type with used by framework to execute UI test, supported types - chrome|firefox|opera|ie|htmlUnit
|
||||
-->
|
||||
</configurations>
|
||||
<tools>
|
||||
<selenium>
|
||||
<!-- Change to enable remote webDriver -->
|
||||
<!-- URL of remote webDriver server -->
|
||||
<remoteDriverUrl enable="true">http://10.100.2.51:4444/wd/hub/</remoteDriverUrl>
|
||||
|
||||
<!-- Type of the browser selenium tests are running" -->
|
||||
<browser>
|
||||
<browserType>firefox</browserType>
|
||||
<!-- path to webDriver executable - required only for chrome-->
|
||||
<webdriverPath enable="false">/home/test/name/webDriver</webdriverPath>
|
||||
</browser>
|
||||
</selenium>
|
||||
</tools>
|
||||
<!--
|
||||
Database configuration to be used for data service testing. DB configuration in dbs files will be replaced with
|
||||
below configuration at test run time
|
||||
-->
|
||||
<datasources>
|
||||
<datasource name="dataService">
|
||||
<url>jdbc:h2:testDB</url>
|
||||
<username>wso2carbon</username>
|
||||
<password>wso2carbon</password>
|
||||
<driverClassName>org.h2.Driver</driverClassName>
|
||||
</datasource>
|
||||
<datasource name="dataService1">
|
||||
<url>jdbc:h2:testDB</url>
|
||||
<username>wso2carbon</username>
|
||||
<password>wso2carbon</password>
|
||||
<driverClassName>org.h2.Driver</driverClassName>
|
||||
</datasource>
|
||||
</datasources>
|
||||
<security>
|
||||
<!--
|
||||
KeyStore which will be used for encrypting/decrypting passwords
|
||||
and other sensitive information.
|
||||
-->
|
||||
<keystore name="wso2">
|
||||
<!-- Keystore file location -->
|
||||
<fileName>keystores/products/wso2carbon.jks</fileName>
|
||||
<!-- Keystore type (JKS/PKCS12 etc.) -->
|
||||
<type>JKS</type>
|
||||
<!-- Keystore password -->
|
||||
<password>wso2carbon</password>
|
||||
<!-- Private Key alias -->
|
||||
<keyAlias>wso2carbon</keyAlias>
|
||||
<!-- Private Key password -->
|
||||
<keyPassword>wso2carbon</keyPassword>
|
||||
</keystore>
|
||||
<!--
|
||||
System wide trust-store which is used to maintain the certificates of all
|
||||
the trusted parties.
|
||||
-->
|
||||
<truststore name="wso2">
|
||||
<!-- trust-store file location -->
|
||||
<fileName>client-truststore.jks</fileName>
|
||||
<!-- trust-store type (JKS/PKCS12 etc.) -->
|
||||
<type>JKS</type>
|
||||
<!-- trust-store password -->
|
||||
<password>wso2carbon</password>
|
||||
</truststore>
|
||||
</security>
|
||||
<featureManagement>
|
||||
<p2Repositories>
|
||||
<repository name="localDefault">
|
||||
<repository repo-id="online-repository">https://wso2.org/repo</repository>
|
||||
<repository repo-id="file-repository">file:///home/krishantha/test</repository>
|
||||
</repository>
|
||||
</p2Repositories>
|
||||
</featureManagement>
|
||||
<!--
|
||||
System wide users who to be registered at the test initiation
|
||||
-->
|
||||
<userManagement>
|
||||
<superTenant>
|
||||
<tenant domain="carbon.super" key="superTenant">
|
||||
<admin>
|
||||
<user key="superAdmin">
|
||||
<userName>admin</userName>
|
||||
<password>admin</password>
|
||||
</user>
|
||||
</admin>
|
||||
<users>
|
||||
<user key="user1">
|
||||
<userName>testuser11</userName>
|
||||
<password>testuser11</password>
|
||||
</user>
|
||||
<user key="user2">
|
||||
<userName>testuser21</userName>
|
||||
<password>testuser21</password>
|
||||
</user>
|
||||
</users>
|
||||
</tenant>
|
||||
</superTenant>
|
||||
<tenants>
|
||||
<tenant domain="wso2.com" key="wso2">
|
||||
<admin>
|
||||
<user key="admin">
|
||||
<userName>admin</userName>
|
||||
<password>admin</password>
|
||||
</user>
|
||||
</admin>
|
||||
<users>
|
||||
<user key="user1">
|
||||
<userName>testuser11</userName>
|
||||
<password>testuser11</password>
|
||||
</user>
|
||||
<user key="user2">
|
||||
<userName>testuser21</userName>
|
||||
<password>testuser21</password>
|
||||
</user>
|
||||
</users>
|
||||
</tenant>
|
||||
</tenants>
|
||||
</userManagement>
|
||||
<!--
|
||||
This section will initiate the initial deployment of the platform required by
|
||||
the test suites.
|
||||
-->
|
||||
<platform>
|
||||
<!--
|
||||
cluster instance details to be used to platform test execution
|
||||
-->
|
||||
<productGroup name="MDM" clusteringEnabled="false" default="true">
|
||||
|
||||
<instance name="mdm" type="standalone" nonBlockingTransportEnabled="false">
|
||||
<hosts>
|
||||
<host type="default">localhost</host>
|
||||
</hosts>
|
||||
<ports>
|
||||
<port type="http">10863</port>
|
||||
<port type="https">10543</port>
|
||||
</ports>
|
||||
<properties>
|
||||
|
||||
</properties>
|
||||
</instance>
|
||||
</productGroup>
|
||||
</platform>
|
||||
|
||||
<listenerExtensions>
|
||||
|
||||
<!--<className>org.wso2.carbon.automation.extentions.servers.wso2server.Wso2ServerExtention</className>-->
|
||||
<platformExecutionManager>
|
||||
<extentionClasses>
|
||||
<class>
|
||||
<name>
|
||||
org.wso2.carbon.automation.extensions.servers.carbonserver.CarbonServerExtension
|
||||
</name>
|
||||
<parameter name="-DportOffset" value="1100"/>
|
||||
<!--<parameter name="cmdArg" value="debug 5005" />-->
|
||||
</class>
|
||||
<class>
|
||||
<name>
|
||||
org.wso2.carbon.integration.common.extensions.usermgt.UserPopulateExtension
|
||||
</name>
|
||||
</class>
|
||||
</extentionClasses>
|
||||
</platformExecutionManager>
|
||||
|
||||
|
||||
<PlatformSuiteManager>
|
||||
<extentionClasses>
|
||||
<!--<className>org.wso2.carbon.automation.extentions.servers.wso2server.Wso2ServerExtention</className>-->
|
||||
</extentionClasses>
|
||||
</PlatformSuiteManager>
|
||||
|
||||
<PlatformAnnotationTransferManager>
|
||||
<extentionClasses>
|
||||
<!--<className>org.wso2.carbon.automation.extentions.servers.wso2server.Wso2ServerExtention</className>-->
|
||||
</extentionClasses>
|
||||
</PlatformAnnotationTransferManager>
|
||||
|
||||
<PlatformTestManager>
|
||||
<extentionClasses>
|
||||
</extentionClasses>
|
||||
</PlatformTestManager>
|
||||
|
||||
<PlatformReportManager>
|
||||
<extentionClasses>
|
||||
</extentionClasses>
|
||||
</PlatformReportManager>
|
||||
|
||||
</listenerExtensions>
|
||||
</automation>
|
@ -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*
|
@ -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_
|
@ -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
|
@ -0,0 +1,23 @@
|
||||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
|
||||
|
||||
<suite name="mdm-suite">
|
||||
|
||||
</suite>
|
@ -0,0 +1,112 @@
|
||||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
|
||||
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
|
||||
|
||||
<suite name="mdm-suite-initializer">
|
||||
<parameter name="useDefaultListeners" value="false"/>
|
||||
<listeners>
|
||||
<listener
|
||||
class-name="org.wso2.carbon.automation.engine.testlisteners.TestExecutionListener"/>
|
||||
<listener class-name="org.wso2.carbon.automation.engine.testlisteners.TestManagerListener"/>
|
||||
<listener class-name="org.wso2.carbon.automation.engine.testlisteners.TestReportListener"/>
|
||||
<listener class-name="org.wso2.carbon.automation.engine.testlisteners.TestSuiteListener"/>
|
||||
<listener
|
||||
class-name="org.wso2.carbon.automation.engine.testlisteners.TestTransformerListener"/>
|
||||
</listeners>
|
||||
<test name="mobile-device-mgt-no-devices" preserve-order="true" parallel="false">
|
||||
<classes>
|
||||
<class name="org.wso2.mdm.integration.mobileDevice.MobileDeviceManagementWithNoDevices"/>
|
||||
</classes>
|
||||
</test>
|
||||
<test name="android-enrollment" preserve-order="true" parallel="false">
|
||||
<classes>
|
||||
<class name="org.wso2.mdm.integration.device.enrollment.AndroidEnrollment"/>
|
||||
</classes>
|
||||
</test>
|
||||
<test name="android-operation" preserve-order="false" parallel="true">
|
||||
<classes>
|
||||
<class name="org.wso2.mdm.integration.device.operation.AndroidOperation"/>
|
||||
</classes>
|
||||
</test>
|
||||
<test name="windows-enrollment" preserve-order="true" parallel="false">
|
||||
<classes>
|
||||
<class name="org.wso2.mdm.integration.device.enrollment.WindowsEnrollment"/>
|
||||
</classes>
|
||||
</test>
|
||||
<test name="android-device-mgt" preserve-order="false" parallel="true">
|
||||
<classes>
|
||||
<class name="org.wso2.mdm.integration.device.mgt.AndroidDeviceManagement"/>
|
||||
</classes>
|
||||
</test>
|
||||
<test name="android-configuration" preserve-order="true" parallel="false">
|
||||
<classes>
|
||||
<class name="org.wso2.mdm.integration.device.configuration.AndroidConfigurationManagement"/>
|
||||
</classes>
|
||||
</test>
|
||||
<test name="android-policy" preserve-order="true" parallel="false">
|
||||
<classes>
|
||||
<class name="org.wso2.mdm.integration.device.policy.AndroidPolicy"/>
|
||||
</classes>
|
||||
</test>
|
||||
<test name="operation-mgt" preserve-order="true" parallel="false">
|
||||
<classes>
|
||||
<class name="org.wso2.mdm.integration.operation.OperationManagement"/>
|
||||
</classes>
|
||||
</test>
|
||||
<test name="mobile-device-mgt" preserve-order="true" parallel="false">
|
||||
<classes>
|
||||
<class name="org.wso2.mdm.integration.mobileDevice.MobileDeviceManagement"/>
|
||||
</classes>
|
||||
</test>
|
||||
<test name="user-mgt" preserve-order="true" parallel="false">
|
||||
<classes>
|
||||
<class name="org.wso2.mdm.integration.user.UserManagement"/>
|
||||
</classes>
|
||||
</test>
|
||||
<test name="role-mgt" preserve-order="true" parallel="false">
|
||||
<classes>
|
||||
<class name="org.wso2.mdm.integration.role.RoleManagement"/>
|
||||
</classes>
|
||||
</test>
|
||||
<test name="policy-mgt" preserve-order="true" parallel="false">
|
||||
<classes>
|
||||
<class name="org.wso2.mdm.integration.policy.PolicyManagement"/>
|
||||
</classes>
|
||||
</test>
|
||||
<test name="feature-mgt" preserve-order="true" parallel="false">
|
||||
<classes>
|
||||
<class name="org.wso2.mdm.integration.feature.FeatureManagement"/>
|
||||
</classes>
|
||||
</test>
|
||||
<test name="license-mgt" preserve-order="true" parallel="false">
|
||||
<classes>
|
||||
<class name="org.wso2.mdm.integration.license.LicenseManagement"/>
|
||||
</classes>
|
||||
</test>
|
||||
<test name="configuration-mgt" preserve-order="true" parallel="false">
|
||||
<classes>
|
||||
<class name="org.wso2.mdm.integration.configuration.ConfigurationManagement"/>
|
||||
</classes>
|
||||
</test>
|
||||
<test name="notification-mgt" preserve-order="true" parallel="false">
|
||||
<classes>
|
||||
<class name="org.wso2.mdm.integration.notification.NotificationManagement"/>
|
||||
</classes>
|
||||
</test>
|
||||
</suite>
|
@ -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);
|
||||
}
|
||||
}
|
@ -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);
|
||||
}
|
||||
}
|
@ -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<String, String> commandMap = new HashMap<String, String>();
|
||||
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<String, String> 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<String, String> getCommands() {
|
||||
return commandMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method is called for starting a Carbon server in preparation for execution of a
|
||||
* TestSuite
|
||||
* <p/>
|
||||
* 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
|
||||
* <p/>
|
||||
* 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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
@ -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);
|
||||
}
|
||||
}
|
@ -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_
|
||||
|
Binary file not shown.
@ -0,0 +1,274 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
~ Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
|
||||
~
|
||||
~ WSO2 Inc. licenses this file to you under the Apache License,
|
||||
~ Version 2.0 (the "License"); you may not use this file except
|
||||
~ in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.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.
|
||||
-->
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<groupId>org.wso2.iot</groupId>
|
||||
<artifactId>wso2iot-integration</artifactId>
|
||||
<version>3.0.0-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<name>WSO2 IoT - Integration Test UI Module</name>
|
||||
<artifactId>org.wso2.carbon.iot.core.integration.test.ui.integration</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<inherited>false</inherited>
|
||||
<configuration>
|
||||
<!--argLine>-Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m -Xdebug -Xnoagent
|
||||
-Djava.compiler=NONE
|
||||
-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5005
|
||||
</argLine-->
|
||||
<argLine>-Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=512m</argLine>
|
||||
|
||||
<suiteXmlFiles>
|
||||
<suiteXmlFile>src/test/resources/testng-server-mgt.xml</suiteXmlFile>
|
||||
<suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
|
||||
</suiteXmlFiles>
|
||||
|
||||
<skipTests>${skipUiTests}</skipTests>
|
||||
|
||||
<systemProperties>
|
||||
<property>
|
||||
<name>maven.test.haltafterfailure</name>
|
||||
<value>false</value>
|
||||
</property>
|
||||
<property>
|
||||
<name>java.io.tmpdir</name>
|
||||
<value>${basedir}/target/</value>
|
||||
</property>
|
||||
<property>
|
||||
<name>carbon.zip</name>
|
||||
<value>
|
||||
${basedir}/../../distribution/target/wso2iot-${project.version}.zip
|
||||
</value>
|
||||
</property>
|
||||
<property>
|
||||
<name>framework.resource.location</name>
|
||||
<value>
|
||||
${basedir}/src/test/resources/
|
||||
</value>
|
||||
</property>
|
||||
<property>
|
||||
<name>server.list</name>
|
||||
<value>
|
||||
EMM
|
||||
</value>
|
||||
</property>
|
||||
<property>
|
||||
<name>usedefaultlisteners</name>
|
||||
<value>false</value>
|
||||
</property>
|
||||
<sec.verifier.dir>${basedir}/target/security-verifier/</sec.verifier.dir>
|
||||
<emma.home>${basedir}/target/emma</emma.home>
|
||||
<instr.file>${basedir}/src/test/resources/instrumentation.txt</instr.file>
|
||||
<filters.file>${basedir}/src/test/resources/filters.txt</filters.file>
|
||||
<emma.output>${basedir}/target/emma</emma.output>
|
||||
</systemProperties>
|
||||
<workingDirectory>${basedir}/target</workingDirectory>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-dependency-plugin</artifactId>
|
||||
<executions>
|
||||
|
||||
<execution>
|
||||
<id>copy-emma-dependencies</id>
|
||||
<phase>compile</phase>
|
||||
<goals>
|
||||
<goal>copy-dependencies</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>${project.build.directory}/emma</outputDirectory>
|
||||
<includeTypes>jar</includeTypes>
|
||||
<includeArtifactIds>emma</includeArtifactIds>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
<execution>
|
||||
<id>copy-secVerifier</id>
|
||||
<phase>compile</phase>
|
||||
<goals>
|
||||
<goal>copy-dependencies</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>${basedir}/target/security-verifier</outputDirectory>
|
||||
<includeTypes>aar</includeTypes>
|
||||
<includeArtifactIds>SecVerifier</includeArtifactIds>
|
||||
<stripVersion>true</stripVersion>
|
||||
</configuration>
|
||||
</execution>
|
||||
|
||||
<execution>
|
||||
<id>unpack-mar-jks</id>
|
||||
<phase>compile</phase>
|
||||
<goals>
|
||||
<goal>unpack</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<artifactItems>
|
||||
<artifactItem>
|
||||
<groupId>org.wso2.iot</groupId>
|
||||
<artifactId>wso2iot</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<type>zip</type>
|
||||
<overWrite>true</overWrite>
|
||||
<outputDirectory>${basedir}/target/tobeCopied/</outputDirectory>
|
||||
<includes>**/*.jks,**/*.mar,**/axis2_client.xml</includes>
|
||||
</artifactItem>
|
||||
</artifactItems>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<version>2.4</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>test-jar</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<version>2.6</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>copy-resources-jks</id>
|
||||
<phase>compile</phase>
|
||||
<goals>
|
||||
<goal>copy-resources</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>${basedir}/src/test/resources/keystores/products
|
||||
</outputDirectory>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>
|
||||
${basedir}/target/tobeCopied/wso2emm-${project.version}/repository/resources/security/
|
||||
</directory>
|
||||
<includes>
|
||||
<include>**/*.jks</include>
|
||||
</includes>
|
||||
</resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>copy-stratos-jks</id>
|
||||
<phase>compile</phase>
|
||||
<goals>
|
||||
<goal>copy-resources</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>${basedir}/src/test/resources/keystores/stratos
|
||||
</outputDirectory>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>
|
||||
${basedir}/target/tobeCopied/wso2iot-${project.version}/repository/resources/security/
|
||||
</directory>
|
||||
<includes>
|
||||
<include>**/*.jks</include>
|
||||
</includes>
|
||||
</resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>copy-axis2files</id>
|
||||
<phase>compile</phase>
|
||||
<goals>
|
||||
<goal>copy-resources</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>${basedir}/src/test/resources/axis2config
|
||||
</outputDirectory>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>
|
||||
${basedir}/target/tobeCopied/wso2iot-${project.version}/repository/conf/axis2/
|
||||
</directory>
|
||||
<includes>
|
||||
<include>**/*.xml</include>
|
||||
</includes>
|
||||
</resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>copy-resources-mar</id>
|
||||
<phase>compile</phase>
|
||||
<goals>
|
||||
<goal>copy-resources</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>${basedir}/src/test/resources/client/modules
|
||||
</outputDirectory>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>
|
||||
${basedir}/target/tobeCopied/wso2iot-${project.version}/repository/deployment/client/modules
|
||||
</directory>
|
||||
<includes>
|
||||
<include>**/*.mar</include>
|
||||
</includes>
|
||||
</resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.wso2.iot</groupId>
|
||||
<artifactId>org.wso2.carbon.iot.core.integration.ui.pages</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon.automation</groupId>
|
||||
<artifactId>org.wso2.carbon.automation.engine</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon.automation</groupId>
|
||||
<artifactId>org.wso2.carbon.automation.test.utils</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wso2.carbon.automationutils</groupId>
|
||||
<artifactId>org.wso2.carbon.integration.common.extensions</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<properties>
|
||||
<skipUiTests>true</skipUiTests>
|
||||
</properties>
|
||||
|
||||
</project>
|
@ -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";
|
||||
}
|
@ -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();
|
||||
}
|
||||
}
|
@ -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();
|
||||
}
|
||||
}
|
@ -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();
|
||||
}
|
||||
}
|
@ -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();
|
||||
}
|
||||
}
|
@ -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();
|
||||
}
|
||||
}
|
@ -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();
|
||||
}
|
||||
}
|
@ -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();
|
||||
}
|
||||
}
|
@ -0,0 +1,222 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
~ 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.
|
||||
-->
|
||||
<automation xmlns="automationXMLSchema.xsd">
|
||||
<!-- ================================================= -->
|
||||
<!-- Parameters -->
|
||||
<!-- ================================================= -->
|
||||
<configurations>
|
||||
<!--
|
||||
Change this to edit wait time for test artifact deployment
|
||||
-->
|
||||
<deploymentDelay>60000</deploymentDelay>
|
||||
<!--
|
||||
Change this to standalone|platform|all to execute test on specific environment
|
||||
-->
|
||||
<executionEnvironment>standalone</executionEnvironment>
|
||||
<!--
|
||||
Change this to true if you want to generate coverage statistics
|
||||
-->
|
||||
<coverage>false</coverage>
|
||||
<!--
|
||||
Change this to true if you want to enable framework dashboard
|
||||
-->
|
||||
<frameworkDashboard>false</frameworkDashboard>
|
||||
<!--
|
||||
Browser type with used by framework to execute UI test, supported types - chrome|firefox|opera|ie|htmlUnit
|
||||
-->
|
||||
</configurations>
|
||||
<tools>
|
||||
<selenium>
|
||||
<!-- Change to enable remote webDriver -->
|
||||
<!-- URL of remote webDriver server -->
|
||||
<remoteDriverUrl enable="false">http://10.100.2.51:4444/wd/hub/</remoteDriverUrl>
|
||||
|
||||
<!-- Type of the browser selenium tests are running" -->
|
||||
<browser>
|
||||
<browserType>firefox</browserType>
|
||||
<!-- path to webDriver executable - required only for chrome-->
|
||||
<webdriverPath enable="false">/home/test/name/webDriver</webdriverPath>
|
||||
</browser>
|
||||
</selenium>
|
||||
</tools>
|
||||
<!--
|
||||
Database configuration to be used for data service testing. DB configuration in dbs files will be replaced with
|
||||
below configuration at test run time
|
||||
-->
|
||||
<datasources>
|
||||
<datasource name="dataService">
|
||||
<url>jdbc:h2:testDB</url>
|
||||
<username>wso2carbon</username>
|
||||
<password>wso2carbon</password>
|
||||
<driverClassName>org.h2.Driver</driverClassName>
|
||||
</datasource>
|
||||
<datasource name="dataService1">
|
||||
<url>jdbc:h2:testDB</url>
|
||||
<username>wso2carbon</username>
|
||||
<password>wso2carbon</password>
|
||||
<driverClassName>org.h2.Driver</driverClassName>
|
||||
</datasource>
|
||||
</datasources>
|
||||
<security>
|
||||
<!--
|
||||
KeyStore which will be used for encrypting/decrypting passwords
|
||||
and other sensitive information.
|
||||
-->
|
||||
<keystore name="wso2">
|
||||
<!-- Keystore file location -->
|
||||
<fileName>keystores/products/wso2carbon.jks</fileName>
|
||||
<!-- Keystore type (JKS/PKCS12 etc.) -->
|
||||
<type>JKS</type>
|
||||
<!-- Keystore password -->
|
||||
<password>wso2carbon</password>
|
||||
<!-- Private Key alias -->
|
||||
<keyAlias>wso2carbon</keyAlias>
|
||||
<!-- Private Key password -->
|
||||
<keyPassword>wso2carbon</keyPassword>
|
||||
</keystore>
|
||||
<!--
|
||||
System wide trust-store which is used to maintain the certificates of all
|
||||
the trusted parties.
|
||||
-->
|
||||
<truststore name="wso2">
|
||||
<!-- trust-store file location -->
|
||||
<fileName>client-truststore.jks</fileName>
|
||||
<!-- trust-store type (JKS/PKCS12 etc.) -->
|
||||
<type>JKS</type>
|
||||
<!-- trust-store password -->
|
||||
<password>wso2carbon</password>
|
||||
</truststore>
|
||||
</security>
|
||||
<featureManagement>
|
||||
<p2Repositories>
|
||||
<repository name="localDefault">
|
||||
<repository repo-id="online-repository">https://wso2.org/repo</repository>
|
||||
<repository repo-id="file-repository">file:///home/krishantha/test</repository>
|
||||
</repository>
|
||||
</p2Repositories>
|
||||
</featureManagement>
|
||||
<!--
|
||||
System wide users who to be registered at the test initiation
|
||||
-->
|
||||
<userManagement>
|
||||
<superTenant>
|
||||
<tenant domain="carbon.super" key="superTenant">
|
||||
<admin>
|
||||
<user key="superAdmin">
|
||||
<userName>admin</userName>
|
||||
<password>admin</password>
|
||||
</user>
|
||||
</admin>
|
||||
<users>
|
||||
<user key="user1">
|
||||
<userName>testuser11</userName>
|
||||
<password>testuser11</password>
|
||||
</user>
|
||||
<user key="user2">
|
||||
<userName>testuser21</userName>
|
||||
<password>testuser21</password>
|
||||
</user>
|
||||
</users>
|
||||
</tenant>
|
||||
</superTenant>
|
||||
<tenants>
|
||||
<tenant domain="wso2.com" key="wso2">
|
||||
<admin>
|
||||
<user key="admin">
|
||||
<userName>admin</userName>
|
||||
<password>admin</password>
|
||||
</user>
|
||||
</admin>
|
||||
<users>
|
||||
<user key="user1">
|
||||
<userName>testuser11</userName>
|
||||
<password>testuser11</password>
|
||||
</user>
|
||||
<user key="user2">
|
||||
<userName>testuser21</userName>
|
||||
<password>testuser21</password>
|
||||
</user>
|
||||
</users>
|
||||
</tenant>
|
||||
</tenants>
|
||||
</userManagement>
|
||||
<!--
|
||||
This section will initiate the initial deployment of the platform required by
|
||||
the test suites.
|
||||
-->
|
||||
<platform>
|
||||
<!--
|
||||
cluster instance details to be used to platform test execution
|
||||
-->
|
||||
<productGroup name="EMM" clusteringEnabled="false" default="true">
|
||||
|
||||
<instance name="emm001" type="standalone" nonBlockingTransportEnabled="false">
|
||||
<hosts>
|
||||
<host type="default">localhost</host>
|
||||
</hosts>
|
||||
<ports>
|
||||
<port type="http">9763</port>
|
||||
<port type="https">9443</port>
|
||||
</ports>
|
||||
|
||||
<properties>
|
||||
<!--<property name="webContext">admin</property>-->
|
||||
</properties>
|
||||
</instance>
|
||||
|
||||
</productGroup>
|
||||
</platform>
|
||||
|
||||
<listenerExtensions>
|
||||
<platformExecutionManager>
|
||||
<extentionClasses>
|
||||
<class>
|
||||
<name>
|
||||
org.wso2.carbon.automation.extensions.servers.carbonserver.CarbonServerExtension
|
||||
</name>
|
||||
<name>org.wso2.carbon.integration.common.extensions.usermgt.UserPopulateExtension</name>
|
||||
</class>
|
||||
</extentionClasses>
|
||||
</platformExecutionManager>
|
||||
|
||||
|
||||
<PlatformSuiteManager>
|
||||
<extentionClasses>
|
||||
<!--<className>org.wso2.carbon.automation.extensions.servers.carbonserver.CarbonServerExtension</className>-->
|
||||
</extentionClasses>
|
||||
</PlatformSuiteManager>
|
||||
|
||||
<PlatformAnnotationTransferManager>
|
||||
<extentionClasses>
|
||||
<!--<className>org.wso2.carbon.automation.extensions.servers.carbonserver.CarbonServerExtension</className>-->
|
||||
</extentionClasses>
|
||||
</PlatformAnnotationTransferManager>
|
||||
|
||||
<PlatformTestManager>
|
||||
<extentionClasses>
|
||||
</extentionClasses>
|
||||
</PlatformTestManager>
|
||||
|
||||
<PlatformReportManager>
|
||||
<extentionClasses>
|
||||
</extentionClasses>
|
||||
</PlatformReportManager>
|
||||
|
||||
</listenerExtensions>
|
||||
</automation>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue