forked from community/product-iots
parent
2e7637eda5
commit
f91f4a3555
@ -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>1.0.0-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>org.wso2.carbon.iot.integration.ui.pages</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<name>WSO2 IoT Server - Integration Test Common Web 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,57 @@
|
||||
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;
|
||||
|
||||
/**
|
||||
* Created by menaka on 1/19/16.
|
||||
*
|
||||
*/
|
||||
public class IOTIntegrationUIBaseTestCase {
|
||||
|
||||
private static final Log log = LogFactory.getLog(IOTIntegrationUIBaseTestCase.class);
|
||||
protected AutomationContext automationContext;
|
||||
|
||||
protected void init() throws IOException, XMLStreamException, XPathExpressionException {
|
||||
automationContext = new AutomationContext("IOT", "iot001", 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,51 @@
|
||||
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 the mapper file and load the UI elements into Properties object.
|
||||
*/
|
||||
public class UIElementMapper {
|
||||
|
||||
public static final Properties uiPropertiies = 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) {
|
||||
uiPropertiies.load(inputStream);
|
||||
inputStream.close();
|
||||
return uiPropertiies;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getElement (String key) {
|
||||
if (uiPropertiies != null) {
|
||||
return uiPropertiies.getProperty(key);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package org.wso2.iot.integration.ui.pages.enroll;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.openqa.selenium.WebDriver;
|
||||
import org.wso2.iot.integration.ui.pages.UIElementMapper;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* Device Enrollment page for new user
|
||||
*/
|
||||
public class EnrollDevicePage {
|
||||
private static final Log log = LogFactory.getLog(EnrollDevicePage.class);
|
||||
private WebDriver driver;
|
||||
private UIElementMapper uiElementMapper;
|
||||
|
||||
public EnrollDevicePage(WebDriver driver) throws IOException{
|
||||
this.driver = driver;
|
||||
this.uiElementMapper = UIElementMapper.getInstance();
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,69 @@
|
||||
package org.wso2.iot.integration.ui.pages.groups;
|
||||
|
||||
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.openqa.selenium.support.ui.WebDriverWait;
|
||||
import org.wso2.iot.integration.ui.pages.UIElementMapper;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* Add group page of iot server
|
||||
*/
|
||||
public class DeviceAddGroupPage {
|
||||
|
||||
private static final Log log = LogFactory.getLog(DeviceAddGroupPage.class);
|
||||
private WebDriver driver;
|
||||
private UIElementMapper uiElementMapper;
|
||||
|
||||
public DeviceAddGroupPage(WebDriver driver) throws IOException {
|
||||
this.driver = driver;
|
||||
this.uiElementMapper = UIElementMapper.getInstance();
|
||||
WebDriverWait webDriverWait = new WebDriverWait(driver, 10);
|
||||
|
||||
if (!driver.findElement(By.xpath
|
||||
(uiElementMapper.getElement("iot.device.group.addNewGroup.xpath"))).getText().contains("ADD NEW GROUP")){
|
||||
throw new IllegalStateException("This is not the Add Group page");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public DeviceGroupsPage addNewGroup (String name, String description) throws Exception{
|
||||
|
||||
WebElement nameField = driver.findElement(By.id(
|
||||
uiElementMapper.getElement("iot.device.group.addGroupForm.name.id")));
|
||||
WebElement descriptionField = driver.findElement(By.id(
|
||||
uiElementMapper.getElement("iot.device.group.addGroupForm.description.id")));
|
||||
WebElement addGroupButton = driver.findElement(By.id(
|
||||
uiElementMapper.getElement("iot.device.group.addGroupForm.addButton.id")));
|
||||
|
||||
nameField.sendKeys(name);
|
||||
descriptionField.sendKeys(description);
|
||||
|
||||
addGroupButton.click();
|
||||
|
||||
return new DeviceGroupsPage(driver);
|
||||
|
||||
}
|
||||
|
||||
public String submitEmptyForm() {
|
||||
WebElement nameField = driver.findElement(By.id(
|
||||
uiElementMapper.getElement("iot.device.group.addGroupForm.name.id")));
|
||||
WebElement descriptionField = driver.findElement(By.id(
|
||||
uiElementMapper.getElement("iot.device.group.addGroupForm.description.id")));
|
||||
WebElement addGroupButton = driver.findElement(By.id(
|
||||
uiElementMapper.getElement("iot.device.group.addGroupForm.addButton.id")));
|
||||
|
||||
nameField.sendKeys("");
|
||||
descriptionField.sendKeys("");
|
||||
|
||||
addGroupButton.click();
|
||||
|
||||
return driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.device.groups.add.emptyfrom.error"))).getText();
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,58 @@
|
||||
package org.wso2.iot.integration.ui.pages.groups;
|
||||
|
||||
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.openqa.selenium.support.ui.ExpectedConditions;
|
||||
import org.openqa.selenium.support.ui.WebDriverWait;
|
||||
import org.wso2.iot.integration.ui.pages.UIElementMapper;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by menaka on 1/24/16.
|
||||
*
|
||||
*/
|
||||
public class DeviceGroupsPage {
|
||||
private static final Log log = LogFactory.getLog(DeviceGroupsPage.class);
|
||||
private WebDriver driver;
|
||||
private UIElementMapper uiElementMapper;
|
||||
|
||||
public DeviceGroupsPage(WebDriver driver) throws IOException {
|
||||
this.driver = driver;
|
||||
this.uiElementMapper = UIElementMapper.getInstance();
|
||||
WebDriverWait webDriverWait = new WebDriverWait(driver, 10);
|
||||
|
||||
if (!webDriverWait.until(ExpectedConditions.textToBePresentInElement(driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.device.groups.view.header.xpath"))), "GROUPS"))) {
|
||||
throw new IllegalStateException("This is not the Groups page");
|
||||
}
|
||||
}
|
||||
|
||||
public DeviceAddGroupPage addNewGroup() throws Exception {
|
||||
WebElement addNewGroupBtn = driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.device.viewGroup.empty.addGroup.xpath")));
|
||||
addNewGroupBtn.click();
|
||||
return new DeviceAddGroupPage(driver);
|
||||
}
|
||||
|
||||
public boolean isGroupCreated (String groupName) {
|
||||
WebElement table = driver.findElement(By.id(uiElementMapper.getElement("iot.device.table.id")));
|
||||
List<WebElement> allGroupNames = table.findElements(By.tagName("h4"));
|
||||
List<String> groupsList = new ArrayList<>();
|
||||
|
||||
for (WebElement name : allGroupNames) {
|
||||
groupsList.add(name.getText());
|
||||
|
||||
}
|
||||
|
||||
return groupsList.contains(groupName);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,63 @@
|
||||
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 org.wso2.iot.integration.ui.pages.groups.DeviceAddGroupPage;
|
||||
import org.wso2.iot.integration.ui.pages.groups.DeviceGroupsPage;
|
||||
import org.wso2.iot.integration.ui.pages.login.LoginPage;
|
||||
import org.wso2.iot.integration.ui.pages.uesr.AddUserPage;
|
||||
import org.wso2.iot.integration.ui.pages.uesr.UserListingPage;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public class IOTAdminDashboard {
|
||||
|
||||
private static final Log log = LogFactory.getLog(IOTHomePage.class);
|
||||
private WebDriver driver;
|
||||
private UIElementMapper uiElementMapper;
|
||||
|
||||
public IOTAdminDashboard(WebDriver driver) throws IOException {
|
||||
this.driver = driver;
|
||||
this.uiElementMapper = UIElementMapper.getInstance();
|
||||
log.info(driver.findElement(By.xpath(uiElementMapper.getElement("iot.admin.dashboard.title.xpath"))).
|
||||
getText());
|
||||
// Check that we're on the right page.
|
||||
if (!driver.findElement(By.xpath(uiElementMapper.getElement("iot.admin.dashboard.title.xpath"))).
|
||||
getText().contains("DASHBOARD")) {
|
||||
throw new IllegalStateException("This is not the home page");
|
||||
}
|
||||
}
|
||||
|
||||
public LoginPage logout() throws IOException {
|
||||
driver.findElement(By.xpath("/html/body/header/div/div[2]/a/span[1]")).click();
|
||||
WebElement logout = driver.findElement(By.xpath(uiElementMapper.getElement("iot.user.logout.link.xpath")));
|
||||
logout.click();
|
||||
return new LoginPage(driver);
|
||||
}
|
||||
|
||||
public DeviceAddGroupPage addGroup() throws Exception {
|
||||
driver.findElement(By.xpath(uiElementMapper.getElement("iot.device.group.addButton.xpath"))).click();
|
||||
return new DeviceAddGroupPage(driver);
|
||||
}
|
||||
|
||||
public DeviceGroupsPage viewGroups() throws Exception {
|
||||
driver.findElement(By.xpath(uiElementMapper.getElement("iot.device.group.viewButton.xpath"))).click();
|
||||
return new DeviceGroupsPage(driver);
|
||||
}
|
||||
|
||||
public AddUserPage addUser() throws Exception {
|
||||
driver.findElement(By.xpath(uiElementMapper.getElement("iot.admin.user.addButton.xpath"))).click();
|
||||
return new AddUserPage(driver);
|
||||
}
|
||||
|
||||
public UserListingPage viewUser() throws Exception {
|
||||
driver.findElement(By.xpath(uiElementMapper.getElement("iot.admin.user.viewButton.xpath"))).click();
|
||||
return new UserListingPage(driver);
|
||||
}
|
||||
|
||||
//ToDo : Need to add device and policy methods
|
||||
}
|
@ -0,0 +1,71 @@
|
||||
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.openqa.selenium.support.ui.ExpectedConditions;
|
||||
import org.openqa.selenium.support.ui.WebDriverWait;
|
||||
import org.wso2.iot.integration.ui.pages.UIElementMapper;
|
||||
import org.wso2.iot.integration.ui.pages.enroll.EnrollDevicePage;
|
||||
import org.wso2.iot.integration.ui.pages.groups.DeviceAddGroupPage;
|
||||
import org.wso2.iot.integration.ui.pages.login.LoginPage;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* In IOT server, this page is the Devices page for users.
|
||||
* For admin this is the dashboard.
|
||||
*/
|
||||
public class IOTHomePage {
|
||||
private static final Log log = LogFactory.getLog(IOTHomePage.class);
|
||||
private WebDriver driver;
|
||||
private UIElementMapper uiElementMapper;
|
||||
|
||||
public IOTHomePage(WebDriver driver) throws IOException {
|
||||
this.driver = driver;
|
||||
this.uiElementMapper = UIElementMapper.getInstance();
|
||||
// Check that we're on the right page.
|
||||
WebDriverWait wait = new WebDriverWait(driver, 10);
|
||||
if (!wait.until(ExpectedConditions.titleIs("Device Management | IoT Server"))) {
|
||||
throw new IllegalStateException("This is not the home page");
|
||||
}
|
||||
}
|
||||
|
||||
public boolean checkUserName() throws Exception{
|
||||
String name = driver.findElement(By.xpath(uiElementMapper.getElement("iot.user.registered.name"))).getText();
|
||||
return name.contains(uiElementMapper.getElement("iot.user.login.username"));
|
||||
}
|
||||
|
||||
//To logout
|
||||
public LoginPage logout() throws Exception {
|
||||
driver.findElement(By.xpath(uiElementMapper.getElement("iot.user.registered.name"))).click();
|
||||
WebElement logout = driver.findElement(By.xpath(uiElementMapper.getElement("iot.user.logout.link.xpath")));
|
||||
logout.click();
|
||||
return new LoginPage(driver);
|
||||
}
|
||||
|
||||
//To enroll devices as user
|
||||
public EnrollDevicePage enrollNewDevice() throws Exception{
|
||||
driver.findElement(By.xpath("iot.home.page.uuf-menu.xpath")).click();
|
||||
driver.findElement(By.xpath("iot.home.page.uuf-menu.devicemgt.xpath")).click();
|
||||
driver.findElement(By.xpath("iot.home.enrollDevice.xpath")).click();
|
||||
return new EnrollDevicePage(driver);
|
||||
}
|
||||
|
||||
//To add new Device groups as user
|
||||
|
||||
public void goToGroupMgt() throws Exception {
|
||||
driver.findElement(By.xpath("iot.home.page.uuf-menu.xpath")).click();
|
||||
driver.findElement(By.xpath("iot.home.page.uuf-menu.groupmgt.xpath")).click();
|
||||
}
|
||||
|
||||
public DeviceAddGroupPage addNewGroup() throws Exception {
|
||||
driver.findElement(By.xpath("iot.device.viewGroup.empty.addGroup.xpath")).click();
|
||||
return new DeviceAddGroupPage(driver);
|
||||
}
|
||||
|
||||
//ToDo : To add policies
|
||||
|
||||
}
|
@ -0,0 +1,67 @@
|
||||
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.openqa.selenium.support.ui.ExpectedConditions;
|
||||
import org.openqa.selenium.support.ui.WebDriverWait;
|
||||
import org.wso2.iot.integration.ui.pages.UIElementMapper;
|
||||
import org.wso2.iot.integration.ui.pages.home.IOTAdminDashboard;
|
||||
import org.wso2.iot.integration.ui.pages.home.IOTHomePage;
|
||||
import org.wso2.iot.integration.ui.pages.uesr.NewUserRegisterPage;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* Login page of the iot server
|
||||
*
|
||||
*/
|
||||
public class LoginPage {
|
||||
private static final Log log = LogFactory.getLog(LoginPage.class);
|
||||
private WebDriver driver;
|
||||
private UIElementMapper uiElementMapper;
|
||||
|
||||
public LoginPage(WebDriver driver) throws IOException {
|
||||
this.driver = driver;
|
||||
this.uiElementMapper = UIElementMapper.getInstance();
|
||||
WebDriverWait webDriverWait = new WebDriverWait(driver, 10);
|
||||
|
||||
if (!webDriverWait.until(ExpectedConditions.titleContains("Login | IoT Server"))) {
|
||||
throw new IllegalStateException("This is not the Login page");
|
||||
}
|
||||
}
|
||||
|
||||
public IOTHomePage loginAsUser(String username, String password) throws IOException {
|
||||
log.info("Login as " + username);
|
||||
WebElement userNameField = driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.user.login.input.username.xpath")));
|
||||
WebElement passwordField = driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.user.login.input.password.xpath")));
|
||||
userNameField.sendKeys(username);
|
||||
passwordField.sendKeys(password);
|
||||
driver.findElement(By.xpath(uiElementMapper.getElement("iot.user.login.button.xpath"))).click();
|
||||
return new IOTHomePage(driver);
|
||||
}
|
||||
|
||||
public IOTAdminDashboard loginAsAdmin(String username, String password) throws IOException {
|
||||
log.info("Login as " + username);
|
||||
WebElement userNameField = driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.user.login.input.username.xpath")));
|
||||
WebElement passwordField = driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.user.login.input.password.xpath")));
|
||||
userNameField.sendKeys(username);
|
||||
passwordField.sendKeys(password);
|
||||
driver.findElement(By.xpath(uiElementMapper.getElement("iot.user.login.button.xpath"))).click();
|
||||
return new IOTAdminDashboard(driver);
|
||||
}
|
||||
|
||||
public NewUserRegisterPage registerNewUser() throws IOException {
|
||||
WebElement registerLink = driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.user.register.link.xpath")));
|
||||
registerLink.click();
|
||||
return new NewUserRegisterPage(driver);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,53 @@
|
||||
package org.wso2.iot.integration.ui.pages.uesr;
|
||||
|
||||
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.openqa.selenium.support.ui.ExpectedConditions;
|
||||
import org.openqa.selenium.support.ui.WebDriverWait;
|
||||
import org.wso2.iot.integration.ui.pages.UIElementMapper;
|
||||
|
||||
public class AddUserPage {
|
||||
private static final Log log = LogFactory.getLog(AddUserPage.class);
|
||||
private WebDriver driver;
|
||||
private UIElementMapper uiElementMapper;
|
||||
|
||||
public AddUserPage(WebDriver driver) throws Exception {
|
||||
this.driver = driver;
|
||||
this.uiElementMapper = UIElementMapper.getInstance();
|
||||
|
||||
WebDriverWait webDriverWait = new WebDriverWait(driver, 10);
|
||||
if (!webDriverWait.until(ExpectedConditions.titleContains("User Management | IoT Server"))){
|
||||
throw new IllegalStateException("This is not the Add User page");
|
||||
}
|
||||
}
|
||||
|
||||
public UserAddedPage createNewUser(String userName, String firstName, String lastName, String email) throws Exception {
|
||||
|
||||
WebElement userNameField = driver.findElement(By.id(
|
||||
uiElementMapper.getElement("iot.admin.addUser.username.id")));
|
||||
WebElement firstNameField = driver.findElement(By.id(
|
||||
uiElementMapper.getElement("iot.admin.addUser.firstName.id")));
|
||||
WebElement lastNameField = driver.findElement(By.id(
|
||||
uiElementMapper.getElement("iot.admin.addUser.lastName.id")));
|
||||
WebElement emailField = driver.findElement(By.id(
|
||||
uiElementMapper.getElement("iot.admin.addUser.email.id")));
|
||||
|
||||
userNameField.sendKeys(userName);
|
||||
firstNameField.sendKeys(firstName);
|
||||
lastNameField.sendKeys(lastName);
|
||||
emailField.sendKeys(email);
|
||||
|
||||
WebDriverWait wait = new WebDriverWait(driver, 10);
|
||||
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(
|
||||
uiElementMapper.getElement("iot.admin.addUser.add.btn.xpath"))));
|
||||
|
||||
driver.findElement(By.xpath("//button[@id='add-user-btn']")).click();
|
||||
|
||||
return new UserAddedPage(driver);
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
package org.wso2.iot.integration.ui.pages.uesr;
|
||||
|
||||
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.support.ui.ExpectedConditions;
|
||||
import org.openqa.selenium.support.ui.WebDriverWait;
|
||||
import org.wso2.iot.integration.ui.pages.UIElementMapper;
|
||||
|
||||
/**
|
||||
* Created by menaka on 2/8/16.
|
||||
*
|
||||
*/
|
||||
public class EditUserPage {
|
||||
private static final Log log = LogFactory.getLog(EditUserPage.class);
|
||||
private WebDriver driver;
|
||||
private UIElementMapper uiElementMapper;
|
||||
|
||||
public EditUserPage(WebDriver driver) throws Exception {
|
||||
this.driver = driver;
|
||||
this.uiElementMapper = UIElementMapper.getInstance();
|
||||
|
||||
WebDriverWait webDriverWait = new WebDriverWait(driver, 10);
|
||||
if (!webDriverWait.until(ExpectedConditions.titleContains("User Management | IoT Server"))){
|
||||
throw new IllegalStateException("This is not the Edit User page");
|
||||
}
|
||||
}
|
||||
|
||||
public void editUser(String password, String firstName, String lastName) {
|
||||
driver.findElement(By.xpath(uiElementMapper.getElement("iot.user.add.input.password.xpath")));
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,58 @@
|
||||
package org.wso2.iot.integration.ui.pages.uesr;
|
||||
|
||||
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.openqa.selenium.support.ui.ExpectedConditions;
|
||||
import org.openqa.selenium.support.ui.WebDriverWait;
|
||||
import org.wso2.iot.integration.ui.pages.UIElementMapper;
|
||||
import org.wso2.iot.integration.ui.pages.login.LoginPage;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* Created by menaka on 1/19/16.
|
||||
*/
|
||||
public class NewUserRegisterPage {
|
||||
private static final Log log = LogFactory.getLog(NewUserRegisterPage.class);
|
||||
private WebDriver driver;
|
||||
private UIElementMapper uiElementMapper;
|
||||
|
||||
public NewUserRegisterPage(WebDriver driver) throws IOException {
|
||||
this.driver = driver;
|
||||
this.uiElementMapper = UIElementMapper.getInstance();
|
||||
// Check that we're on the right page.
|
||||
WebDriverWait webDriverWait = new WebDriverWait(driver, 10);
|
||||
if (!webDriverWait.until(ExpectedConditions.titleContains("Register | IoT Server"))){
|
||||
throw new IllegalStateException("This is not the Register page");
|
||||
}
|
||||
}
|
||||
|
||||
public LoginPage addUser(String firstName, String lastName, String email, String userName, String password,
|
||||
String
|
||||
confirmPassword) throws IOException {
|
||||
WebElement firstNameField = driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.user.add.input.firstname.xpath")));
|
||||
WebElement lastNameField = driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.user.add.input.lastname.xpath")));
|
||||
WebElement emailField = driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.user.add.input.email.xpath")));
|
||||
WebElement userNameField = driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.user.add.input.username.xpath")));
|
||||
WebElement passwordField = driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.user.add.input.password.xpath")));
|
||||
WebElement passwordConfirmationField = driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.user.add.input.confirmpassword.xpath")));
|
||||
firstNameField.sendKeys(firstName);
|
||||
lastNameField.sendKeys(lastName);
|
||||
emailField.sendKeys(email);
|
||||
userNameField.sendKeys(userName);
|
||||
passwordField.sendKeys(password);
|
||||
passwordConfirmationField.sendKeys(confirmPassword);
|
||||
driver.findElement(By.xpath(uiElementMapper.getElement("iot.user.add.register.button.xpath"))).click();
|
||||
return new LoginPage(driver);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,37 @@
|
||||
package org.wso2.iot.integration.ui.pages.uesr;
|
||||
|
||||
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.support.ui.ExpectedConditions;
|
||||
import org.openqa.selenium.support.ui.WebDriverWait;
|
||||
import org.wso2.iot.integration.ui.pages.UIElementMapper;
|
||||
|
||||
/**
|
||||
* Created by menaka on 1/27/16.
|
||||
*
|
||||
*/
|
||||
public class UserAddedPage {
|
||||
private static final Log log = LogFactory.getLog(UserAddedPage.class);
|
||||
private WebDriver driver;
|
||||
private UIElementMapper uiElementMapper;
|
||||
|
||||
public UserAddedPage(WebDriver driver) throws Exception {
|
||||
this.driver = driver;
|
||||
this.uiElementMapper = UIElementMapper.getInstance();
|
||||
|
||||
driver.findElement(By.xpath(uiElementMapper.getElement("iot.admin.addUser.view.btn.xpath"))).click();
|
||||
// WebDriverWait webDriverWait = new WebDriverWait(driver, 10);
|
||||
// if (!driver.findElement(By.xpath(uiElementMapper.getElement("iot.admin.user.added.page.subtitle.xpath")))
|
||||
// .getText().contains("User was added successfully.")){
|
||||
// throw new IllegalStateException("This is not the User Added page");
|
||||
// }
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,44 @@
|
||||
package org.wso2.iot.integration.ui.pages.uesr;
|
||||
|
||||
import org.apache.commons.jexl2.UnifiedJEXL;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.omg.PortableServer.THREAD_POLICY_ID;
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.ElementNotVisibleException;
|
||||
import org.openqa.selenium.WebDriver;
|
||||
import org.openqa.selenium.WebElement;
|
||||
import org.wso2.iot.integration.ui.pages.UIElementMapper;
|
||||
|
||||
public class UserListingPage {
|
||||
private static final Log log = LogFactory.getLog(UserListingPage.class);
|
||||
private WebDriver driver;
|
||||
private UIElementMapper uiElementMapper;
|
||||
|
||||
public UserListingPage(WebDriver driver) throws Exception {
|
||||
this.driver = driver;
|
||||
this.uiElementMapper = UIElementMapper.getInstance();
|
||||
|
||||
if (!driver.findElement(By.xpath("//span[@class='page-sub-title']"))
|
||||
.getText().contains("USERS")){
|
||||
throw new IllegalStateException("This is not the User Listing page");
|
||||
}
|
||||
}
|
||||
|
||||
public UserListingPage deleteUser() throws Exception {
|
||||
WebElement deleteBtn = driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.admin.deleteUser.btn.xpath")));
|
||||
if (deleteBtn!=null){
|
||||
deleteBtn.click();
|
||||
} else {
|
||||
return new UserListingPage(driver);
|
||||
}
|
||||
driver.findElement(By.xpath(uiElementMapper.getElement("iot.admin.deleteUser.yes.link.xpath"))).click();
|
||||
Thread.sleep(1000);
|
||||
driver.findElement(By.xpath(uiElementMapper.getElement("iot.admin.deleteUser.success.link.xpath"))).click();
|
||||
|
||||
return new UserListingPage(driver);
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
package org.wso2.iot.integration.ui.pages.uesr;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.openqa.selenium.WebDriver;
|
||||
import org.openqa.selenium.support.ui.ExpectedConditions;
|
||||
import org.openqa.selenium.support.ui.WebDriverWait;
|
||||
import org.wso2.iot.integration.ui.pages.UIElementMapper;
|
||||
|
||||
/**
|
||||
* Created by menaka on 2/8/16.
|
||||
*/
|
||||
public class ViewUserPage {
|
||||
private static final Log log = LogFactory.getLog(ViewUserPage.class);
|
||||
private WebDriver driver;
|
||||
private UIElementMapper uiElementMapper;
|
||||
|
||||
public ViewUserPage (WebDriver driver) throws Exception {
|
||||
this.driver = driver;
|
||||
this.uiElementMapper = UIElementMapper.getInstance();
|
||||
|
||||
WebDriverWait webDriverWait = new WebDriverWait(driver, 10);
|
||||
if (!webDriverWait.until(ExpectedConditions.titleContains("User Management | IoT Server"))){
|
||||
throw new IllegalStateException("This is not the User view page");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,614 @@
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
# User registration and login details-----------------------------------------------------------------------------------
|
||||
|
||||
iot.user.add.firstname=firstname
|
||||
iot.user.add.lastname=lastname
|
||||
iot.user.add.username=username
|
||||
iot.user.add.password=password
|
||||
iot.user.add.email=username@wso2.com
|
||||
|
||||
iot.user.login.username=username
|
||||
iot.user.login.password=password
|
||||
|
||||
# User registration and login ui----------------------------------------------------------------------------------------
|
||||
|
||||
iot.user.registered.name=/html/body/header/div/div[2]/a/span[1]
|
||||
|
||||
iot.user.add.input.firstname.xpath=//*[@id="first_name"]
|
||||
iot.user.add.input.lastname.xpath=//*[@id="last_name"]
|
||||
iot.user.add.input.username.xpath=//*[@id="user_name"]
|
||||
iot.user.add.input.password.xpath=//*[@id="password"]
|
||||
iot.user.add.input.confirmpassword.xpath=//*[@id="password_confirmation"]
|
||||
iot.user.add.input.email.xpath=//*[@id="email"]
|
||||
iot.user.add.register.button.xpath=//*[@id="add-user-btn"]
|
||||
|
||||
|
||||
iot.user.login.input.username.xpath=//*[@id="signInForm"]/div[1]/input
|
||||
iot.user.login.input.password.xpath=//*[@id="signInForm"]/div[2]/input
|
||||
iot.user.login.button.xpath=//*[@id="signInForm"]/div[3]/button
|
||||
|
||||
iot.user.register.link.xpath=//*[@id="register-link-wrapper"]/a
|
||||
|
||||
# Devices page elements ------------------------------------------------------------------------------------------------
|
||||
|
||||
iot.home.page.uuf-menu.xpath=//*[@id="_uuf-navmenu-button"]
|
||||
|
||||
iot.home.page.uuf-menu.devicemgt.xpath=//*[@id="_uuf-navmenu-items"]/ul/li[1]/a
|
||||
iot.home.page.uuf-menu.groupmgt.xpath=//*[@id="_uuf-navmenu-items"]/ul/li[2]/a
|
||||
iot.home.page.uuf-menu.policymgt.xpath=//*[@id="_uuf-navmenu-items"]/ul/li[3]/a
|
||||
|
||||
iot.home.page.title.xpath=/html/body/div[3]/div[1]/div/span
|
||||
iot.admin.dashboard.title.xpath=/html/body/div[3]/div[1]/div/span
|
||||
|
||||
iot.home.enrollDevice.xpath=//*[@id="ast-container"]/div/p/a
|
||||
iot.user.logout.link.xpath=/html/body/header/div/div[2]/ul/li[3]/a
|
||||
|
||||
# Register page error elements -----------------------------------------------------------------------------------------
|
||||
|
||||
iot.user.register.firstname.error=first_name-error
|
||||
iot.user.register.lastname.error=last_name-error
|
||||
iot.user.register.username.error=user_name-error
|
||||
iot.user.register.email.error=email-error
|
||||
iot.user.register.password.error=password-error
|
||||
iot.user.register.confirmPassword.error=password_confirmation-error
|
||||
|
||||
# Incorrect login Credentials ------------------------------------------------------------------------------------------
|
||||
iot.user.login.username.error=username-error
|
||||
iot.user.login.password.error=password-error
|
||||
iot.user.login.incorrect.xpath=/html/body/div/div/div/div[1]
|
||||
iot.user.login.shortPassword=password-error
|
||||
|
||||
|
||||
iot.dashboard.device.div.xpath=/html/body/div[3]/div[7]/div[1]/div/div/div[1]
|
||||
|
||||
#Grouping ---------------------------------------------------------------
|
||||
|
||||
iot.device.group.addButton.xpath=/html/body/div[3]/div[2]/div[1]/div[2]/div/div/div[2]/div[2]/span[2]/a[2]
|
||||
iot.device.group.viewButton.xpath=/html/body/div[3]/div[2]/div[1]/div[2]/div/div/div[2]/div[2]/span[2]/a[1]
|
||||
|
||||
iot.device.group.addNewGroup.xpath=/html/body/div[3]/div/div[1]/div/p[1]
|
||||
|
||||
iot.device.viewGroup.empty.addGroup.xpath=//*[@id="ast-container"]/div/p/a
|
||||
|
||||
iot.device.group.addGroupForm.name.id=name
|
||||
iot.device.group.addGroupForm.description.id=description
|
||||
iot.device.group.addGroupForm.addButton.id=add-group-btn
|
||||
|
||||
iot.device.groups.view.header.xpath=/html/body/div[3]/div[1]/div/span
|
||||
|
||||
iot.device.groups.add.emptyfrom.error=/html/body/div[3]/div/div[1]/div/span/strong
|
||||
|
||||
iot.device.table.id=group-grid
|
||||
|
||||
#Add user --------------------------------------------------------------------------------------------------------------
|
||||
iot.admin.user.addButton.xpath=/html/body/div[3]/div[2]/div[1]/div[3]/div/div/div[2]/div[2]/span[2]/a[2]/span/i[2]
|
||||
iot.admin.user.viewButton.xpath=/html/body/div[3]/div[2]/div[1]/div[3]/div/div/div[2]/div[2]/span[2]/a[1]/span/i[2]
|
||||
|
||||
iot.admin.user.added.page.subtitle.xpath="//p[@class='page-sub-title']"
|
||||
|
||||
|
||||
iot.admin.addUser.username.id=username
|
||||
iot.admin.addUser.firstName.id=firstname
|
||||
iot.admin.addUser.lastName.id=lastname
|
||||
iot.admin.addUser.email.id=emailAddress
|
||||
iot.admin.addUser.roles.id=roles
|
||||
|
||||
iot.admin.addUser.add.btn.xpath=//*[@id="add-user-btn"]
|
||||
iot.admin.addUser.view.btn.xpath=//*[@id="user-created-msg"]/div/button
|
||||
|
||||
iot.admin.deleteUser.btn.xpath=//*[@id="user1"]/td[5]/a[3]/span[1]/i[2]
|
||||
iot.admin.deleteUser.yes.link.xpath=//a[@id="remove-user-yes-link"]
|
||||
iot.admin.deleteUser.success.link.xpath=//a[@id="remove-user-success-link"]
|
||||
|
||||
iot.admin.addUser.formError.xpath=//*[@id="user-create-error-msg"]
|
||||
|
||||
#----- User view page heading ----------------------------------------
|
||||
|
||||
iot.user.view.page.heading.xpath=/html/body/div[3]/div[1]/div/label
|
||||
|
||||
#----- Editing a user-------------------------------------------------
|
||||
|
||||
iot.admin.viewUser.btn.xpath=//*[@id="user1"]/td[5]/a[1]/span[1]/i[2]
|
||||
iot.admin.editUser.btn.xpath=//*[@id="userEditBtn"]
|
||||
iot.admin.editUser.edit.btn.xpath=//*[@id="add-user-btn"]
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
iot.user.delete.button=//*[@id="inosh"]/td[5]/a[3]
|
||||
iot.user.delete.button.confirm=remove-user-yes-link
|
||||
iot.user.delete.button.success=remove-user-success-link
|
||||
iot.roles.add.button=appbar-btn-
|
||||
iot.roles.add.rolename.input=rolename
|
||||
iot.roles.add.role.button=add-role-btn
|
||||
iot.roles.add.role.created.msg.div=role-created-msg
|
||||
iot.roles.update.rolename.input=rolename
|
||||
iot.roles.update.role.button=add-role-btn
|
||||
iot.roles.update.role.created.msg.div=role-created-msg
|
||||
iot.roles.update.role.created.success.msg=ROLE WAS UPDATED SUCCESSFULLY
|
||||
iot.configuration.android.tab.identifier=id('androidConfigLink')
|
||||
iot.configuration.widows.tab.identifier=id('windowsConfigLink')
|
||||
iot.configuration.ios.tab.identifier=id('iosConfigLink')
|
||||
iot.configuration.general.tab.identifier=id('generalConfigLink')
|
||||
iot.configuration.general.input.monitoringFr.identifier=id('monitoring-config-frequency')
|
||||
iot.configuration.general.button.save.identifier=id('monitoring-config-frequency')
|
||||
iot.configuration.saved.lable.identifier=id('record-created-msg')
|
||||
iot.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.
|
||||
iot.configuration.saved.button.back.identifier=id('btnBack')
|
||||
iot.configuration.saved.button.back.val=Go back to configurations
|
||||
iot.configuration.saved.button.exit.identifier=id('btnExit')
|
||||
iot.configuration.saved.button.exit.val=Exit
|
||||
iot.configuration.android.select.identifier=id('android-config-notifier')
|
||||
iot.configuration.android.input.identifier=id('android-config-notifier-frequency')
|
||||
iot.configuration.android.button.save.identifier=id('save-android-btn')
|
||||
iot.configuration.windows.input.identifier=id('windows-config-notifier-frequency')
|
||||
iot.configuration.windows.button.save.identifier=id('save-windows-btn')
|
||||
iot.notification.bubble.identifier=notification-bubble
|
||||
iot.notification.unread.identifier=unReadNotifications
|
||||
iot.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.xpath=/html/body/div[3]/div[1]/div/span
|
||||
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
|
||||
|
||||
|
||||
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,298 @@
|
||||
<?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>1.0.0-SNAPSHOT</version>
|
||||
<relativePath>../pom.xml</relativePath>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<name>WSO2 IoT Server - Integration Test UI Module</name>
|
||||
<artifactId>org.wso2.carbon.iot.integration.test.web.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/wso2iots-${project.version}.zip
|
||||
</value>
|
||||
</property>
|
||||
<property>
|
||||
<name>framework.resource.location</name>
|
||||
<value>
|
||||
${basedir}/src/test/resources/
|
||||
</value>
|
||||
</property>
|
||||
<property>
|
||||
<name>server.list</name>
|
||||
<value>
|
||||
IOT
|
||||
</value>
|
||||
</property>
|
||||
<property>
|
||||
<name>usedefaultlisteners</name>
|
||||
<value>false</value>
|
||||
</property>
|
||||
<sec.verifier.dir>${basedir}/target/security-verifier/</sec.verifier.dir>
|
||||
<eiot.home>${basedir}/target/iot</eiot.home>
|
||||
<instr.file>${basedir}/src/test/resources/instrumentation.txt</instr.file>
|
||||
<filters.file>${basedir}/src/test/resources/filters.txt</filters.file>
|
||||
<iot.output>${basedir}/target/iot</iot.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>wso2iots</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/wso2iots-${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/wso2iots-${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/wso2iots-${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>
|
||||
<!--<plugin>-->
|
||||
<!--<groupId>org.apache.maven.plugins</groupId>-->
|
||||
<!--<artifactId>maven-antrun-plugin</artifactId>-->
|
||||
<!--<executions>-->
|
||||
<!--<execution>-->
|
||||
<!--<id>Test.Connected.Cup</id>-->
|
||||
<!--<phase>compile</phase>-->
|
||||
<!--<goals>-->
|
||||
<!--<goal>run</goal>-->
|
||||
<!--</goals>-->
|
||||
<!--<configuration>-->
|
||||
<!--<tasks>-->
|
||||
<!--<echo message="********************** installing ************************"/>-->
|
||||
<!--<!–<property name="tempDir" refid="**/wso2iots-1.0.0-SNAPSHOT"/>–>-->
|
||||
<!--<ant antfile="${basedir}/src/test/resources/build.xml">-->
|
||||
<!--<target name="mvn clean"/>-->
|
||||
<!--<target name="mvn clean package"/>-->
|
||||
<!--</ant>-->
|
||||
<!--</tasks>-->
|
||||
<!--</configuration>-->
|
||||
<!--</execution>-->
|
||||
<!--</executions>-->
|
||||
<!--<version>1.8</version>-->
|
||||
<!--</plugin>-->
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.wso2.iot</groupId>
|
||||
<artifactId>org.wso2.carbon.iot.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,18 @@
|
||||
package org.wso2.carbon.iot.integration.web.ui.test;
|
||||
|
||||
/**
|
||||
* Created by menaka on 1/19/16.
|
||||
*/
|
||||
public class Constants {
|
||||
public static final String IOT_LOGIN_PATH = "/devicemgt/login";
|
||||
// public static final String LOGIN_GROUP = "login-group";
|
||||
// public static final String MDM_ROLES_URL = "/mdm/roles";
|
||||
public static final String IOT_USER_REGISTER_URL = "/devicemgt/register";
|
||||
public static final String IOT_USER_ADD_URL = "/devicemgt/user/add";
|
||||
public static final String IOT_GROUP_ADD_URL = "/devicemgt/group/add";
|
||||
// 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 IOT_HOME_URL = "/devicemgt/";
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package org.wso2.carbon.iot.integration.web.ui.test;
|
||||
|
||||
import org.openqa.selenium.WebDriver;
|
||||
import org.wso2.carbon.automation.engine.context.AutomationContext;
|
||||
import org.wso2.iot.integration.ui.pages.UIElementMapper;
|
||||
import org.wso2.iot.integration.ui.pages.login.LoginPage;
|
||||
|
||||
/**
|
||||
* Login as registered user
|
||||
*/
|
||||
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.IOT_LOGIN_PATH);
|
||||
LoginPage test = new LoginPage(driver);
|
||||
test.loginAsAdmin(automationContext.getSuperTenant().getTenantAdmin().getUserName(),
|
||||
automationContext.getSuperTenant().getTenantAdmin().getPassword());
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
package org.wso2.carbon.iot.integration.web.ui.test.group;
|
||||
|
||||
import org.junit.Assert;
|
||||
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.carbon.iot.integration.web.ui.test.Constants;
|
||||
import org.wso2.carbon.iot.integration.web.ui.test.LoginUtils;
|
||||
import org.wso2.iot.integration.ui.pages.IOTIntegrationUIBaseTestCase;
|
||||
import org.wso2.iot.integration.ui.pages.groups.DeviceAddGroupPage;
|
||||
|
||||
/**
|
||||
* Created by menaka on 1/25/16.
|
||||
*
|
||||
*/
|
||||
public class DeviceGroupFailTest extends IOTIntegrationUIBaseTestCase {
|
||||
private WebDriver driver;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void setup() throws Exception {
|
||||
super.init();
|
||||
driver = BrowserManager.getWebDriver();
|
||||
LoginUtils.login(driver, automationContext, getWebAppURL());
|
||||
}
|
||||
|
||||
@Test(description = "Test for submitting an empty form.")
|
||||
public void addNewGroupFailTest () throws Exception {
|
||||
driver.get(getWebAppURL() + Constants.IOT_GROUP_ADD_URL);
|
||||
DeviceAddGroupPage addGroupPage = new DeviceAddGroupPage(driver);
|
||||
|
||||
Assert.assertEquals(addGroupPage.submitEmptyForm(), "Group Name is a required field. It cannot be empty.");
|
||||
}
|
||||
|
||||
@AfterClass(alwaysRun = true)
|
||||
public void tearDown() throws Exception {
|
||||
driver.quit();
|
||||
}
|
||||
}
|
@ -0,0 +1,49 @@
|
||||
package org.wso2.carbon.iot.integration.web.ui.test.group;
|
||||
|
||||
import org.openqa.selenium.WebDriver;
|
||||
import org.testng.Assert;
|
||||
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.carbon.iot.integration.web.ui.test.Constants;
|
||||
import org.wso2.carbon.iot.integration.web.ui.test.LoginUtils;
|
||||
import org.wso2.iot.integration.ui.pages.IOTIntegrationUIBaseTestCase;
|
||||
import org.wso2.iot.integration.ui.pages.groups.DeviceAddGroupPage;
|
||||
import org.wso2.iot.integration.ui.pages.groups.DeviceGroupsPage;
|
||||
import org.wso2.iot.integration.ui.pages.home.IOTAdminDashboard;
|
||||
|
||||
/**
|
||||
* Test cases for grouping feature of IOT server.
|
||||
*/
|
||||
public class DeviceGroupTest extends IOTIntegrationUIBaseTestCase {
|
||||
private WebDriver driver;
|
||||
private IOTAdminDashboard adminDashboard;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void setup() throws Exception {
|
||||
super.init();
|
||||
driver = BrowserManager.getWebDriver();
|
||||
LoginUtils.login(driver, automationContext, getWebAppURL());
|
||||
adminDashboard = new IOTAdminDashboard(driver);
|
||||
}
|
||||
|
||||
@Test(description = "Test for adding a new device group.")
|
||||
public void addNewGroupTest () throws Exception {
|
||||
DeviceAddGroupPage addGroupPage = adminDashboard.addGroup();
|
||||
addGroupPage.addNewGroup("group1", "This is test group");
|
||||
}
|
||||
|
||||
@Test (description = "Check whether the created group exists", dependsOnMethods = {"addNewGroupTest"})
|
||||
public void isGroupCreatedTest () throws Exception {
|
||||
driver.get(getWebAppURL() + Constants.IOT_HOME_URL);
|
||||
DeviceGroupsPage groupsPage = adminDashboard.viewGroups();
|
||||
Assert.assertTrue(groupsPage.isGroupCreated("group1"));
|
||||
}
|
||||
|
||||
@AfterClass(alwaysRun = true)
|
||||
public void tearDown() throws Exception {
|
||||
driver.quit();
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,115 @@
|
||||
package org.wso2.carbon.iot.integration.web.ui.test.login;
|
||||
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.WebDriver;
|
||||
import org.openqa.selenium.WebElement;
|
||||
import org.testng.Assert;
|
||||
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.carbon.iot.integration.web.ui.test.Constants;
|
||||
import org.wso2.iot.integration.ui.pages.IOTIntegrationUIBaseTestCase;
|
||||
import org.wso2.iot.integration.ui.pages.UIElementMapper;
|
||||
|
||||
|
||||
/**
|
||||
* Test cases to test the incorrect login from submissions.
|
||||
* Ex:
|
||||
* 1. Empty form
|
||||
* 2. Incorrect username or password
|
||||
* 3. short password
|
||||
*/
|
||||
public class LoginFailTest extends IOTIntegrationUIBaseTestCase {
|
||||
|
||||
private WebDriver driver;
|
||||
private UIElementMapper uiElementMapper;
|
||||
|
||||
WebElement userNameField;
|
||||
WebElement passwordField;
|
||||
WebElement loginButton;
|
||||
|
||||
@BeforeClass (alwaysRun = true)
|
||||
public void setup() throws Exception {
|
||||
super.init();
|
||||
driver = BrowserManager.getWebDriver();
|
||||
clearForm();
|
||||
}
|
||||
|
||||
@Test(description = "Test for empty login form submission")
|
||||
public void emptyLoginFormTest() throws Exception {
|
||||
userNameField.sendKeys("");
|
||||
passwordField.sendKeys("");
|
||||
|
||||
loginButton.click();
|
||||
|
||||
Assert.assertEquals(driver.findElement(By.id(uiElementMapper.getElement("iot.user.login.username.error")))
|
||||
.getText(), "Please enter a username");
|
||||
Assert.assertEquals(driver.findElement(By.id(uiElementMapper.getElement("iot.user.login.password.error")))
|
||||
.getText(), "Please provide a password");
|
||||
|
||||
}
|
||||
|
||||
@Test (description = "Test for incorrect username")
|
||||
public void incorrectUserNameTest() throws Exception {
|
||||
|
||||
clearForm();
|
||||
|
||||
|
||||
userNameField.sendKeys("admin1");
|
||||
passwordField.sendKeys(automationContext.getSuperTenant().getTenantAdmin().getPassword());
|
||||
|
||||
loginButton.click();
|
||||
|
||||
Assert.assertEquals(driver.findElement(By.xpath(uiElementMapper.getElement("iot.user.login.incorrect.xpath")))
|
||||
.getText(), "Incorrect username or password.!");
|
||||
|
||||
}
|
||||
|
||||
@Test (description = "Test for incorrect password")
|
||||
public void incorrectPasswordTest() throws Exception {
|
||||
clearForm();
|
||||
|
||||
userNameField.sendKeys(automationContext.getSuperTenant().getTenantAdmin().getPassword());
|
||||
passwordField.sendKeys("admnn");
|
||||
|
||||
loginButton.click();
|
||||
|
||||
Assert.assertEquals(driver.findElement(By.xpath(uiElementMapper.getElement("iot.user.login.incorrect.xpath")))
|
||||
.getText(), "Incorrect username or password.!");
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Test (description = "Test for short password")
|
||||
public void shortPasswordTest() throws Exception {
|
||||
|
||||
clearForm();
|
||||
|
||||
userNameField.sendKeys(automationContext.getSuperTenant().getTenantAdmin().getUserName());
|
||||
passwordField.sendKeys("ad");
|
||||
|
||||
loginButton.click();
|
||||
|
||||
Assert.assertEquals(driver.findElement(By.id(uiElementMapper.getElement("iot.user.login.password.error")))
|
||||
.getText(), "Your password must be at least 3 characters long");
|
||||
|
||||
}
|
||||
|
||||
public void clearForm() throws Exception{
|
||||
driver.get(getWebAppURL() + Constants.IOT_LOGIN_PATH);
|
||||
uiElementMapper = UIElementMapper.getInstance();
|
||||
|
||||
userNameField = driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.user.login.input.username.xpath")));
|
||||
passwordField = driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.user.login.input.password.xpath")));
|
||||
loginButton = driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.user.login.button.xpath")));
|
||||
}
|
||||
|
||||
@AfterClass(alwaysRun = true)
|
||||
public void tearDown() throws Exception {
|
||||
driver.quit();
|
||||
}
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
package org.wso2.carbon.iot.integration.web.ui.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.carbon.iot.integration.web.ui.test.Constants;
|
||||
import org.wso2.iot.integration.ui.pages.IOTIntegrationUIBaseTestCase;
|
||||
import org.wso2.iot.integration.ui.pages.home.IOTAdminDashboard;
|
||||
import org.wso2.iot.integration.ui.pages.login.LoginPage;
|
||||
|
||||
/**
|
||||
* Test Login as Admin
|
||||
*
|
||||
*/
|
||||
public class LoginTest extends IOTIntegrationUIBaseTestCase {
|
||||
private WebDriver driver;
|
||||
|
||||
@BeforeClass (alwaysRun = true)
|
||||
public void setup() throws Exception {
|
||||
super.init();
|
||||
driver = BrowserManager.getWebDriver();
|
||||
driver.get(getWebAppURL() + Constants.IOT_LOGIN_PATH);
|
||||
}
|
||||
|
||||
@Test (description = "Verify login to IOT server dashboard")
|
||||
public void testAdminLogin() throws Exception {
|
||||
LoginPage test = new LoginPage(driver);
|
||||
IOTAdminDashboard dashboard = test.loginAsAdmin(
|
||||
automationContext.getSuperTenant().getTenantAdmin().getUserName(),
|
||||
automationContext.getSuperTenant().getTenantAdmin().getPassword());
|
||||
dashboard.logout();
|
||||
driver.close();
|
||||
}
|
||||
|
||||
@AfterClass(alwaysRun = true)
|
||||
public void tearDown() throws Exception {
|
||||
driver.quit();
|
||||
}
|
||||
}
|
@ -0,0 +1,168 @@
|
||||
package org.wso2.carbon.iot.integration.web.ui.test.user;
|
||||
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.WebDriver;
|
||||
import org.openqa.selenium.WebElement;
|
||||
import org.testng.Assert;
|
||||
import org.testng.annotations.AfterClass;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
import org.wso2.carbon.automation.engine.context.AutomationContext;
|
||||
import org.wso2.carbon.automation.extensions.selenium.BrowserManager;
|
||||
import org.wso2.carbon.iot.integration.web.ui.test.Constants;
|
||||
import org.wso2.carbon.iot.integration.web.ui.test.LoginUtils;
|
||||
import org.wso2.iot.integration.ui.pages.IOTIntegrationUIBaseTestCase;
|
||||
import org.wso2.iot.integration.ui.pages.UIElementMapper;
|
||||
|
||||
/**
|
||||
* Test cases for
|
||||
* 1. Empty form submission
|
||||
* 2. Short user name
|
||||
* 3. Empty First Name
|
||||
* 4. Empty Last Name
|
||||
* 5. Empty email
|
||||
* 6. Incorrect email
|
||||
*/
|
||||
public class AddUserFormTest extends IOTIntegrationUIBaseTestCase {
|
||||
|
||||
private WebDriver driver;
|
||||
UIElementMapper uiElementMapper;
|
||||
|
||||
WebElement firstNameField;
|
||||
WebElement lastNameField;
|
||||
WebElement emailField;
|
||||
WebElement userNameField;
|
||||
WebElement addUserButton;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void setup() throws Exception {
|
||||
super.init();
|
||||
driver = BrowserManager.getWebDriver();
|
||||
LoginUtils.login(driver, automationContext, getWebAppURL());
|
||||
driver.get(getWebAppURL() + Constants.IOT_USER_ADD_URL);
|
||||
|
||||
uiElementMapper = UIElementMapper.getInstance();
|
||||
|
||||
|
||||
|
||||
userNameField = driver.findElement(By.id(uiElementMapper.getElement("iot.admin.addUser.username.id")));
|
||||
firstNameField = driver.findElement(By.id(uiElementMapper.getElement("iot.admin.addUser.firstName.id")));
|
||||
lastNameField = driver.findElement(By.id(uiElementMapper.getElement("iot.admin.addUser.lastName.id")));
|
||||
emailField = driver.findElement(By.id(uiElementMapper.getElement("iot.admin.addUser.email.id")));
|
||||
|
||||
addUserButton = driver.findElement(By.xpath(uiElementMapper.getElement("iot.admin.addUser.add.btn.xpath")));
|
||||
}
|
||||
|
||||
@Test(description = "Test for empty form submission")
|
||||
public void emptyFormTest() throws Exception {
|
||||
clearForm();
|
||||
|
||||
firstNameField.sendKeys("");
|
||||
lastNameField.sendKeys("");
|
||||
emailField.sendKeys("");
|
||||
userNameField.sendKeys("");
|
||||
|
||||
addUserButton.click();
|
||||
|
||||
Assert.assertEquals(driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.admin.addUser.formError.xpath"))).getText(),
|
||||
"Username is a required field. It cannot be empty.");
|
||||
|
||||
}
|
||||
|
||||
@Test(description = "Test for short user name")
|
||||
public void shortUserNameTest() throws Exception {
|
||||
clearForm();
|
||||
|
||||
firstNameField.sendKeys("User");
|
||||
lastNameField.sendKeys("User");
|
||||
emailField.sendKeys("user@wso2.com");
|
||||
userNameField.sendKeys("us");
|
||||
|
||||
addUserButton.click();
|
||||
|
||||
Assert.assertEquals(driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.admin.addUser.formError.xpath"))).getText(),
|
||||
"Username must be between 3 and 30 characters long.");
|
||||
|
||||
}
|
||||
|
||||
@Test(description = "Test for empty first name")
|
||||
public void emptyFirstNameTest() throws Exception {
|
||||
clearForm();
|
||||
|
||||
firstNameField.sendKeys("");
|
||||
lastNameField.sendKeys("User");
|
||||
emailField.sendKeys("user@wso2.com");
|
||||
userNameField.sendKeys("user1");
|
||||
|
||||
addUserButton.click();
|
||||
|
||||
Assert.assertEquals(driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.admin.addUser.formError.xpath"))).getText(),
|
||||
"Firstname is a required field. It cannot be empty.");
|
||||
|
||||
}
|
||||
|
||||
@Test(description = "Test for empty last name")
|
||||
public void emptyLastNameTest() throws Exception {
|
||||
clearForm();
|
||||
|
||||
firstNameField.sendKeys("User");
|
||||
lastNameField.sendKeys("");
|
||||
emailField.sendKeys("user@wso2.com");
|
||||
userNameField.sendKeys("user1");
|
||||
|
||||
addUserButton.click();
|
||||
Assert.assertEquals(driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.admin.addUser.formError.xpath"))).getText(),
|
||||
"Lastname is a required field. It cannot be empty.");
|
||||
|
||||
}
|
||||
|
||||
@Test(description = "Test for empty email name")
|
||||
public void emptyEmailTest() throws Exception {
|
||||
clearForm();
|
||||
|
||||
firstNameField.sendKeys("User");
|
||||
lastNameField.sendKeys("User");
|
||||
emailField.sendKeys("");
|
||||
userNameField.sendKeys("user1");
|
||||
|
||||
addUserButton.click();
|
||||
|
||||
Assert.assertEquals(driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.admin.addUser.formError.xpath"))).getText(),
|
||||
"Email is a required field. It cannot be empty.");
|
||||
|
||||
}
|
||||
|
||||
@Test(description = "Test for incorrect email")
|
||||
public void incorrectEmailTest() throws Exception {
|
||||
clearForm();
|
||||
|
||||
firstNameField.sendKeys("User");
|
||||
lastNameField.sendKeys("User");
|
||||
emailField.sendKeys("user.com");
|
||||
userNameField.sendKeys("user1");
|
||||
|
||||
addUserButton.click();
|
||||
|
||||
Assert.assertEquals(driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.admin.addUser.formError.xpath"))).getText(),
|
||||
"Provided email is invalid. Please check.");
|
||||
|
||||
}
|
||||
public void clearForm() {
|
||||
firstNameField.clear();
|
||||
lastNameField.clear();
|
||||
emailField.clear();
|
||||
userNameField.clear();
|
||||
}
|
||||
|
||||
@AfterClass(alwaysRun = true)
|
||||
public void tearDown() throws Exception {
|
||||
driver.quit();
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
package org.wso2.carbon.iot.integration.web.ui.test.user;
|
||||
|
||||
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.carbon.iot.integration.web.ui.test.Constants;
|
||||
import org.wso2.iot.integration.ui.pages.IOTIntegrationUIBaseTestCase;
|
||||
import org.wso2.iot.integration.ui.pages.UIElementMapper;
|
||||
import org.wso2.iot.integration.ui.pages.home.IOTHomePage;
|
||||
import org.wso2.iot.integration.ui.pages.login.LoginPage;
|
||||
import org.wso2.iot.integration.ui.pages.uesr.NewUserRegisterPage;
|
||||
|
||||
/**
|
||||
* Test for registering a new user and login
|
||||
*
|
||||
*/
|
||||
public class RegisterTest extends IOTIntegrationUIBaseTestCase {
|
||||
private WebDriver driver;
|
||||
UIElementMapper uiElementMapper;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void setup() throws Exception {
|
||||
super.init();
|
||||
driver = BrowserManager.getWebDriver();
|
||||
driver.get(getWebAppURL() + Constants.IOT_LOGIN_PATH);
|
||||
}
|
||||
|
||||
@Test(description = "Verify new User registration")
|
||||
public void testUserRegister() throws Exception {
|
||||
LoginPage test = new LoginPage(driver);
|
||||
uiElementMapper = UIElementMapper.getInstance();
|
||||
NewUserRegisterPage registerTest = test.registerNewUser();
|
||||
LoginPage loginPage = registerTest.addUser(
|
||||
uiElementMapper.getElement("iot.user.add.firstname"),
|
||||
uiElementMapper.getElement("iot.user.add.lastname"),
|
||||
uiElementMapper.getElement("iot.user.add.email"),
|
||||
uiElementMapper.getElement("iot.user.add.username"),
|
||||
uiElementMapper.getElement("iot.user.add.password"),
|
||||
uiElementMapper.getElement("iot.user.add.password"));
|
||||
|
||||
IOTHomePage homePage = loginPage.loginAsUser(uiElementMapper.getElement("iot.user.add.username"),
|
||||
uiElementMapper.getElement("iot.user.add.password"));
|
||||
|
||||
if (!homePage.checkUserName()){
|
||||
throw new Exception("Incorrect user logged in");
|
||||
}
|
||||
|
||||
homePage.logout();
|
||||
|
||||
driver.close();
|
||||
}
|
||||
|
||||
@AfterClass(alwaysRun = true)
|
||||
public void tearDown() throws Exception {
|
||||
driver.quit();
|
||||
}
|
||||
}
|
@ -0,0 +1,158 @@
|
||||
package org.wso2.carbon.iot.integration.web.ui.test.user;
|
||||
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.WebDriver;
|
||||
import org.openqa.selenium.WebElement;
|
||||
import org.openqa.selenium.support.ui.ExpectedConditions;
|
||||
import org.openqa.selenium.support.ui.WebDriverWait;
|
||||
import org.testng.Assert;
|
||||
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.carbon.iot.integration.web.ui.test.Constants;
|
||||
import org.wso2.iot.integration.ui.pages.IOTIntegrationUIBaseTestCase;
|
||||
import org.wso2.iot.integration.ui.pages.UIElementMapper;
|
||||
|
||||
/**
|
||||
* These test cases check for following:
|
||||
* - Submitting an empty form
|
||||
* - Existing username
|
||||
* - Non matching passwords
|
||||
* - Password, username length
|
||||
*/
|
||||
public class RegistrationFormTests extends IOTIntegrationUIBaseTestCase{
|
||||
private WebDriver driver;
|
||||
UIElementMapper uiElementMapper;
|
||||
|
||||
WebElement firstNameField;
|
||||
WebElement lastNameField;
|
||||
WebElement emailField;
|
||||
WebElement userNameField;
|
||||
WebElement passwordField;
|
||||
WebElement passwordConfirmationField;
|
||||
WebElement registerButton;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void setup() throws Exception {
|
||||
super.init();
|
||||
driver = BrowserManager.getWebDriver();
|
||||
driver.get(getWebAppURL() + Constants.IOT_USER_REGISTER_URL);
|
||||
|
||||
uiElementMapper = UIElementMapper.getInstance();
|
||||
|
||||
WebDriverWait wait = new WebDriverWait(driver, 10);
|
||||
wait.until(ExpectedConditions.titleContains("Register | IoT Server"));
|
||||
|
||||
firstNameField = driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.user.add.input.firstname.xpath")));
|
||||
lastNameField = driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.user.add.input.lastname.xpath")));
|
||||
emailField = driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.user.add.input.email.xpath")));
|
||||
userNameField = driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.user.add.input.username.xpath")));
|
||||
passwordField = driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.user.add.input.password.xpath")));
|
||||
passwordConfirmationField = driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.user.add.input.confirmpassword.xpath")));
|
||||
registerButton = driver.findElement(By.xpath(
|
||||
uiElementMapper.getElement("iot.user.add.register.button.xpath")));
|
||||
}
|
||||
|
||||
@Test(description = "Test for submitting an empty registration form")
|
||||
public void emptyFormTest() throws Exception {
|
||||
clearForm();
|
||||
firstNameField.sendKeys("");
|
||||
lastNameField.sendKeys("");
|
||||
emailField.sendKeys("");
|
||||
userNameField.sendKeys("");
|
||||
passwordField.sendKeys("");
|
||||
passwordConfirmationField.sendKeys("");
|
||||
|
||||
registerButton.click();
|
||||
|
||||
Assert.assertEquals(driver.findElement(By.id(
|
||||
uiElementMapper.getElement("iot.user.register.firstname.error"))).getText(),
|
||||
"Firstname is a required field. This cannot be empty.");
|
||||
Assert.assertEquals(driver.findElement(By.id(
|
||||
uiElementMapper.getElement("iot.user.register.lastname.error"))).getText(),
|
||||
"Lastname is a required field. This cannot be empty.");
|
||||
Assert.assertEquals(driver.findElement(By.id(
|
||||
uiElementMapper.getElement("iot.user.register.email.error"))).getText(),
|
||||
"Email is a required field. This cannot be empty.");
|
||||
Assert.assertEquals(driver.findElement(By.id(
|
||||
uiElementMapper.getElement("iot.user.register.username.error"))).getText(),
|
||||
"Username is a required field. This cannot be empty.");
|
||||
Assert.assertEquals(driver.findElement(By.id(
|
||||
uiElementMapper.getElement("iot.user.register.password.error"))).getText(),
|
||||
"Please enter a user login password");
|
||||
Assert.assertEquals(driver.findElement(By.id(
|
||||
uiElementMapper.getElement("iot.user.register.confirmPassword.error"))).getText(),
|
||||
"Please enter a user login password");
|
||||
}
|
||||
|
||||
@Test (description = "Test for non matching passwords")
|
||||
public void nonMatchingPasswordTest() throws Exception {
|
||||
clearForm();
|
||||
|
||||
firstNameField.sendKeys("User");
|
||||
lastNameField.sendKeys("User");
|
||||
emailField.sendKeys("user@user.com");
|
||||
userNameField.sendKeys("user");
|
||||
passwordField.sendKeys("user123");
|
||||
passwordConfirmationField.sendKeys("user234");
|
||||
registerButton.click();
|
||||
|
||||
Assert.assertEquals(driver.findElement(By.id(
|
||||
uiElementMapper.getElement("iot.user.register.confirmPassword.error"))).getText(),
|
||||
"Please enter the same password as above");
|
||||
}
|
||||
//
|
||||
@Test (description = "Test for email")
|
||||
public void incorrectEmail() throws Exception {
|
||||
clearForm();
|
||||
|
||||
firstNameField.sendKeys("User");
|
||||
lastNameField.sendKeys("User");
|
||||
emailField.sendKeys("user.com");
|
||||
registerButton.click();
|
||||
|
||||
Assert.assertEquals(driver.findElement(By.id(
|
||||
uiElementMapper.getElement("iot.user.register.email.error"))).getText(),
|
||||
"Email is not valid. Please enter a correct email address.");
|
||||
|
||||
}
|
||||
//
|
||||
@Test (description = "Test for password length")
|
||||
public void passwordLengthTest() throws Exception {
|
||||
clearForm();
|
||||
|
||||
firstNameField.sendKeys("User");
|
||||
lastNameField.sendKeys("User");
|
||||
emailField.sendKeys("user@user.com");
|
||||
userNameField.sendKeys("user");
|
||||
passwordField.sendKeys("user");
|
||||
|
||||
registerButton.click();
|
||||
|
||||
Assert.assertEquals(driver.findElement(By.id(
|
||||
uiElementMapper.getElement("iot.user.register.password.error"))).getText(),
|
||||
"Password should be between 5 and 30 characters.");
|
||||
|
||||
}
|
||||
|
||||
@AfterClass(alwaysRun = true)
|
||||
public void tearDown() throws Exception {
|
||||
driver.quit();
|
||||
}
|
||||
|
||||
public void clearForm() {
|
||||
firstNameField.clear();
|
||||
lastNameField.clear();
|
||||
emailField.clear();
|
||||
userNameField.clear();
|
||||
passwordField.clear();
|
||||
passwordConfirmationField.clear();
|
||||
}
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
package org.wso2.carbon.iot.integration.web.ui.test.user;
|
||||
|
||||
import org.apache.bcel.classfile.Constant;
|
||||
import org.openqa.selenium.By;
|
||||
import org.openqa.selenium.WebDriver;
|
||||
import org.openqa.selenium.WebElement;
|
||||
import org.openqa.selenium.support.ui.ExpectedConditions;
|
||||
import org.openqa.selenium.support.ui.WebDriverWait;
|
||||
import org.testng.Assert;
|
||||
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.carbon.iot.integration.web.ui.test.Constants;
|
||||
import org.wso2.carbon.iot.integration.web.ui.test.LoginUtils;
|
||||
import org.wso2.iot.integration.ui.pages.IOTIntegrationUIBaseTestCase;
|
||||
import org.wso2.iot.integration.ui.pages.UIElementMapper;
|
||||
import org.wso2.iot.integration.ui.pages.home.IOTAdminDashboard;
|
||||
import org.wso2.iot.integration.ui.pages.uesr.AddUserPage;
|
||||
import org.wso2.iot.integration.ui.pages.uesr.UserListingPage;
|
||||
|
||||
/**
|
||||
* Test for checking admin capabilities.
|
||||
* - Create a new User
|
||||
* - Delete a user
|
||||
* -- and more
|
||||
*/
|
||||
public class TestAdminFunctions extends IOTIntegrationUIBaseTestCase {
|
||||
|
||||
private WebDriver driver;
|
||||
|
||||
@BeforeClass(alwaysRun = true)
|
||||
public void setup() throws Exception {
|
||||
super.init();
|
||||
driver = BrowserManager.getWebDriver();
|
||||
LoginUtils.login(driver, automationContext, getWebAppURL());
|
||||
}
|
||||
|
||||
@Test(description = "Test for creating a new user")
|
||||
public void createUserTest() throws Exception {
|
||||
IOTAdminDashboard adminDashboard = new IOTAdminDashboard(driver);
|
||||
AddUserPage addUserPage = adminDashboard.addUser();
|
||||
addUserPage.createNewUser("user1", "User", "User", "user@wso2.com");
|
||||
}
|
||||
|
||||
@Test(description = "Test for deleting a created user", dependsOnMethods = {"createUserTest"})
|
||||
public void deleteUserTest() throws Exception {
|
||||
driver.get(getWebAppURL() + Constants.IOT_HOME_URL);
|
||||
IOTAdminDashboard adminDashboard = new IOTAdminDashboard(driver);
|
||||
UserListingPage userListingPage = adminDashboard.viewUser();
|
||||
userListingPage.deleteUser();
|
||||
}
|
||||
|
||||
|
||||
@AfterClass(alwaysRun = true)
|
||||
public void tearDown() throws Exception {
|
||||
driver.quit();
|
||||
}
|
||||
}
|
@ -0,0 +1,220 @@
|
||||
<?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="IOT" clusteringEnabled="false" default="true">
|
||||
|
||||
<instance name="iot001" 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>
|
@ -0,0 +1,611 @@
|
||||
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified"
|
||||
targetNamespace="automation_mapping.xsd"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:element name="automation">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="configurations">
|
||||
<xs:annotation>
|
||||
<xs:documentation>=================================================
|
||||
Parameters =================================================
|
||||
Browser type with used by framework to execute UI test, supported types
|
||||
- chrome|firefox|opera|ie|htmlUnit
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element type="xs:string" name="deploymentDelay">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Change this to edit wait time for test
|
||||
artifact deployment
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element type="xs:string" name="executionEnvironment">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Change this to product|platform/cloud to
|
||||
execute test on specific environment
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
|
||||
<xs:element type="xs:string" name="coverage">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Change this to true if you want to generate
|
||||
coverage statistics
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element type="xs:string" name="frameworkDashboard">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Change this to true if you want to enable
|
||||
framework dashboard
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="tools">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="selenium">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="remoteDriverUrl">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Change to enable remote webDriver
|
||||
URL of remote webDriver server
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:anyURI">
|
||||
<xs:attribute type="xs:string"
|
||||
name="enable"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="browser">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Type of the browser selenium tests
|
||||
are running"
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element type="xs:string"
|
||||
name="browserType"/>
|
||||
<xs:element name="webdriverPath">
|
||||
<xs:annotation>
|
||||
<xs:documentation>path to webDriver
|
||||
executable - required only for
|
||||
chrome
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute type="xs:string"
|
||||
name="enable"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="datasources">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="datasource" maxOccurs="unbounded">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element type="xs:string" name="url"/>
|
||||
<xs:element type="xs:string" name="username"/>
|
||||
<xs:element type="xs:string" name="password"/>
|
||||
<xs:element type="xs:string" name="driverClassName"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute type="xs:string" name="name"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="security">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="keystore" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>KeyStore which will be used for
|
||||
encrypting/decrypting passwords
|
||||
and other sensitive information.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element type="xs:string" name="fileName">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Keystore file location
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element type="xs:string" name="type">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Keystore type (JKS/PKCS12 etc.)
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element type="xs:string" name="password">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Keystore password
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element type="xs:string" name="keyAlias">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Private Key alias
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element type="xs:string" name="keyPassword">
|
||||
<xs:annotation>
|
||||
<xs:documentation>Private Key password
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute type="xs:string" name="name"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="truststore" maxOccurs="unbounded">
|
||||
<xs:annotation>
|
||||
<xs:documentation>System wide trust-store which is used to
|
||||
maintain the certificates of all
|
||||
the trusted parties.
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element type="xs:string" name="fileName">
|
||||
<xs:annotation>
|
||||
<xs:documentation>trust-store file location
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element type="xs:string" name="type">
|
||||
<xs:annotation>
|
||||
<xs:documentation>trust-store type (JKS/PKCS12
|
||||
etc.)
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
<xs:element type="xs:string" name="password">
|
||||
<xs:annotation>
|
||||
<xs:documentation>trust-store password
|
||||
</xs:documentation>
|
||||
</xs:annotation>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute type="xs:string" name="name"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="featureManagement">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="p2Repositories">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="repository">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="repository"
|
||||
maxOccurs="unbounded" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute type="xs:string"
|
||||
name="repo-id"
|
||||
use="optional"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute type="xs:string" name="name"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="userManagement">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="superTenant">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="tenant">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="admin">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="user">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element
|
||||
type="xs:string"
|
||||
name="userName"/>
|
||||
<xs:element
|
||||
type="xs:string"
|
||||
name="password"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute
|
||||
type="xs:string"
|
||||
name="key"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="users">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="user"
|
||||
maxOccurs="unbounded"
|
||||
minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element
|
||||
type="xs:string"
|
||||
name="userName"/>
|
||||
<xs:element
|
||||
type="xs:string"
|
||||
name="password"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute
|
||||
type="xs:string"
|
||||
name="key"
|
||||
use="optional"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute type="xs:string" name="key"
|
||||
use="required"/>
|
||||
<xs:attribute type="xs:string" name="domain"
|
||||
use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="tenants">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="tenant" maxOccurs="unbounded"
|
||||
minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="admin">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="user">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element
|
||||
type="xs:string"
|
||||
name="userName"/>
|
||||
<xs:element
|
||||
type="xs:string"
|
||||
name="password"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute
|
||||
type="xs:string"
|
||||
name="key"
|
||||
use="optional"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="users">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="user"
|
||||
maxOccurs="unbounded"
|
||||
minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element
|
||||
type="xs:string"
|
||||
name="userName"/>
|
||||
<xs:element
|
||||
type="xs:string"
|
||||
name="password"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute
|
||||
type="xs:string"
|
||||
name="key"
|
||||
use="optional"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute type="xs:string" name="key"
|
||||
use="required"/>
|
||||
<xs:attribute type="xs:string" name="domain"
|
||||
use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="platform">
|
||||
|
||||
<xs:complexType>
|
||||
<xs:choice>
|
||||
<xs:element name="productGroup" maxOccurs="unbounded" minOccurs="1">
|
||||
<xs:complexType>
|
||||
<xs:choice maxOccurs="unbounded" minOccurs="1">
|
||||
<xs:element name="instance">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="hosts">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="host"
|
||||
maxOccurs="unbounded"
|
||||
minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension
|
||||
base="xs:string">
|
||||
<xs:attribute
|
||||
type="xs:string"
|
||||
name="type"
|
||||
use="required"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="ports">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="port"
|
||||
maxOccurs="unbounded"
|
||||
minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension
|
||||
base="xs:string">
|
||||
<xs:attribute
|
||||
type="xs:string"
|
||||
name="type"
|
||||
use="required"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="properties">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="property"
|
||||
maxOccurs="unbounded"
|
||||
minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension
|
||||
base="xs:string">
|
||||
<xs:attribute
|
||||
type="xs:string"
|
||||
name="name"
|
||||
use="optional"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
<xs:attribute type="xs:string" name="name"
|
||||
use="required"/>
|
||||
<xs:attribute type="xs:string" name="type"
|
||||
use="required"/>
|
||||
<xs:attribute type="xs:boolean"
|
||||
name="nonBlockingTransportEnabled"
|
||||
use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
<xs:attribute type="xs:string" name="name"/>
|
||||
<xs:attribute type="xs:string" name="clusteringEnabled"/>
|
||||
<xs:attribute type="xs:boolean" name="default"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="listenerExtensions">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="platformExecutionManager">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="extentionClasses">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="class" maxOccurs="unbounded" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element type="xs:string" name="name"/>
|
||||
<xs:element name="parameter" maxOccurs="unbounded" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute type="xs:string" name="name" use="required"/>
|
||||
<xs:attribute type="xs:string" name="value" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="PlatformSuiteManager">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="extentionClasses">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="class" maxOccurs="unbounded" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element type="xs:string" name="name"/>
|
||||
<xs:element name="parameter" maxOccurs="unbounded" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute type="xs:string" name="name" use="required"/>
|
||||
<xs:attribute type="xs:string" name="value" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="PlatformAnnotationTransferManager">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="extentionClasses">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="class" maxOccurs="unbounded" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element type="xs:string" name="name"/>
|
||||
<xs:element name="parameter" maxOccurs="unbounded" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute type="xs:string" name="name" use="required"/>
|
||||
<xs:attribute type="xs:string" name="value" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="PlatformTestManager">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="extentionClasses">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="class" maxOccurs="unbounded" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element type="xs:string" name="name"/>
|
||||
<xs:element name="parameter" maxOccurs="unbounded" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute type="xs:string" name="name" use="required"/>
|
||||
<xs:attribute type="xs:string" name="value" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="PlatformReportManager">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="extentionClasses">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="class" maxOccurs="unbounded" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element type="xs:string" name="name"/>
|
||||
<xs:element name="parameter" maxOccurs="unbounded" minOccurs="0">
|
||||
<xs:complexType>
|
||||
<xs:simpleContent>
|
||||
<xs:extension base="xs:string">
|
||||
<xs:attribute type="xs:string" name="name" use="required"/>
|
||||
<xs:attribute type="xs:string" name="value" use="required"/>
|
||||
</xs:extension>
|
||||
</xs:simpleContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
</xs:schema>
|
@ -0,0 +1,300 @@
|
||||
<!--
|
||||
~ Copyright 2005-2011 WSO2, Inc. (http://wso2.com)
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<axisconfig name="AxisJava2.0">
|
||||
<!-- ================================================= -->
|
||||
<!-- Parameters -->
|
||||
<!-- ================================================= -->
|
||||
<parameter name="hotdeployment">true</parameter>
|
||||
<parameter name="hotupdate">false</parameter>
|
||||
<parameter name="enableMTOM">false</parameter>
|
||||
|
||||
<!-- commons-http-client defaultMaxConnPerHost -->
|
||||
<parameter name="defaultMaxConnPerHost">500</parameter>
|
||||
<!-- commons-http-client maxTotalConnections -->
|
||||
<parameter name="maxTotalConnections">15000</parameter>
|
||||
|
||||
<!--If turned on with use the Accept header of the request to determine the contentType of the
|
||||
response-->
|
||||
<parameter name="httpContentNegotiation">false</parameter>
|
||||
|
||||
<!--During a fault, stacktrace can be sent with the fault message. The following flag will control -->
|
||||
<!--that behaviour.-->
|
||||
<parameter name="sendStacktraceDetailsWithFaults">true</parameter>
|
||||
|
||||
<!--If there aren't any information available to find out the fault reason, we set the message of the exception-->
|
||||
<!--as the faultreason/Reason. But when a fault is thrown from a service or some where, it will be -->
|
||||
<!--wrapped by different levels. Due to this the initial exception message can be lost. If this flag-->
|
||||
<!--is set then, Axis2 tries to get the first exception and set its message as the faultreason/Reason.-->
|
||||
<parameter name="DrillDownToRootCauseForFaultReason">false</parameter>
|
||||
|
||||
<!--This is the user name and password of admin console-->
|
||||
<parameter name="userName">admin</parameter>
|
||||
<parameter name="password">axis2</parameter>
|
||||
|
||||
<!--To override repository/services you need to uncomment following parameter and value SHOULD be absolute file path.-->
|
||||
<!--ServicesDirectory only works on the following cases-->
|
||||
<!---File based configurator and in that case the value should be a file URL (http:// not allowed)-->
|
||||
<!---When creating URL Based configurator with URL “file://” -->
|
||||
<!--- War based configurator with expanded case , -->
|
||||
|
||||
<!--All the other scenarios it will be ignored.-->
|
||||
<!--<parameter name="ServicesDirectory">service</parameter>-->
|
||||
<!--To override repository/modules you need to uncomment following parameter and value SHOULD be absolute file path-->
|
||||
<!--<parameter name="ModulesDirectory">modules</parameter>-->
|
||||
|
||||
<!--Following params will set the proper context paths for invocations. All the endpoints will have a commons context-->
|
||||
<!--root which can configured using the following contextRoot parameter-->
|
||||
<!--<parameter name="contextRoot">axis2</parameter>-->
|
||||
|
||||
<!--Our HTTP endpoints can handle both REST and SOAP. Following parameters can be used to distinguish those endpoints-->
|
||||
<!--<parameter name="servicePath">services</parameter>-->
|
||||
<!--<parameter name="restPath">rest</parameter>-->
|
||||
|
||||
<!-- Following parameter will completely disable REST handling in Axis2-->
|
||||
<parameter name="disableREST" locked="false">false</parameter>
|
||||
|
||||
<!--POJO deployer , this will alow users to drop .class file and make that into a service-->
|
||||
<deployer extension=".class" directory="pojo" class="org.apache.axis2.deployment.POJODeployer"/>
|
||||
|
||||
<!-- Following parameter will set the host name for the epr-->
|
||||
<!--<parameter name="hostname" locked="true">myhost.com</parameter>-->
|
||||
|
||||
<!-- ================================================= -->
|
||||
<!-- Message Receivers -->
|
||||
<!-- ================================================= -->
|
||||
<!--This is the Default Message Receiver for the system , if you want to have MessageReceivers for -->
|
||||
<!--all the other MEP implement it and add the correct entry to here , so that you can refer from-->
|
||||
<!--any operation -->
|
||||
<!--Note : You can override this for particular service by adding the same element with your requirement-->
|
||||
<messageReceivers>
|
||||
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
|
||||
class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
|
||||
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
|
||||
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
|
||||
<messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-only"
|
||||
class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/>
|
||||
<messageReceiver mep="http://www.w3.org/2006/01/wsdl/in-out"
|
||||
class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
|
||||
</messageReceivers>
|
||||
|
||||
<!-- ================================================= -->
|
||||
<!-- Message Formatter -->
|
||||
<!-- ================================================= -->
|
||||
<!--Following content type to message formatter mapping can be used to implement support for different message -->
|
||||
<!--format serialization in Axis2. These message formats are expected to be resolved based on the content type. -->
|
||||
<messageFormatters>
|
||||
<messageFormatter contentType="application/x-www-form-urlencoded"
|
||||
class="org.apache.axis2.transport.http.XFormURLEncodedFormatter"/>
|
||||
<messageFormatter contentType="multipart/form-data"
|
||||
class="org.apache.axis2.transport.http.MultipartFormDataFormatter"/>
|
||||
<messageFormatter contentType="application/xml"
|
||||
class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/>
|
||||
<messageFormatter contentType="text/xml"
|
||||
class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
|
||||
<messageFormatter contentType="application/soap+xml"
|
||||
class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>
|
||||
<!--JSON Message Formatters-->
|
||||
<messageFormatter contentType="application/json"
|
||||
class="org.apache.axis2.json.JSONMessageFormatter"/>
|
||||
<messageFormatter contentType="application/json/badgerfish"
|
||||
class="org.apache.axis2.json.JSONBadgerfishMessageFormatter"/>
|
||||
<messageFormatter contentType="text/javascript"
|
||||
class="org.apache.axis2.json.JSONMessageFormatter"/>
|
||||
</messageFormatters>
|
||||
|
||||
<!-- ================================================= -->
|
||||
<!-- Message Builders -->
|
||||
<!-- ================================================= -->
|
||||
<!--Following content type to builder mapping can be used to implement support for different message -->
|
||||
<!--formats in Axis2. These message formats are expected to be resolved based on the content type. -->
|
||||
<messageBuilders>
|
||||
<messageBuilder contentType="application/xml"
|
||||
class="org.apache.axis2.builder.ApplicationXMLBuilder"/>
|
||||
<messageBuilder contentType="application/x-www-form-urlencoded"
|
||||
class="org.apache.axis2.builder.XFormURLEncodedBuilder"/>
|
||||
<!--JSON Message Builders-->
|
||||
<messageBuilder contentType="application/json"
|
||||
class="org.apache.axis2.json.JSONOMBuilder"/>
|
||||
<messageBuilder contentType="application/json/badgerfish"
|
||||
class="org.apache.axis2.json.JSONBadgerfishOMBuilder"/>
|
||||
<messageBuilder contentType="text/javascript"
|
||||
class="org.apache.axis2.json.JSONOMBuilder"/>
|
||||
<!--Left commented because it adds the depandancy of servlet-api to other modules.
|
||||
Please uncomment to Receive messages in multipart/form-data format-->
|
||||
<!--<messageBuilder contentType="multipart/form-data"-->
|
||||
<!--class="org.apache.axis2.builder.MultipartFormDataBuilder"/>-->
|
||||
</messageBuilders>
|
||||
|
||||
<!-- ================================================= -->
|
||||
<!-- Target Resolvers -->
|
||||
<!-- ================================================= -->
|
||||
<!-- Uncomment the following and specify the class name for your TargetResolver to add -->
|
||||
<!-- a TargetResolver. TargetResolvers are used to process the To EPR for example to -->
|
||||
<!-- choose a server in a cluster -->
|
||||
<!--<targetResolvers>-->
|
||||
<!--<targetResolver class="" />-->
|
||||
<!--</targetResolvers>-->
|
||||
|
||||
|
||||
<!-- ================================================= -->
|
||||
<!-- Transport Ins -->
|
||||
<!-- ================================================= -->
|
||||
<transportReceiver name="http"
|
||||
class="org.apache.axis2.transport.http.SimpleHTTPServer">
|
||||
<parameter name="port">6071</parameter>
|
||||
<!--If you want to give your own host address for EPR generation-->
|
||||
<!--uncomment following parameter , and set as you required.-->
|
||||
<!--<parameter name="hostname">http://myApp.com/ws</parameter>-->
|
||||
</transportReceiver>
|
||||
|
||||
<!--Uncomment if you want to have TCP transport support-->
|
||||
<!--<transportReceiver name="tcp"
|
||||
class="org.apache.axis2.transport.tcp.TCPServer">
|
||||
<parameter name="port">6061</parameter>-->
|
||||
<!--If you want to give your own host address for EPR generation-->
|
||||
<!--uncomment following parameter , and set as you required.-->
|
||||
<!--<parameter name="hostname">tcp://myApp.com/ws</parameter>-->
|
||||
<!--</transportReceiver>-->
|
||||
|
||||
<!-- ================================================= -->
|
||||
<!-- Transport Outs -->
|
||||
<!-- ================================================= -->
|
||||
|
||||
<!--<transportSender name="jms"-->
|
||||
<!--class="org.apache.axis2.transport.jms.JMSSender"/>-->
|
||||
<!--transportSender name="tcp"
|
||||
class="org.apache.axis2.transport.tcp.TCPTransportSender"/-->
|
||||
<transportSender name="local"
|
||||
class="org.apache.axis2.transport.local.LocalTransportSender"/>
|
||||
<transportSender name="http"
|
||||
class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
|
||||
<parameter name="PROTOCOL">HTTP/1.1</parameter>
|
||||
<parameter name="Transfer-Encoding">chunked</parameter>
|
||||
<parameter name="SO_TIMEOUT">60000</parameter>
|
||||
<parameter name="CONNECTION_TIMEOUT">60000</parameter>
|
||||
</transportSender>
|
||||
<transportSender name="https"
|
||||
class="org.apache.axis2.transport.http.CommonsHTTPTransportSender">
|
||||
<parameter name="PROTOCOL">HTTP/1.1</parameter>
|
||||
<parameter name="Transfer-Encoding">chunked</parameter>
|
||||
<parameter name="SO_TIMEOUT">60000</parameter>
|
||||
<parameter name="CONNECTION_TIMEOUT">60000</parameter>
|
||||
</transportSender>
|
||||
<!--<transportSender name="java"-->
|
||||
<!--class="org.apache.axis2.transport.java.JavaTransportSender"/>-->
|
||||
|
||||
|
||||
<!-- ================================================= -->
|
||||
<!-- SOAP Role Configuration -->
|
||||
<!-- ================================================= -->
|
||||
<!-- Use the following pattern to configure this axis2
|
||||
instance to act in particular roles. Note that in
|
||||
the absence of any configuration, Axis2 will act
|
||||
only in the ultimate receiver role -->
|
||||
<!--
|
||||
<SOAPRoleConfiguration isUltimateReceiver="true">
|
||||
<role>http://my/custom/role</role>
|
||||
</SOAPRoleConfiguration>
|
||||
-->
|
||||
|
||||
<!-- ================================================= -->
|
||||
<!-- Phases -->
|
||||
<!-- ================================================= -->
|
||||
<phaseOrder type="InFlow">
|
||||
<!-- System pre-defined phases -->
|
||||
<phase name="Transport">
|
||||
<handler name="RequestURIBasedDispatcher"
|
||||
class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher">
|
||||
<order phase="Transport"/>
|
||||
</handler>
|
||||
<handler name="SOAPActionBasedDispatcher"
|
||||
class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher">
|
||||
<order phase="Transport"/>
|
||||
</handler>
|
||||
</phase>
|
||||
<phase name="Addressing">
|
||||
<handler name="AddressingBasedDispatcher"
|
||||
class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
|
||||
<order phase="Addressing"/>
|
||||
</handler>
|
||||
</phase>
|
||||
<phase name="Security"/>
|
||||
<phase name="PreDispatch"/>
|
||||
<phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
|
||||
<handler name="RequestURIBasedDispatcher"
|
||||
class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
|
||||
<handler name="SOAPActionBasedDispatcher"
|
||||
class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
|
||||
<handler name="RequestURIOperationDispatcher"
|
||||
class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
|
||||
<handler name="SOAPMessageBodyBasedDispatcher"
|
||||
class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
|
||||
|
||||
<handler name="HTTPLocationBasedDispatcher"
|
||||
class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
|
||||
</phase>
|
||||
<phase name="RMPhase"/>
|
||||
<!-- System pre defined phases -->
|
||||
<!-- After Postdispatch phase module author or or service author can add any phase he want -->
|
||||
<phase name="OperationInPhase"/>
|
||||
</phaseOrder>
|
||||
<phaseOrder type="OutFlow">
|
||||
<!-- user can add his own phases to this area -->
|
||||
<phase name="OperationOutPhase"/>
|
||||
<!--system predefined phase-->
|
||||
<!--these phase will run irrespective of the service-->
|
||||
<phase name="RMPhase"/>
|
||||
<phase name="PolicyDetermination"/>
|
||||
<phase name="MessageOut"/>
|
||||
<phase name="Security"/>
|
||||
</phaseOrder>
|
||||
<phaseOrder type="InFaultFlow">
|
||||
<phase name="Addressing">
|
||||
<handler name="AddressingBasedDispatcher"
|
||||
class="org.apache.axis2.dispatchers.AddressingBasedDispatcher">
|
||||
<order phase="Addressing"/>
|
||||
</handler>
|
||||
</phase>
|
||||
<phase name="Security"/>
|
||||
<phase name="PreDispatch"/>
|
||||
<phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase">
|
||||
<handler name="RequestURIBasedDispatcher"
|
||||
class="org.apache.axis2.dispatchers.RequestURIBasedDispatcher"/>
|
||||
<handler name="SOAPActionBasedDispatcher"
|
||||
class="org.apache.axis2.dispatchers.SOAPActionBasedDispatcher"/>
|
||||
<handler name="RequestURIOperationDispatcher"
|
||||
class="org.apache.axis2.dispatchers.RequestURIOperationDispatcher"/>
|
||||
<handler name="SOAPMessageBodyBasedDispatcher"
|
||||
class="org.apache.axis2.dispatchers.SOAPMessageBodyBasedDispatcher"/>
|
||||
|
||||
<handler name="HTTPLocationBasedDispatcher"
|
||||
class="org.apache.axis2.dispatchers.HTTPLocationBasedDispatcher"/>
|
||||
</phase>
|
||||
<phase name="RMPhase"/>
|
||||
<!-- user can add his own phases to this area -->
|
||||
<phase name="OperationInFaultPhase"/>
|
||||
</phaseOrder>
|
||||
<phaseOrder type="OutFaultFlow">
|
||||
<!-- user can add his own phases to this area -->
|
||||
<phase name="OperationOutFaultPhase"/>
|
||||
<phase name="RMPhase"/>
|
||||
<phase name="PolicyDetermination"/>
|
||||
<phase name="MessageOut"/>
|
||||
<phase name="Security"/>
|
||||
<phase name="Transport"/>
|
||||
</phaseOrder>
|
||||
</axisconfig>
|
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project name="mvn-launcher" basedir="">
|
||||
|
||||
<target name="mvn clean">
|
||||
<echo message="************** Compile and install connected cup sample ****************************" />
|
||||
<exec executable="${maven.executable}" dir="samples/connectedcup">
|
||||
<arg value="clean" />
|
||||
<arg value="install" />
|
||||
</exec>
|
||||
|
||||
<exec executable="${maven.executable}" dir="">
|
||||
<arg value="clean" />
|
||||
<arg value="install" />
|
||||
<arg value="-f" />
|
||||
<arg value="device-deployer.xml" />
|
||||
</exec>
|
||||
|
||||
</target>
|
||||
</project>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,105 @@
|
||||
# -------------------------------------------------------------
|
||||
#
|
||||
# for user-editable property overrides use one of these options:
|
||||
#
|
||||
# (1) option-specific command line overrides, e.g.
|
||||
# -Dreport.txt.out.file=coverage.txt
|
||||
#
|
||||
# (2) '-p <options file>' command line option,
|
||||
#
|
||||
# (3) 'emma.properties' resource placed somewhere in the classpath
|
||||
# (e.g., in <jre dir>\classes directory -- note that it does
|
||||
# not exist by default),
|
||||
#
|
||||
# (4) '-Demma.*' JVM options, e.g.
|
||||
# -Demma.report.txt.out.file=coverage.txt
|
||||
#
|
||||
# (5) 'emma.properties' JVM option pointing to a properties file
|
||||
# -Demma.properties=./myproperties.txt
|
||||
# -------------------------------------------------------------
|
||||
|
||||
# -------------------------------------------------------------
|
||||
# logging properties:
|
||||
|
||||
verbosity.level: none
|
||||
|
||||
# classloading properties:
|
||||
|
||||
#clsload.forced_delegation_filter:
|
||||
#clsload.through_delegation_filter: -*
|
||||
|
||||
# -------------------------------------------------------------
|
||||
|
||||
# instrumentation properties:
|
||||
|
||||
instr.exclude_empty_classes: true
|
||||
instr.exclude_synthetic_methods: true
|
||||
instr.exclude_bridge_methods: true
|
||||
instr.do_suid_compensation: true
|
||||
|
||||
# -------------------------------------------------------------
|
||||
|
||||
# runtime properties:
|
||||
|
||||
rt.control: false
|
||||
rt.control.host: localhost
|
||||
#rt.control.port: 44444
|
||||
|
||||
rt.filelock: true
|
||||
#rt.filelock.portbase: 59141
|
||||
rt.filelock.maxtime: 120000
|
||||
rt.filelock.retries: 11
|
||||
|
||||
# -------------------------------------------------------------
|
||||
|
||||
# apprunner session data output properties:
|
||||
|
||||
session.out.file: coverage.es
|
||||
session.out.merge: true
|
||||
|
||||
# -------------------------------------------------------------
|
||||
|
||||
# runtime coverage data output properties:
|
||||
|
||||
coverage.out.file: coverage.ec
|
||||
coverage.out.merge: true
|
||||
|
||||
# -------------------------------------------------------------
|
||||
|
||||
# instr metadata output properties:
|
||||
|
||||
metadata.out.file: coverage.em
|
||||
metadata.out.merge: true
|
||||
|
||||
# -------------------------------------------------------------
|
||||
|
||||
# common report defaults:
|
||||
|
||||
report.units: instr
|
||||
report.depth: method
|
||||
report.columns: name, line, block, method, class
|
||||
report.sort: -line,-block,-method,-class,+name
|
||||
report.metrics: method:40,block:80,line:40,class:100
|
||||
|
||||
# -------------------------------------------------------------
|
||||
# txt report properties:
|
||||
|
||||
report.txt.depth: all
|
||||
report.txt.columns: class,method,block,line,name
|
||||
report.txt.out.file: coverage.txt
|
||||
|
||||
# -------------------------------------------------------------
|
||||
# html report properties:
|
||||
|
||||
#report.html.out.dir: coverage
|
||||
#report.html.out.file: /Users/azeez/Desktop/coverage/index.html
|
||||
report.html.out.encoding: ISO-8859-1
|
||||
|
||||
# -------------------------------------------------------------
|
||||
# xml report properties:
|
||||
|
||||
#report.xml.out.file: coverage.xml
|
||||
report.xml.out.encoding: UTF-8
|
||||
# -------------------------------------------------------------
|
||||
# end of file
|
||||
|
@ -0,0 +1,17 @@
|
||||
-*.stub*
|
||||
-*.stub_
|
||||
-*.stub_4.0.0
|
||||
-*.stub-
|
||||
-org.eclipse.*
|
||||
-*.equinox.*
|
||||
-org.wso2.carbon.user.core.*
|
||||
-samples.*
|
||||
-*.log4j*
|
||||
-*.axis2*
|
||||
-*.ui*
|
||||
-*.tenant*
|
||||
-*.stratos*
|
||||
-*.eventing*
|
||||
-*transports*
|
||||
-org.wso2.carbon.mediation.statistics*
|
||||
-*startup*
|
@ -0,0 +1,11 @@
|
||||
org.wso2.carbon.datasource_
|
||||
org.wso2.carbon.dataservices.core_
|
||||
org.wso2.carbon.transaction.manager_
|
||||
org.wso2.carbon.dataservices.sql.driver_
|
||||
org.wso2.carbon.dataservices.task_
|
||||
org.wso2.carbon.ndatasource.common_
|
||||
org.wso2.carbon.ndatasource.core_
|
||||
org.wso2.carbon.ndatasource.rdbms_
|
||||
org.wso2.carbon.ntask.common_
|
||||
org.wso2.carbon.ntask.core_
|
||||
org.wso2.carbon.ntask.solutions_
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,43 @@
|
||||
#
|
||||
# Copyright 2009 WSO2, Inc. (http://wso2.com)
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
#
|
||||
# This is the log4j configuration file used by WSO2 Carbon
|
||||
#
|
||||
# IMPORTANT : Please do not remove or change the names of any
|
||||
# of the Appenders defined here. The layout pattern & log file
|
||||
# can be changed using the WSO2 Carbon Management Console, and those
|
||||
# settings will override the settings in this file.
|
||||
#
|
||||
|
||||
log4j.rootLogger=INFO, console, Default
|
||||
|
||||
log4j.logger.org.wso2=INFO
|
||||
|
||||
#Automation file apender
|
||||
log4j.appender.Default=org.apache.log4j.RollingFileAppender
|
||||
log4j.appender.Default.File=logs/automation.log
|
||||
log4j.appender.Default.Append=true
|
||||
log4j.appender.Default.MaxFileSize=10MB
|
||||
log4j.appender.Default.MaxBackupIndex=10
|
||||
log4j.appender.Default.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.Default.layout.ConversionPattern=%d{ISO8601} %-5p [%c] - %m%n
|
||||
|
||||
|
||||
#Automation console apender
|
||||
log4j.appender.console=org.apache.log4j.ConsoleAppender
|
||||
log4j.appender.console.layout=org.apache.log4j.PatternLayout
|
||||
log4j.appender.console.layout.ConversionPattern=%-5p [%c] - %m%n
|
@ -0,0 +1,201 @@
|
||||
<!--
|
||||
~ Copyright 2005-2007 WSO2, Inc. (http://wso2.com)
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<RampartSecurityScenarios xmlns="http://www.wso2.org/products/carbon/security">
|
||||
|
||||
<!-- Basic scenarios -->
|
||||
<Scenario id="scenario1">
|
||||
<Summary>UsernameToken</Summary>
|
||||
<Description>Provides Authentication. Clients have Username Tokens</Description>
|
||||
<Category>ut</Category>
|
||||
<Modules>
|
||||
<Module>rampart</Module>
|
||||
</Modules>
|
||||
<WsuId>UTOverTransport</WsuId>
|
||||
<Type>basic</Type>
|
||||
</Scenario>
|
||||
<Scenario id="scenario2">
|
||||
<Summary>Non-repudiation</Summary>
|
||||
<Description>Provides Authentication and Integrity. Clients have X509 certificates</Description>
|
||||
<Category>keystore</Category>
|
||||
<Modules>
|
||||
<Module>rampart</Module>
|
||||
</Modules>
|
||||
<WsuId>SigOnly</WsuId>
|
||||
<Type>basic</Type>
|
||||
</Scenario>
|
||||
<Scenario id="scenario3">
|
||||
<Summary>Integrity</Summary>
|
||||
<Description>Provides Integrity. Clients do not have X509 certificates</Description>
|
||||
<Category>keystore</Category>
|
||||
<Modules>
|
||||
<Module>rampart</Module>
|
||||
</Modules>
|
||||
<WsuId>SgnOnlyAnonymous</WsuId>
|
||||
<Type>basic</Type>
|
||||
</Scenario>
|
||||
<Scenario id="scenario4">
|
||||
<Summary>Confidentiality</Summary>
|
||||
<Description>Provides Confidentiality. Clients do not have X509 certificates</Description>
|
||||
<Category>keystore</Category>
|
||||
<Modules>
|
||||
<Module>rampart</Module>
|
||||
</Modules>
|
||||
<WsuId>EncrOnlyAnonymous</WsuId>
|
||||
<Type>basic</Type>
|
||||
</Scenario>
|
||||
|
||||
<!-- Advanced scenarios -->
|
||||
<Scenario id="scenario5">
|
||||
<Summary>Sign and encrypt - X509 Authentication</Summary>
|
||||
<Description>Provides Authentication, Integrity and Confidentiality. Clients have X509 certificates
|
||||
</Description>
|
||||
<Category>keystore</Category>
|
||||
<Modules>
|
||||
<Module>rampart</Module>
|
||||
</Modules>
|
||||
<WsuId>SigEncr</WsuId>
|
||||
<Type>advanced</Type>
|
||||
</Scenario>
|
||||
<Scenario id="scenario6">
|
||||
<Summary>Sign and Encrypt - Anonymous clients</Summary>
|
||||
<Description>Provides Integrity and Confidentiality.</Description>
|
||||
<Category>keystore</Category>
|
||||
<Modules>
|
||||
<Module>rampart</Module>
|
||||
</Modules>
|
||||
<WsuId>SgnEncrAnonymous</WsuId>
|
||||
<Type>advanced</Type>
|
||||
</Scenario>
|
||||
<Scenario id="scenario7">
|
||||
<Summary>Encrypt only - Username Token Authentication</Summary>
|
||||
<Description>Provides Authentication and Confidentiality. Clients have Username Tokens</Description>
|
||||
<Category>ut-keystore</Category>
|
||||
<Modules>
|
||||
<Module>rampart</Module>
|
||||
</Modules>
|
||||
<WsuId>EncrOnlyUsername</WsuId>
|
||||
<Type>advanced</Type>
|
||||
</Scenario>
|
||||
<Scenario id="scenario8">
|
||||
<Summary>Sign and Encrypt - Username Token Authentication</Summary>
|
||||
<Description>Provides Authentication, Integrity and Confidentiality. Clients have Username Tokens</Description>
|
||||
<Category>ut-keystore</Category>
|
||||
<Modules>
|
||||
<Module>rampart</Module>
|
||||
</Modules>
|
||||
<WsuId>SgnEncrUsername</WsuId>
|
||||
<Type>advanced</Type>
|
||||
</Scenario>
|
||||
<Scenario id="scenario9">
|
||||
<Summary>SecureConversation - Sign only - Service as STS - Bootstrap policy - Sign and Encrypt , X509
|
||||
Authentication
|
||||
</Summary>
|
||||
<Description>Provides Authentication and Integrity. Multiple message exchange.Clients have X509 certificates.
|
||||
</Description>
|
||||
<Category>keystore</Category>
|
||||
<Modules>
|
||||
<Module>rampart</Module>
|
||||
<Module>rahas</Module>
|
||||
</Modules>
|
||||
<WsuId>SecConSignOnly</WsuId>
|
||||
<Type>advanced</Type>
|
||||
</Scenario>
|
||||
<Scenario id="scenario10">
|
||||
<Summary>SecureConversation - Encrypt only - Service as STS - Bootstrap policy -
|
||||
Sign and Encrypt , X509 Authentication
|
||||
</Summary>
|
||||
<Description>Provides Confidentiality. Multiple message exchange.Clients have X509 certificates.</Description>
|
||||
<Category>keystore</Category>
|
||||
<Modules>
|
||||
<Module>rampart</Module>
|
||||
<Module>rahas</Module>
|
||||
</Modules>
|
||||
<WsuId>SecConEncrOnly</WsuId>
|
||||
<Type>advanced</Type>
|
||||
</Scenario>
|
||||
<Scenario id="scenario11">
|
||||
<Summary>SecureConversation - Sign and Encrypt - Service as STS - Bootstrap policy - Sign and Encrypt , X509
|
||||
Authentication
|
||||
</Summary>
|
||||
<Description>Provides Authentication, Integrity and Confidentiality. Multiple message exchange.Clients have X509
|
||||
certificates.
|
||||
</Description>
|
||||
<Category>keystore</Category>
|
||||
<Modules>
|
||||
<Module>rampart</Module>
|
||||
<Module>rahas</Module>
|
||||
</Modules>
|
||||
<WsuId>SecConSgnEncr</WsuId>
|
||||
<Type>advanced</Type>
|
||||
</Scenario>
|
||||
<Scenario id="scenario12">
|
||||
<Summary>SecureConversation - Sign Only - Service as STS - Bootstrap policy - Sign and Encrypt , Anonymous
|
||||
clients
|
||||
</Summary>
|
||||
<Description>Provides Integrity. Multiple message exchange.</Description>
|
||||
<Category>keystore</Category>
|
||||
<Modules>
|
||||
<Module>rampart</Module>
|
||||
<Module>rahas</Module>
|
||||
</Modules>
|
||||
<WsuId>SecConSignOnlyAnonymous</WsuId>
|
||||
<Type>advanced</Type>
|
||||
</Scenario>
|
||||
<Scenario id="scenario13">
|
||||
<Summary>SecureConversation - Encrypt Only - Service as STS - Bootstrap policy - Sign and Encrypt , Anonymous
|
||||
clients
|
||||
</Summary>
|
||||
<Description>Provides Confidentiality. Multiple message exchange.</Description>
|
||||
<Category>keystore</Category>
|
||||
<Modules>
|
||||
<Module>rampart</Module>
|
||||
<Module>rahas</Module>
|
||||
</Modules>
|
||||
<WsuId>SecConEncrOnlyAnonymous</WsuId>
|
||||
<Type>advanced</Type>
|
||||
</Scenario>
|
||||
<Scenario id="scenario14">
|
||||
<Summary>SecureConversation - Encrypt Only - Service as STS - Bootstrap policy - Sign and Encrypt , Username
|
||||
Token Authentication
|
||||
</Summary>
|
||||
<Description>Provides Authentication and Confidentiality. Multiple message exchange. Clients have Username
|
||||
Tokens.
|
||||
</Description>
|
||||
<Category>ut-keystore</Category>
|
||||
<Modules>
|
||||
<Module>rampart</Module>
|
||||
<Module>rahas</Module>
|
||||
</Modules>
|
||||
<WsuId>SecConEncrUsername</WsuId>
|
||||
<Type>advanced</Type>
|
||||
</Scenario>
|
||||
<Scenario id="scenario15">
|
||||
<Summary>SecureConversation - Sign and Encrypt - Service as STS - Bootstrap policy - Sign and Encrypt , Username
|
||||
Token Authentication
|
||||
</Summary>
|
||||
<Description>Provides Authentication Integrity and Confidentiality. Multiple message exchange. Clients have
|
||||
Username Tokens.
|
||||
</Description>
|
||||
<Category>ut-keystore</Category>
|
||||
<Modules>
|
||||
<Module>rampart</Module>
|
||||
<Module>rahas</Module>
|
||||
</Modules>
|
||||
<WsuId>SecConSgnEncrUsername</WsuId>
|
||||
<Type>advanced</Type>
|
||||
</Scenario>
|
||||
</RampartSecurityScenarios>
|
@ -0,0 +1,51 @@
|
||||
<!--
|
||||
~ Copyright 2005-2007 WSO2, Inc. (http://wso2.com)
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<wsp:Policy wsu:Id="UTOverTransport"
|
||||
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
|
||||
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
|
||||
<wsp:ExactlyOne>
|
||||
<wsp:All>
|
||||
<sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:Policy>
|
||||
<sp:TransportToken>
|
||||
<wsp:Policy>
|
||||
<sp:HttpsToken RequireClientCertificate="false"/>
|
||||
</wsp:Policy>
|
||||
</sp:TransportToken>
|
||||
<sp:AlgorithmSuite>
|
||||
<wsp:Policy>
|
||||
<sp:Basic256/>
|
||||
</wsp:Policy>
|
||||
</sp:AlgorithmSuite>
|
||||
<sp:Layout>
|
||||
<wsp:Policy>
|
||||
<sp:Lax/>
|
||||
</wsp:Policy>
|
||||
</sp:Layout>
|
||||
<sp:IncludeTimestamp/>
|
||||
</wsp:Policy>
|
||||
</sp:TransportBinding>
|
||||
<sp:SignedSupportingTokens
|
||||
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:Policy>
|
||||
<sp:UsernameToken
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient"/>
|
||||
</wsp:Policy>
|
||||
</sp:SignedSupportingTokens>
|
||||
</wsp:All>
|
||||
</wsp:ExactlyOne>
|
||||
</wsp:Policy>
|
@ -0,0 +1,127 @@
|
||||
<!--
|
||||
~ Copyright 2005-2007 WSO2, Inc. (http://wso2.com)
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<wsp:Policy wsu:Id="SecConEncrOnly"
|
||||
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
|
||||
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
|
||||
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
|
||||
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:ExactlyOne>
|
||||
<wsp:All>
|
||||
<sp:SymmetricBinding>
|
||||
<wsp:Policy>
|
||||
<sp:ProtectionToken>
|
||||
<wsp:Policy>
|
||||
<sp:SecureConversationToken
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
|
||||
<wsp:Policy>
|
||||
<sp:BootstrapPolicy>
|
||||
<wsp:Policy>
|
||||
<sp:AsymmetricBinding
|
||||
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:Policy>
|
||||
<sp:InitiatorToken>
|
||||
<wsp:Policy>
|
||||
<sp:X509Token
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
|
||||
<wsp:Policy>
|
||||
<sp:RequireThumbprintReference/>
|
||||
<sp:WssX509V3Token10/>
|
||||
</wsp:Policy>
|
||||
</sp:X509Token>
|
||||
</wsp:Policy>
|
||||
</sp:InitiatorToken>
|
||||
<sp:RecipientToken>
|
||||
<wsp:Policy>
|
||||
<sp:X509Token
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
|
||||
<wsp:Policy>
|
||||
<sp:RequireThumbprintReference/>
|
||||
<sp:WssX509V3Token10/>
|
||||
</wsp:Policy>
|
||||
</sp:X509Token>
|
||||
</wsp:Policy>
|
||||
</sp:RecipientToken>
|
||||
<sp:AlgorithmSuite>
|
||||
<wsp:Policy>
|
||||
<sp:Basic256/>
|
||||
</wsp:Policy>
|
||||
</sp:AlgorithmSuite>
|
||||
<sp:Layout>
|
||||
<wsp:Policy>
|
||||
<sp:Strict/>
|
||||
</wsp:Policy>
|
||||
</sp:Layout>
|
||||
<sp:IncludeTimestamp/>
|
||||
<sp:OnlySignEntireHeadersAndBody/>
|
||||
</wsp:Policy>
|
||||
</sp:AsymmetricBinding>
|
||||
<sp:Wss10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportRefKeyIdentifier/>
|
||||
<sp:MustSupportRefIssuerSerial/>
|
||||
</wsp:Policy>
|
||||
</sp:Wss10>
|
||||
<sp:SignedParts
|
||||
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<sp:Body/>
|
||||
</sp:SignedParts>
|
||||
<sp:EncryptedParts
|
||||
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<sp:Body/>
|
||||
</sp:EncryptedParts>
|
||||
</wsp:Policy>
|
||||
</sp:BootstrapPolicy>
|
||||
</wsp:Policy>
|
||||
</sp:SecureConversationToken>
|
||||
</wsp:Policy>
|
||||
</sp:ProtectionToken>
|
||||
<sp:AlgorithmSuite>
|
||||
<wsp:Policy>
|
||||
<sp:Basic256/>
|
||||
</wsp:Policy>
|
||||
</sp:AlgorithmSuite>
|
||||
<sp:Layout>
|
||||
<wsp:Policy>
|
||||
<sp:Lax/>
|
||||
</wsp:Policy>
|
||||
</sp:Layout>
|
||||
<sp:IncludeTimestamp/>
|
||||
<sp:OnlySignEntireHeadersAndBody/>
|
||||
</wsp:Policy>
|
||||
</sp:SymmetricBinding>
|
||||
<sp:EncryptedParts>
|
||||
<sp:Body/>
|
||||
</sp:EncryptedParts>
|
||||
<sp:Wss11>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportRefKeyIdentifier/>
|
||||
<sp:MustSupportRefIssuerSerial/>
|
||||
<sp:MustSupportRefThumbprint/>
|
||||
<sp:MustSupportRefEncryptedKey/>
|
||||
</wsp:Policy>
|
||||
</sp:Wss11>
|
||||
<sp:Trust10>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportIssuedTokens/>
|
||||
<sp:RequireClientEntropy/>
|
||||
<sp:RequireServerEntropy/>
|
||||
</wsp:Policy>
|
||||
</sp:Trust10>
|
||||
</wsp:All>
|
||||
</wsp:ExactlyOne>
|
||||
</wsp:Policy>
|
||||
|
@ -0,0 +1,128 @@
|
||||
<!--
|
||||
~ Copyright 2005-2007 WSO2, Inc. (http://wso2.com)
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<wsp:Policy wsu:Id="SecConSgnEncr"
|
||||
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
|
||||
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
|
||||
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
|
||||
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:ExactlyOne>
|
||||
<wsp:All>
|
||||
<sp:SymmetricBinding>
|
||||
<wsp:Policy>
|
||||
<sp:ProtectionToken>
|
||||
<wsp:Policy>
|
||||
<sp:SecureConversationToken
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
|
||||
<wsp:Policy>
|
||||
<sp:BootstrapPolicy>
|
||||
<wsp:Policy>
|
||||
<sp:AsymmetricBinding
|
||||
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:Policy>
|
||||
<sp:InitiatorToken>
|
||||
<wsp:Policy>
|
||||
<sp:X509Token
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
|
||||
<wsp:Policy>
|
||||
<sp:RequireThumbprintReference/>
|
||||
</wsp:Policy>
|
||||
</sp:X509Token>
|
||||
</wsp:Policy>
|
||||
</sp:InitiatorToken>
|
||||
<sp:RecipientToken>
|
||||
<wsp:Policy>
|
||||
<sp:X509Token
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
|
||||
<wsp:Policy>
|
||||
<sp:RequireThumbprintReference/>
|
||||
</wsp:Policy>
|
||||
</sp:X509Token>
|
||||
</wsp:Policy>
|
||||
</sp:RecipientToken>
|
||||
<sp:AlgorithmSuite>
|
||||
<wsp:Policy>
|
||||
<sp:Basic256/>
|
||||
</wsp:Policy>
|
||||
</sp:AlgorithmSuite>
|
||||
<sp:Layout>
|
||||
<wsp:Policy>
|
||||
<sp:Strict/>
|
||||
</wsp:Policy>
|
||||
</sp:Layout>
|
||||
<sp:IncludeTimestamp/>
|
||||
<sp:OnlySignEntireHeadersAndBody/>
|
||||
</wsp:Policy>
|
||||
</sp:AsymmetricBinding>
|
||||
<sp:Wss10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportRefKeyIdentifier/>
|
||||
<sp:MustSupportRefIssuerSerial/>
|
||||
</wsp:Policy>
|
||||
</sp:Wss10>
|
||||
<sp:SignedParts
|
||||
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<sp:Body/>
|
||||
</sp:SignedParts>
|
||||
<sp:EncryptedParts
|
||||
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<sp:Body/>
|
||||
</sp:EncryptedParts>
|
||||
</wsp:Policy>
|
||||
</sp:BootstrapPolicy>
|
||||
</wsp:Policy>
|
||||
</sp:SecureConversationToken>
|
||||
</wsp:Policy>
|
||||
</sp:ProtectionToken>
|
||||
<sp:AlgorithmSuite>
|
||||
<wsp:Policy>
|
||||
<sp:Basic256/>
|
||||
</wsp:Policy>
|
||||
</sp:AlgorithmSuite>
|
||||
<sp:Layout>
|
||||
<wsp:Policy>
|
||||
<sp:Lax/>
|
||||
</wsp:Policy>
|
||||
</sp:Layout>
|
||||
<sp:IncludeTimestamp/>
|
||||
<sp:OnlySignEntireHeadersAndBody/>
|
||||
</wsp:Policy>
|
||||
</sp:SymmetricBinding>
|
||||
<sp:SignedParts>
|
||||
<sp:Body/>
|
||||
</sp:SignedParts>
|
||||
<sp:EncryptedParts>
|
||||
<sp:Body/>
|
||||
</sp:EncryptedParts>
|
||||
<sp:Wss11>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportRefKeyIdentifier/>
|
||||
<sp:MustSupportRefIssuerSerial/>
|
||||
<sp:MustSupportRefThumbprint/>
|
||||
<sp:MustSupportRefEncryptedKey/>
|
||||
</wsp:Policy>
|
||||
</sp:Wss11>
|
||||
<sp:Trust10>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportIssuedTokens/>
|
||||
<sp:RequireClientEntropy/>
|
||||
<sp:RequireServerEntropy/>
|
||||
</wsp:Policy>
|
||||
</sp:Trust10>
|
||||
</wsp:All>
|
||||
</wsp:ExactlyOne>
|
||||
</wsp:Policy>
|
||||
|
@ -0,0 +1,123 @@
|
||||
<!--
|
||||
~ Copyright 2005-2007 WSO2, Inc. (http://wso2.com)
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<wsp:Policy wsu:Id="SecConSignOnlyAnonymous"
|
||||
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
|
||||
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
|
||||
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
|
||||
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:ExactlyOne>
|
||||
<wsp:All>
|
||||
<sp:SymmetricBinding>
|
||||
<wsp:Policy>
|
||||
<sp:ProtectionToken>
|
||||
<wsp:Policy>
|
||||
<sp:SecureConversationToken
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
|
||||
<wsp:Policy>
|
||||
<sp:BootstrapPolicy>
|
||||
<wsp:Policy>
|
||||
<sp:SymmetricBinding>
|
||||
<wsp:Policy>
|
||||
<sp:ProtectionToken>
|
||||
<wsp:Policy>
|
||||
<sp:X509Token
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
|
||||
<wsp:Policy>
|
||||
<sp:RequireThumbprintReference/>
|
||||
<sp:WssX509V3Token10/>
|
||||
</wsp:Policy>
|
||||
</sp:X509Token>
|
||||
</wsp:Policy>
|
||||
</sp:ProtectionToken>
|
||||
<sp:AlgorithmSuite>
|
||||
<wsp:Policy>
|
||||
<sp:Basic256/>
|
||||
</wsp:Policy>
|
||||
</sp:AlgorithmSuite>
|
||||
<sp:Layout>
|
||||
<wsp:Policy>
|
||||
<sp:Lax/>
|
||||
</wsp:Policy>
|
||||
</sp:Layout>
|
||||
<sp:IncludeTimestamp/>
|
||||
<sp:OnlySignEntireHeadersAndBody/>
|
||||
</wsp:Policy>
|
||||
</sp:SymmetricBinding>
|
||||
<sp:SignedParts>
|
||||
<sp:Body/>
|
||||
</sp:SignedParts>
|
||||
<sp:EncryptedParts>
|
||||
<sp:Body/>
|
||||
</sp:EncryptedParts>
|
||||
<sp:Wss11>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportRefKeyIdentifier/>
|
||||
<sp:MustSupportRefIssuerSerial/>
|
||||
<sp:MustSupportRefThumbprint/>
|
||||
<sp:MustSupportRefEncryptedKey/>
|
||||
<sp:RequireSignatureConfirmation/>
|
||||
</wsp:Policy>
|
||||
</sp:Wss11>
|
||||
<sp:Trust10>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportIssuedTokens/>
|
||||
<sp:RequireClientEntropy/>
|
||||
<sp:RequireServerEntropy/>
|
||||
</wsp:Policy>
|
||||
</sp:Trust10>
|
||||
</wsp:Policy>
|
||||
</sp:BootstrapPolicy>
|
||||
</wsp:Policy>
|
||||
</sp:SecureConversationToken>
|
||||
</wsp:Policy>
|
||||
</sp:ProtectionToken>
|
||||
<sp:AlgorithmSuite>
|
||||
<wsp:Policy>
|
||||
<sp:Basic256/>
|
||||
</wsp:Policy>
|
||||
</sp:AlgorithmSuite>
|
||||
<sp:Layout>
|
||||
<wsp:Policy>
|
||||
<sp:Lax/>
|
||||
</wsp:Policy>
|
||||
</sp:Layout>
|
||||
<sp:IncludeTimestamp/>
|
||||
<sp:OnlySignEntireHeadersAndBody/>
|
||||
</wsp:Policy>
|
||||
</sp:SymmetricBinding>
|
||||
<sp:SignedParts>
|
||||
<sp:Body/>
|
||||
</sp:SignedParts>
|
||||
<sp:Wss11>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportRefKeyIdentifier/>
|
||||
<sp:MustSupportRefIssuerSerial/>
|
||||
<sp:MustSupportRefThumbprint/>
|
||||
<sp:MustSupportRefEncryptedKey/>
|
||||
</wsp:Policy>
|
||||
</sp:Wss11>
|
||||
<sp:Trust10>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportIssuedTokens/>
|
||||
<sp:RequireClientEntropy/>
|
||||
<sp:RequireServerEntropy/>
|
||||
</wsp:Policy>
|
||||
</sp:Trust10>
|
||||
</wsp:All>
|
||||
</wsp:ExactlyOne>
|
||||
</wsp:Policy>
|
||||
|
@ -0,0 +1,126 @@
|
||||
<!--
|
||||
~ Copyright 2005-2007 WSO2, Inc. (http://wso2.com)
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<wsp:Policy wsu:Id="SecConEncrOnlyAnonymous"
|
||||
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
|
||||
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
|
||||
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
|
||||
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:ExactlyOne>
|
||||
<wsp:All>
|
||||
<sp:SymmetricBinding>
|
||||
<wsp:Policy>
|
||||
<sp:ProtectionToken>
|
||||
<wsp:Policy>
|
||||
<sp:SecureConversationToken
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
|
||||
<wsp:Policy>
|
||||
<sp:BootstrapPolicy>
|
||||
<wsp:Policy>
|
||||
<sp:SymmetricBinding>
|
||||
<wsp:Policy>
|
||||
<sp:ProtectionToken>
|
||||
<wsp:Policy>
|
||||
<sp:X509Token
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
|
||||
<wsp:Policy>
|
||||
<sp:RequireThumbprintReference/>
|
||||
<sp:WssX509V3Token10/>
|
||||
</wsp:Policy>
|
||||
</sp:X509Token>
|
||||
</wsp:Policy>
|
||||
</sp:ProtectionToken>
|
||||
<sp:AlgorithmSuite>
|
||||
<wsp:Policy>
|
||||
<sp:Basic256/>
|
||||
</wsp:Policy>
|
||||
</sp:AlgorithmSuite>
|
||||
<sp:Layout>
|
||||
<wsp:Policy>
|
||||
<sp:Lax/>
|
||||
</wsp:Policy>
|
||||
</sp:Layout>
|
||||
<sp:IncludeTimestamp/>
|
||||
<sp:OnlySignEntireHeadersAndBody/>
|
||||
</wsp:Policy>
|
||||
</sp:SymmetricBinding>
|
||||
<sp:SignedParts>
|
||||
<sp:Body/>
|
||||
</sp:SignedParts>
|
||||
<sp:EncryptedParts>
|
||||
<sp:Body/>
|
||||
</sp:EncryptedParts>
|
||||
<sp:Wss11>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportRefKeyIdentifier/>
|
||||
<sp:MustSupportRefIssuerSerial/>
|
||||
<sp:MustSupportRefThumbprint/>
|
||||
<sp:MustSupportRefEncryptedKey/>
|
||||
<sp:RequireSignatureConfirmation/>
|
||||
</wsp:Policy>
|
||||
</sp:Wss11>
|
||||
<sp:Trust10>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportIssuedTokens/>
|
||||
<sp:RequireClientEntropy/>
|
||||
<sp:RequireServerEntropy/>
|
||||
</wsp:Policy>
|
||||
</sp:Trust10>
|
||||
</wsp:Policy>
|
||||
</sp:BootstrapPolicy>
|
||||
</wsp:Policy>
|
||||
</sp:SecureConversationToken>
|
||||
</wsp:Policy>
|
||||
</sp:ProtectionToken>
|
||||
<sp:AlgorithmSuite>
|
||||
<wsp:Policy>
|
||||
<sp:Basic256/>
|
||||
</wsp:Policy>
|
||||
</sp:AlgorithmSuite>
|
||||
<sp:Layout>
|
||||
<wsp:Policy>
|
||||
<sp:Lax/>
|
||||
</wsp:Policy>
|
||||
</sp:Layout>
|
||||
<sp:IncludeTimestamp/>
|
||||
<sp:OnlySignEntireHeadersAndBody/>
|
||||
</wsp:Policy>
|
||||
</sp:SymmetricBinding>
|
||||
<sp:SignedParts>
|
||||
<sp:Body/>
|
||||
</sp:SignedParts>
|
||||
<sp:EncryptedParts>
|
||||
<sp:Body/>
|
||||
</sp:EncryptedParts>
|
||||
<sp:Wss11>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportRefKeyIdentifier/>
|
||||
<sp:MustSupportRefIssuerSerial/>
|
||||
<sp:MustSupportRefThumbprint/>
|
||||
<sp:MustSupportRefEncryptedKey/>
|
||||
</wsp:Policy>
|
||||
</sp:Wss11>
|
||||
<sp:Trust10>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportIssuedTokens/>
|
||||
<sp:RequireClientEntropy/>
|
||||
<sp:RequireServerEntropy/>
|
||||
</wsp:Policy>
|
||||
</sp:Trust10>
|
||||
</wsp:All>
|
||||
</wsp:ExactlyOne>
|
||||
</wsp:Policy>
|
||||
|
@ -0,0 +1,133 @@
|
||||
<!--
|
||||
~ Copyright 2005-2007 WSO2, Inc. (http://wso2.com)
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<wsp:Policy wsu:Id="SecConEncrUsername"
|
||||
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
|
||||
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
|
||||
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
|
||||
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:ExactlyOne>
|
||||
<wsp:All>
|
||||
<sp:SymmetricBinding>
|
||||
<wsp:Policy>
|
||||
<sp:ProtectionToken>
|
||||
<wsp:Policy>
|
||||
<sp:SecureConversationToken
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
|
||||
<wsp:Policy>
|
||||
<sp:BootstrapPolicy>
|
||||
<wsp:Policy>
|
||||
<sp:SymmetricBinding>
|
||||
<wsp:Policy>
|
||||
<sp:ProtectionToken>
|
||||
<wsp:Policy>
|
||||
<sp:X509Token
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
|
||||
<wsp:Policy>
|
||||
<sp:RequireThumbprintReference/>
|
||||
<sp:WssX509V3Token10/>
|
||||
</wsp:Policy>
|
||||
</sp:X509Token>
|
||||
</wsp:Policy>
|
||||
</sp:ProtectionToken>
|
||||
<sp:AlgorithmSuite>
|
||||
<wsp:Policy>
|
||||
<sp:Basic256/>
|
||||
</wsp:Policy>
|
||||
</sp:AlgorithmSuite>
|
||||
<sp:Layout>
|
||||
<wsp:Policy>
|
||||
<sp:Lax/>
|
||||
</wsp:Policy>
|
||||
</sp:Layout>
|
||||
<sp:IncludeTimestamp/>
|
||||
<sp:OnlySignEntireHeadersAndBody/>
|
||||
</wsp:Policy>
|
||||
</sp:SymmetricBinding>
|
||||
<sp:SignedParts>
|
||||
<sp:Body/>
|
||||
</sp:SignedParts>
|
||||
<sp:EncryptedParts>
|
||||
<sp:Body/>
|
||||
</sp:EncryptedParts>
|
||||
<sp:SignedSupportingTokens>
|
||||
<wsp:Policy>
|
||||
<sp:UsernameToken
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
|
||||
<wsp:Policy>
|
||||
<sp:WssUsernameToken10/>
|
||||
</wsp:Policy>
|
||||
</sp:UsernameToken>
|
||||
</wsp:Policy>
|
||||
</sp:SignedSupportingTokens>
|
||||
<sp:Wss11>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportRefKeyIdentifier/>
|
||||
<sp:MustSupportRefIssuerSerial/>
|
||||
<sp:MustSupportRefThumbprint/>
|
||||
<sp:MustSupportRefEncryptedKey/>
|
||||
<sp:RequireSignatureConfirmation/>
|
||||
</wsp:Policy>
|
||||
</sp:Wss11>
|
||||
<sp:Trust10>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportIssuedTokens/>
|
||||
<sp:RequireClientEntropy/>
|
||||
<sp:RequireServerEntropy/>
|
||||
</wsp:Policy>
|
||||
</sp:Trust10>
|
||||
</wsp:Policy>
|
||||
</sp:BootstrapPolicy>
|
||||
</wsp:Policy>
|
||||
</sp:SecureConversationToken>
|
||||
</wsp:Policy>
|
||||
</sp:ProtectionToken>
|
||||
<sp:AlgorithmSuite>
|
||||
<wsp:Policy>
|
||||
<sp:Basic256/>
|
||||
</wsp:Policy>
|
||||
</sp:AlgorithmSuite>
|
||||
<sp:Layout>
|
||||
<wsp:Policy>
|
||||
<sp:Lax/>
|
||||
</wsp:Policy>
|
||||
</sp:Layout>
|
||||
<sp:IncludeTimestamp/>
|
||||
<sp:OnlySignEntireHeadersAndBody/>
|
||||
</wsp:Policy>
|
||||
</sp:SymmetricBinding>
|
||||
<sp:EncryptedParts>
|
||||
<sp:Body/>
|
||||
</sp:EncryptedParts>
|
||||
<sp:Wss11>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportRefKeyIdentifier/>
|
||||
<sp:MustSupportRefIssuerSerial/>
|
||||
<sp:MustSupportRefThumbprint/>
|
||||
<sp:MustSupportRefEncryptedKey/>
|
||||
</wsp:Policy>
|
||||
</sp:Wss11>
|
||||
<sp:Trust10>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportIssuedTokens/>
|
||||
<sp:RequireClientEntropy/>
|
||||
<sp:RequireServerEntropy/>
|
||||
</wsp:Policy>
|
||||
</sp:Trust10>
|
||||
</wsp:All>
|
||||
</wsp:ExactlyOne>
|
||||
</wsp:Policy>
|
||||
|
@ -0,0 +1,136 @@
|
||||
<!--
|
||||
~ Copyright 2005-2007 WSO2, Inc. (http://wso2.com)
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<wsp:Policy wsu:Id="SecConSgnEncrUsername"
|
||||
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
|
||||
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
|
||||
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
|
||||
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:ExactlyOne>
|
||||
<wsp:All>
|
||||
<sp:SymmetricBinding>
|
||||
<wsp:Policy>
|
||||
<sp:ProtectionToken>
|
||||
<wsp:Policy>
|
||||
<sp:SecureConversationToken
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
|
||||
<wsp:Policy>
|
||||
<sp:BootstrapPolicy>
|
||||
<wsp:Policy>
|
||||
<sp:SymmetricBinding>
|
||||
<wsp:Policy>
|
||||
<sp:ProtectionToken>
|
||||
<wsp:Policy>
|
||||
<sp:X509Token
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
|
||||
<wsp:Policy>
|
||||
<sp:RequireThumbprintReference/>
|
||||
<sp:WssX509V3Token10/>
|
||||
</wsp:Policy>
|
||||
</sp:X509Token>
|
||||
</wsp:Policy>
|
||||
</sp:ProtectionToken>
|
||||
<sp:AlgorithmSuite>
|
||||
<wsp:Policy>
|
||||
<sp:Basic256/>
|
||||
</wsp:Policy>
|
||||
</sp:AlgorithmSuite>
|
||||
<sp:Layout>
|
||||
<wsp:Policy>
|
||||
<sp:Lax/>
|
||||
</wsp:Policy>
|
||||
</sp:Layout>
|
||||
<sp:IncludeTimestamp/>
|
||||
<sp:OnlySignEntireHeadersAndBody/>
|
||||
</wsp:Policy>
|
||||
</sp:SymmetricBinding>
|
||||
<sp:SignedParts>
|
||||
<sp:Body/>
|
||||
</sp:SignedParts>
|
||||
<sp:EncryptedParts>
|
||||
<sp:Body/>
|
||||
</sp:EncryptedParts>
|
||||
<sp:SignedSupportingTokens>
|
||||
<wsp:Policy>
|
||||
<sp:UsernameToken
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
|
||||
<wsp:Policy>
|
||||
<sp:WssUsernameToken10/>
|
||||
</wsp:Policy>
|
||||
</sp:UsernameToken>
|
||||
</wsp:Policy>
|
||||
</sp:SignedSupportingTokens>
|
||||
<sp:Wss11>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportRefKeyIdentifier/>
|
||||
<sp:MustSupportRefIssuerSerial/>
|
||||
<sp:MustSupportRefThumbprint/>
|
||||
<sp:MustSupportRefEncryptedKey/>
|
||||
<sp:RequireSignatureConfirmation/>
|
||||
</wsp:Policy>
|
||||
</sp:Wss11>
|
||||
<sp:Trust10>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportIssuedTokens/>
|
||||
<sp:RequireClientEntropy/>
|
||||
<sp:RequireServerEntropy/>
|
||||
</wsp:Policy>
|
||||
</sp:Trust10>
|
||||
</wsp:Policy>
|
||||
</sp:BootstrapPolicy>
|
||||
</wsp:Policy>
|
||||
</sp:SecureConversationToken>
|
||||
</wsp:Policy>
|
||||
</sp:ProtectionToken>
|
||||
<sp:AlgorithmSuite>
|
||||
<wsp:Policy>
|
||||
<sp:Basic256/>
|
||||
</wsp:Policy>
|
||||
</sp:AlgorithmSuite>
|
||||
<sp:Layout>
|
||||
<wsp:Policy>
|
||||
<sp:Lax/>
|
||||
</wsp:Policy>
|
||||
</sp:Layout>
|
||||
<sp:IncludeTimestamp/>
|
||||
<sp:OnlySignEntireHeadersAndBody/>
|
||||
</wsp:Policy>
|
||||
</sp:SymmetricBinding>
|
||||
<sp:SignedParts>
|
||||
<sp:Body/>
|
||||
</sp:SignedParts>
|
||||
<sp:EncryptedParts>
|
||||
<sp:Body/>
|
||||
</sp:EncryptedParts>
|
||||
<sp:Wss11>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportRefKeyIdentifier/>
|
||||
<sp:MustSupportRefIssuerSerial/>
|
||||
<sp:MustSupportRefThumbprint/>
|
||||
<sp:MustSupportRefEncryptedKey/>
|
||||
</wsp:Policy>
|
||||
</sp:Wss11>
|
||||
<sp:Trust10>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportIssuedTokens/>
|
||||
<sp:RequireClientEntropy/>
|
||||
<sp:RequireServerEntropy/>
|
||||
</wsp:Policy>
|
||||
</sp:Trust10>
|
||||
</wsp:All>
|
||||
</wsp:ExactlyOne>
|
||||
</wsp:Policy>
|
||||
|
@ -0,0 +1,87 @@
|
||||
<!--
|
||||
~ Copyright 2005-2007 WSO2, Inc. (http://wso2.com)
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<wsp:Policy wsu:Id="IssuedTokenOverTransport_UsernameOverTransport_policy"
|
||||
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
|
||||
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
|
||||
<wsp:ExactlyOne>
|
||||
<wsp:All>
|
||||
<sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:Policy>
|
||||
<sp:TransportToken>
|
||||
<wsp:Policy>
|
||||
<sp:HttpsToken RequireClientCertificate="false"/>
|
||||
</wsp:Policy>
|
||||
</sp:TransportToken>
|
||||
<sp:AlgorithmSuite>
|
||||
<wsp:Policy>
|
||||
<sp:Basic256/>
|
||||
</wsp:Policy>
|
||||
</sp:AlgorithmSuite>
|
||||
<sp:Layout>
|
||||
<wsp:Policy>
|
||||
<sp:Lax/>
|
||||
</wsp:Policy>
|
||||
</sp:Layout>
|
||||
<sp:IncludeTimestamp/>
|
||||
</wsp:Policy>
|
||||
</sp:TransportBinding>
|
||||
<sp:EndorsingSupportingTokens
|
||||
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:Policy>
|
||||
<sp:IssuedToken
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
|
||||
<Issuer xmlns="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<Address xmlns="http://www.w3.org/2005/08/addressing">
|
||||
https://kirillgdev04/Security_Federation_SecurityTokenService_Indigo/Symmetric.svc/Scenario_1_IssuedTokenOverTransport_UsernameOverTransport
|
||||
</Address>
|
||||
</Issuer>
|
||||
<sp:RequestSecurityTokenTemplate>
|
||||
<t:TokenType xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust">
|
||||
urn:oasis:names:tc:SAML:1.0:assertion
|
||||
</t:TokenType>
|
||||
<t:KeyType xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust">
|
||||
http://schemas.xmlsoap.org/ws/2005/02/trust/SymmetricKey
|
||||
</t:KeyType>
|
||||
<t:KeySize xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust">
|
||||
256
|
||||
</t:KeySize>
|
||||
</sp:RequestSecurityTokenTemplate>
|
||||
<wsp:Policy>
|
||||
<sp:RequireInternalReference/>
|
||||
</wsp:Policy>
|
||||
</sp:IssuedToken>
|
||||
<sp:SignedParts>
|
||||
<sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing"/>
|
||||
</sp:SignedParts>
|
||||
</wsp:Policy>
|
||||
</sp:EndorsingSupportingTokens>
|
||||
<sp:Wss10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportRefKeyIdentifier/>
|
||||
<sp:MustSupportRefIssuerSerial/>
|
||||
</wsp:Policy>
|
||||
</sp:Wss10>
|
||||
<sp:Trust10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportIssuedTokens/>
|
||||
<sp:RequireClientEntropy/>
|
||||
<sp:RequireServerEntropy/>
|
||||
</wsp:Policy>
|
||||
</sp:Trust10>
|
||||
</wsp:All>
|
||||
</wsp:ExactlyOne>
|
||||
</wsp:Policy>
|
@ -0,0 +1,93 @@
|
||||
<!--
|
||||
~ Copyright 2005-2007 WSO2, Inc. (http://wso2.com)
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<wsp:Policy wsu:Id="IssuedToken_SigEncr"
|
||||
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
|
||||
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
|
||||
<wsp:ExactlyOne>
|
||||
<wsp:All>
|
||||
<sp:SymmetricBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:Policy>
|
||||
<sp:ProtectionToken>
|
||||
<wsp:Policy>
|
||||
<sp:IssuedToken
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
|
||||
<Issuer xmlns="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<Address xmlns="http://www.w3.org/2005/08/addressing">
|
||||
http://foo.bar/we/don/t/process/this/yet
|
||||
</Address>
|
||||
</Issuer>
|
||||
<sp:RequestSecurityTokenTemplate>
|
||||
<t:TokenType xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust">
|
||||
urn:oasis:names:tc:SAML:1.0:assertion
|
||||
</t:TokenType>
|
||||
<t:KeyType xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust">
|
||||
http://schemas.xmlsoap.org/ws/2005/02/trust/SymmetricKey
|
||||
</t:KeyType>
|
||||
<t:KeySize xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust">256</t:KeySize>
|
||||
</sp:RequestSecurityTokenTemplate>
|
||||
<wsp:Policy>
|
||||
<sp:RequireInternalReference/>
|
||||
</wsp:Policy>
|
||||
</sp:IssuedToken>
|
||||
</wsp:Policy>
|
||||
</sp:ProtectionToken>
|
||||
<sp:AlgorithmSuite>
|
||||
<wsp:Policy>
|
||||
<sp:Basic256/>
|
||||
</wsp:Policy>
|
||||
</sp:AlgorithmSuite>
|
||||
<sp:Layout>
|
||||
<wsp:Policy>
|
||||
<sp:Strict/>
|
||||
</wsp:Policy>
|
||||
</sp:Layout>
|
||||
<sp:IncludeTimestamp/>
|
||||
<sp:EncryptSignature/>
|
||||
<sp:OnlySignEntireHeadersAndBody/>
|
||||
</wsp:Policy>
|
||||
</sp:SymmetricBinding>
|
||||
<sp:Wss11 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportRefKeyIdentifier/>
|
||||
<sp:MustSupportRefIssuerSerial/>
|
||||
<sp:MustSupportRefThumbprint/>
|
||||
<sp:MustSupportRefEncryptedKey/>
|
||||
</wsp:Policy>
|
||||
</sp:Wss11>
|
||||
<sp:Trust10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportIssuedTokens/>
|
||||
<sp:RequireClientEntropy/>
|
||||
<sp:RequireServerEntropy/>
|
||||
</wsp:Policy>
|
||||
</sp:Trust10>
|
||||
<sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<sp:Body/>
|
||||
<sp:Header Name="To" Namespace="http://www.w3.org/2005/08/addressing"/>
|
||||
<sp:Header Name="From" Namespace="http://www.w3.org/2005/08/addressing"/>
|
||||
<sp:Header Name="FaultTo" Namespace="http://www.w3.org/2005/08/addressing"/>
|
||||
<sp:Header Name="ReplyTo" Namespace="http://www.w3.org/2005/08/addressing"/>
|
||||
<sp:Header Name="MessageID" Namespace="http://www.w3.org/2005/08/addressing"/>
|
||||
<sp:Header Name="RelatesTo" Namespace="http://www.w3.org/2005/08/addressing"/>
|
||||
<sp:Header Name="Action" Namespace="http://www.w3.org/2005/08/addressing"/>
|
||||
</sp:SignedParts>
|
||||
<sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<sp:Body/>
|
||||
</sp:EncryptedParts>
|
||||
</wsp:All>
|
||||
</wsp:ExactlyOne>
|
||||
</wsp:Policy>
|
@ -0,0 +1,74 @@
|
||||
<!--
|
||||
~ Copyright 2005-2007 WSO2, Inc. (http://wso2.com)
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<wsp:Policy wsu:Id="SigOnly"
|
||||
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
|
||||
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
|
||||
<wsp:ExactlyOne>
|
||||
<wsp:All>
|
||||
<sp:AsymmetricBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:Policy>
|
||||
<sp:InitiatorToken>
|
||||
<wsp:Policy>
|
||||
<sp:X509Token
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
|
||||
<wsp:Policy>
|
||||
<sp:RequireThumbprintReference/>
|
||||
<sp:WssX509V3Token10/>
|
||||
<!-- sp:WssX509V3Token10/ -->
|
||||
</wsp:Policy>
|
||||
</sp:X509Token>
|
||||
</wsp:Policy>
|
||||
</sp:InitiatorToken>
|
||||
<sp:RecipientToken>
|
||||
<wsp:Policy>
|
||||
<sp:X509Token
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
|
||||
<wsp:Policy>
|
||||
<sp:RequireThumbprintReference/>
|
||||
<sp:WssX509V3Token10/>
|
||||
<!-- sp:WssX509V3Token10/ -->
|
||||
</wsp:Policy>
|
||||
</sp:X509Token>
|
||||
</wsp:Policy>
|
||||
</sp:RecipientToken>
|
||||
<sp:AlgorithmSuite>
|
||||
<wsp:Policy>
|
||||
<sp:Basic256/>
|
||||
</wsp:Policy>
|
||||
</sp:AlgorithmSuite>
|
||||
<sp:Layout>
|
||||
<wsp:Policy>
|
||||
<sp:Strict/>
|
||||
</wsp:Policy>
|
||||
</sp:Layout>
|
||||
<sp:IncludeTimestamp/>
|
||||
<sp:OnlySignEntireHeadersAndBody/>
|
||||
</wsp:Policy>
|
||||
|
||||
</sp:AsymmetricBinding>
|
||||
<sp:Wss10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportRefKeyIdentifier/>
|
||||
<sp:MustSupportRefIssuerSerial/>
|
||||
</wsp:Policy>
|
||||
</sp:Wss10>
|
||||
<sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<sp:Body/>
|
||||
</sp:SignedParts>
|
||||
</wsp:All>
|
||||
</wsp:ExactlyOne>
|
||||
</wsp:Policy>
|
@ -0,0 +1,72 @@
|
||||
<!--
|
||||
~ Copyright 2005-2007 WSO2, Inc. (http://wso2.com)
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<wsp:Policy wsu:Id="SgnOnlyAnonymous"
|
||||
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
|
||||
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
|
||||
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
|
||||
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:ExactlyOne>
|
||||
<wsp:All>
|
||||
<sp:SymmetricBinding>
|
||||
<wsp:Policy>
|
||||
<sp:ProtectionToken>
|
||||
<wsp:Policy>
|
||||
<sp:X509Token
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
|
||||
<wsp:Policy>
|
||||
<sp:RequireThumbprintReference/>
|
||||
<sp:WssX509V3Token10/>
|
||||
</wsp:Policy>
|
||||
</sp:X509Token>
|
||||
</wsp:Policy>
|
||||
</sp:ProtectionToken>
|
||||
<sp:AlgorithmSuite>
|
||||
<wsp:Policy>
|
||||
<sp:Basic256/>
|
||||
</wsp:Policy>
|
||||
</sp:AlgorithmSuite>
|
||||
<sp:Layout>
|
||||
<wsp:Policy>
|
||||
<sp:Lax/>
|
||||
</wsp:Policy>
|
||||
</sp:Layout>
|
||||
<sp:IncludeTimestamp/>
|
||||
<sp:OnlySignEntireHeadersAndBody/>
|
||||
</wsp:Policy>
|
||||
</sp:SymmetricBinding>
|
||||
<sp:SignedParts>
|
||||
<sp:Body/>
|
||||
</sp:SignedParts>
|
||||
<sp:Wss11>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportRefKeyIdentifier/>
|
||||
<sp:MustSupportRefIssuerSerial/>
|
||||
<sp:MustSupportRefThumbprint/>
|
||||
<sp:MustSupportRefEncryptedKey/>
|
||||
<sp:RequireSignatureConfirmation/>
|
||||
</wsp:Policy>
|
||||
</sp:Wss11>
|
||||
<sp:Trust10>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportIssuedTokens/>
|
||||
<sp:RequireClientEntropy/>
|
||||
<sp:RequireServerEntropy/>
|
||||
</wsp:Policy>
|
||||
</sp:Trust10>
|
||||
</wsp:All>
|
||||
</wsp:ExactlyOne>
|
||||
</wsp:Policy>
|
@ -0,0 +1,72 @@
|
||||
<!--
|
||||
~ Copyright 2005-2007 WSO2, Inc. (http://wso2.com)
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<wsp:Policy wsu:Id="EncrOnlyAnonymous"
|
||||
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
|
||||
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
|
||||
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
|
||||
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:ExactlyOne>
|
||||
<wsp:All>
|
||||
<sp:SymmetricBinding>
|
||||
<wsp:Policy>
|
||||
<sp:ProtectionToken>
|
||||
<wsp:Policy>
|
||||
<sp:X509Token
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
|
||||
<wsp:Policy>
|
||||
<sp:RequireThumbprintReference/>
|
||||
<sp:WssX509V3Token10/>
|
||||
</wsp:Policy>
|
||||
</sp:X509Token>
|
||||
</wsp:Policy>
|
||||
</sp:ProtectionToken>
|
||||
<sp:AlgorithmSuite>
|
||||
<wsp:Policy>
|
||||
<sp:Basic256/>
|
||||
</wsp:Policy>
|
||||
</sp:AlgorithmSuite>
|
||||
<sp:Layout>
|
||||
<wsp:Policy>
|
||||
<sp:Lax/>
|
||||
</wsp:Policy>
|
||||
</sp:Layout>
|
||||
<sp:IncludeTimestamp/>
|
||||
<sp:OnlySignEntireHeadersAndBody/>
|
||||
</wsp:Policy>
|
||||
</sp:SymmetricBinding>
|
||||
<sp:EncryptedParts>
|
||||
<sp:Body/>
|
||||
</sp:EncryptedParts>
|
||||
<sp:Wss11>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportRefKeyIdentifier/>
|
||||
<sp:MustSupportRefIssuerSerial/>
|
||||
<sp:MustSupportRefThumbprint/>
|
||||
<sp:MustSupportRefEncryptedKey/>
|
||||
<sp:RequireSignatureConfirmation/>
|
||||
</wsp:Policy>
|
||||
</sp:Wss11>
|
||||
<sp:Trust10>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportIssuedTokens/>
|
||||
<sp:RequireClientEntropy/>
|
||||
<sp:RequireServerEntropy/>
|
||||
</wsp:Policy>
|
||||
</sp:Trust10>
|
||||
</wsp:All>
|
||||
</wsp:ExactlyOne>
|
||||
</wsp:Policy>
|
@ -0,0 +1,82 @@
|
||||
<!--
|
||||
~ Copyright 2005-2007 WSO2, Inc. (http://wso2.com)
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<wsp:Policy wsu:Id="SigEncr"
|
||||
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
|
||||
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">
|
||||
<wsp:ExactlyOne>
|
||||
<wsp:All>
|
||||
<sp:AsymmetricBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:Policy>
|
||||
<sp:InitiatorToken>
|
||||
<wsp:Policy>
|
||||
<sp:X509Token
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
|
||||
<wsp:Policy>
|
||||
<sp:RequireThumbprintReference/>
|
||||
</wsp:Policy>
|
||||
</sp:X509Token>
|
||||
</wsp:Policy>
|
||||
</sp:InitiatorToken>
|
||||
<sp:RecipientToken>
|
||||
<wsp:Policy>
|
||||
<sp:X509Token
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
|
||||
<wsp:Policy>
|
||||
<sp:RequireThumbprintReference/>
|
||||
</wsp:Policy>
|
||||
</sp:X509Token>
|
||||
</wsp:Policy>
|
||||
</sp:RecipientToken>
|
||||
<sp:AlgorithmSuite>
|
||||
<wsp:Policy>
|
||||
<sp:Basic256/>
|
||||
</wsp:Policy>
|
||||
</sp:AlgorithmSuite>
|
||||
<sp:Layout>
|
||||
<wsp:Policy>
|
||||
<sp:Strict/>
|
||||
</wsp:Policy>
|
||||
</sp:Layout>
|
||||
<sp:IncludeTimestamp/>
|
||||
<sp:OnlySignEntireHeadersAndBody/>
|
||||
</wsp:Policy>
|
||||
</sp:AsymmetricBinding>
|
||||
<sp:Wss11 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportRefKeyIdentifier/>
|
||||
<sp:MustSupportRefIssuerSerial/>
|
||||
<sp:MustSupportRefThumbprint/>
|
||||
<sp:MustSupportRefEncryptedKey/>
|
||||
<sp:RequireSignatureConfirmation/>
|
||||
</wsp:Policy>
|
||||
</sp:Wss11>
|
||||
<sp:Wss10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportRefKeyIdentifier/>
|
||||
<sp:MustSupportRefIssuerSerial/>
|
||||
</wsp:Policy>
|
||||
</sp:Wss10>
|
||||
<sp:SignedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<sp:Body/>
|
||||
</sp:SignedParts>
|
||||
<sp:EncryptedParts xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<sp:Body/>
|
||||
</sp:EncryptedParts>
|
||||
</wsp:All>
|
||||
</wsp:ExactlyOne>
|
||||
</wsp:Policy>
|
||||
|
@ -0,0 +1,75 @@
|
||||
<!--
|
||||
~ Copyright 2005-2007 WSO2, Inc. (http://wso2.com)
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<wsp:Policy wsu:Id="SgnEncrAnonymous"
|
||||
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
|
||||
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
|
||||
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
|
||||
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:ExactlyOne>
|
||||
<wsp:All>
|
||||
<sp:SymmetricBinding>
|
||||
<wsp:Policy>
|
||||
<sp:ProtectionToken>
|
||||
<wsp:Policy>
|
||||
<sp:X509Token
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
|
||||
<wsp:Policy>
|
||||
<sp:RequireThumbprintReference/>
|
||||
<sp:WssX509V3Token10/>
|
||||
</wsp:Policy>
|
||||
</sp:X509Token>
|
||||
</wsp:Policy>
|
||||
</sp:ProtectionToken>
|
||||
<sp:AlgorithmSuite>
|
||||
<wsp:Policy>
|
||||
<sp:Basic256/>
|
||||
</wsp:Policy>
|
||||
</sp:AlgorithmSuite>
|
||||
<sp:Layout>
|
||||
<wsp:Policy>
|
||||
<sp:Lax/>
|
||||
</wsp:Policy>
|
||||
</sp:Layout>
|
||||
<sp:IncludeTimestamp/>
|
||||
<sp:OnlySignEntireHeadersAndBody/>
|
||||
</wsp:Policy>
|
||||
</sp:SymmetricBinding>
|
||||
<sp:SignedParts>
|
||||
<sp:Body/>
|
||||
</sp:SignedParts>
|
||||
<sp:EncryptedParts>
|
||||
<sp:Body/>
|
||||
</sp:EncryptedParts>
|
||||
<sp:Wss11>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportRefKeyIdentifier/>
|
||||
<sp:MustSupportRefIssuerSerial/>
|
||||
<sp:MustSupportRefThumbprint/>
|
||||
<sp:MustSupportRefEncryptedKey/>
|
||||
<sp:RequireSignatureConfirmation/>
|
||||
</wsp:Policy>
|
||||
</sp:Wss11>
|
||||
<sp:Trust10>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportIssuedTokens/>
|
||||
<sp:RequireClientEntropy/>
|
||||
<sp:RequireServerEntropy/>
|
||||
</wsp:Policy>
|
||||
</sp:Trust10>
|
||||
</wsp:All>
|
||||
</wsp:ExactlyOne>
|
||||
</wsp:Policy>
|
@ -0,0 +1,82 @@
|
||||
<!--
|
||||
~ Copyright 2005-2007 WSO2, Inc. (http://wso2.com)
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<wsp:Policy wsu:Id="EncrOnlyUsername"
|
||||
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
|
||||
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
|
||||
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
|
||||
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:ExactlyOne>
|
||||
<wsp:All>
|
||||
<sp:SymmetricBinding>
|
||||
<wsp:Policy>
|
||||
<sp:ProtectionToken>
|
||||
<wsp:Policy>
|
||||
<sp:X509Token
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
|
||||
<wsp:Policy>
|
||||
<sp:RequireThumbprintReference/>
|
||||
<sp:WssX509V3Token10/>
|
||||
</wsp:Policy>
|
||||
</sp:X509Token>
|
||||
</wsp:Policy>
|
||||
</sp:ProtectionToken>
|
||||
<sp:AlgorithmSuite>
|
||||
<wsp:Policy>
|
||||
<sp:Basic256/>
|
||||
</wsp:Policy>
|
||||
</sp:AlgorithmSuite>
|
||||
<sp:Layout>
|
||||
<wsp:Policy>
|
||||
<sp:Lax/>
|
||||
</wsp:Policy>
|
||||
</sp:Layout>
|
||||
<sp:IncludeTimestamp/>
|
||||
<sp:OnlySignEntireHeadersAndBody/>
|
||||
</wsp:Policy>
|
||||
</sp:SymmetricBinding>
|
||||
<sp:EncryptedParts>
|
||||
<sp:Body/>
|
||||
</sp:EncryptedParts>
|
||||
<sp:SignedSupportingTokens>
|
||||
<wsp:Policy>
|
||||
<sp:UsernameToken
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
|
||||
<wsp:Policy>
|
||||
<sp:WssUsernameToken10/>
|
||||
</wsp:Policy>
|
||||
</sp:UsernameToken>
|
||||
</wsp:Policy>
|
||||
</sp:SignedSupportingTokens>
|
||||
<sp:Wss11>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportRefKeyIdentifier/>
|
||||
<sp:MustSupportRefIssuerSerial/>
|
||||
<sp:MustSupportRefThumbprint/>
|
||||
<sp:MustSupportRefEncryptedKey/>
|
||||
<sp:RequireSignatureConfirmation/>
|
||||
</wsp:Policy>
|
||||
</sp:Wss11>
|
||||
<sp:Trust10>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportIssuedTokens/>
|
||||
<sp:RequireClientEntropy/>
|
||||
<sp:RequireServerEntropy/>
|
||||
</wsp:Policy>
|
||||
</sp:Trust10>
|
||||
</wsp:All>
|
||||
</wsp:ExactlyOne>
|
||||
</wsp:Policy>
|
@ -0,0 +1,85 @@
|
||||
<!--
|
||||
~ Copyright 2005-2007 WSO2, Inc. (http://wso2.com)
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<wsp:Policy wsu:Id="SgnEncrUsername"
|
||||
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
|
||||
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
|
||||
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
|
||||
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:ExactlyOne>
|
||||
<wsp:All>
|
||||
<sp:SymmetricBinding>
|
||||
<wsp:Policy>
|
||||
<sp:ProtectionToken>
|
||||
<wsp:Policy>
|
||||
<sp:X509Token
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
|
||||
<wsp:Policy>
|
||||
<sp:RequireThumbprintReference/>
|
||||
<sp:WssX509V3Token10/>
|
||||
</wsp:Policy>
|
||||
</sp:X509Token>
|
||||
</wsp:Policy>
|
||||
</sp:ProtectionToken>
|
||||
<sp:AlgorithmSuite>
|
||||
<wsp:Policy>
|
||||
<sp:Basic256/>
|
||||
</wsp:Policy>
|
||||
</sp:AlgorithmSuite>
|
||||
<sp:Layout>
|
||||
<wsp:Policy>
|
||||
<sp:Lax/>
|
||||
</wsp:Policy>
|
||||
</sp:Layout>
|
||||
<sp:IncludeTimestamp/>
|
||||
<sp:OnlySignEntireHeadersAndBody/>
|
||||
</wsp:Policy>
|
||||
</sp:SymmetricBinding>
|
||||
<sp:SignedParts>
|
||||
<sp:Body/>
|
||||
</sp:SignedParts>
|
||||
<sp:EncryptedParts>
|
||||
<sp:Body/>
|
||||
</sp:EncryptedParts>
|
||||
<sp:SignedSupportingTokens>
|
||||
<wsp:Policy>
|
||||
<sp:UsernameToken
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
|
||||
<wsp:Policy>
|
||||
<sp:WssUsernameToken10/>
|
||||
</wsp:Policy>
|
||||
</sp:UsernameToken>
|
||||
</wsp:Policy>
|
||||
</sp:SignedSupportingTokens>
|
||||
<sp:Wss11>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportRefKeyIdentifier/>
|
||||
<sp:MustSupportRefIssuerSerial/>
|
||||
<sp:MustSupportRefThumbprint/>
|
||||
<sp:MustSupportRefEncryptedKey/>
|
||||
<sp:RequireSignatureConfirmation/>
|
||||
</wsp:Policy>
|
||||
</sp:Wss11>
|
||||
<sp:Trust10>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportIssuedTokens/>
|
||||
<sp:RequireClientEntropy/>
|
||||
<sp:RequireServerEntropy/>
|
||||
</wsp:Policy>
|
||||
</sp:Trust10>
|
||||
</wsp:All>
|
||||
</wsp:ExactlyOne>
|
||||
</wsp:Policy>
|
@ -0,0 +1,127 @@
|
||||
<!--
|
||||
~ Copyright 2005-2007 WSO2, Inc. (http://wso2.com)
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<wsp:Policy wsu:Id="SecConSignOnly"
|
||||
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
|
||||
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
|
||||
xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
|
||||
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:ExactlyOne>
|
||||
<wsp:All>
|
||||
<sp:SymmetricBinding>
|
||||
<wsp:Policy>
|
||||
<sp:ProtectionToken>
|
||||
<wsp:Policy>
|
||||
<sp:SecureConversationToken
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient">
|
||||
<wsp:Policy>
|
||||
<sp:BootstrapPolicy>
|
||||
<wsp:Policy>
|
||||
<sp:AsymmetricBinding
|
||||
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:Policy>
|
||||
<sp:InitiatorToken>
|
||||
<wsp:Policy>
|
||||
<sp:X509Token
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
|
||||
<wsp:Policy>
|
||||
<sp:RequireThumbprintReference/>
|
||||
<sp:WssX509V3Token10/>
|
||||
</wsp:Policy>
|
||||
</sp:X509Token>
|
||||
</wsp:Policy>
|
||||
</sp:InitiatorToken>
|
||||
<sp:RecipientToken>
|
||||
<wsp:Policy>
|
||||
<sp:X509Token
|
||||
sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
|
||||
<wsp:Policy>
|
||||
<sp:RequireThumbprintReference/>
|
||||
<sp:WssX509V3Token10/>
|
||||
</wsp:Policy>
|
||||
</sp:X509Token>
|
||||
</wsp:Policy>
|
||||
</sp:RecipientToken>
|
||||
<sp:AlgorithmSuite>
|
||||
<wsp:Policy>
|
||||
<sp:Basic256/>
|
||||
</wsp:Policy>
|
||||
</sp:AlgorithmSuite>
|
||||
<sp:Layout>
|
||||
<wsp:Policy>
|
||||
<sp:Strict/>
|
||||
</wsp:Policy>
|
||||
</sp:Layout>
|
||||
<sp:IncludeTimestamp/>
|
||||
<sp:OnlySignEntireHeadersAndBody/>
|
||||
</wsp:Policy>
|
||||
</sp:AsymmetricBinding>
|
||||
<sp:Wss10 xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportRefKeyIdentifier/>
|
||||
<sp:MustSupportRefIssuerSerial/>
|
||||
</wsp:Policy>
|
||||
</sp:Wss10>
|
||||
<sp:SignedParts
|
||||
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<sp:Body/>
|
||||
</sp:SignedParts>
|
||||
<sp:EncryptedParts
|
||||
xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
|
||||
<sp:Body/>
|
||||
</sp:EncryptedParts>
|
||||
</wsp:Policy>
|
||||
</sp:BootstrapPolicy>
|
||||
</wsp:Policy>
|
||||
</sp:SecureConversationToken>
|
||||
</wsp:Policy>
|
||||
</sp:ProtectionToken>
|
||||
<sp:AlgorithmSuite>
|
||||
<wsp:Policy>
|
||||
<sp:Basic256/>
|
||||
</wsp:Policy>
|
||||
</sp:AlgorithmSuite>
|
||||
<sp:Layout>
|
||||
<wsp:Policy>
|
||||
<sp:Lax/>
|
||||
</wsp:Policy>
|
||||
</sp:Layout>
|
||||
<sp:IncludeTimestamp/>
|
||||
<sp:OnlySignEntireHeadersAndBody/>
|
||||
</wsp:Policy>
|
||||
</sp:SymmetricBinding>
|
||||
<sp:SignedParts>
|
||||
<sp:Body/>
|
||||
</sp:SignedParts>
|
||||
<sp:Wss11>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportRefKeyIdentifier/>
|
||||
<sp:MustSupportRefIssuerSerial/>
|
||||
<sp:MustSupportRefThumbprint/>
|
||||
<sp:MustSupportRefEncryptedKey/>
|
||||
</wsp:Policy>
|
||||
</sp:Wss11>
|
||||
<sp:Trust10>
|
||||
<wsp:Policy>
|
||||
<sp:MustSupportIssuedTokens/>
|
||||
<sp:RequireClientEntropy/>
|
||||
<sp:RequireServerEntropy/>
|
||||
</wsp:Policy>
|
||||
</sp:Trust10>
|
||||
</wsp:All>
|
||||
</wsp:ExactlyOne>
|
||||
</wsp:Policy>
|
||||
|
@ -0,0 +1,35 @@
|
||||
<!--
|
||||
~ 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="IOT-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="InitializeAndSetupServer" preserve-order="true">
|
||||
<classes>
|
||||
|
||||
</classes>
|
||||
</test>
|
||||
</suite>
|
@ -0,0 +1,41 @@
|
||||
<!--
|
||||
~ 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="DssTestSuite" parallel="false">
|
||||
<parameter name="useDefaultListeners" value="false"/>
|
||||
<test name="IOT-Integration-Test" parallel="false" verbose="2">
|
||||
|
||||
<packages>
|
||||
|
||||
</packages>
|
||||
|
||||
<classes>
|
||||
<class name="org.wso2.carbon.iot.integration.web.ui.test.login.LoginTest"/>
|
||||
<class name="org.wso2.carbon.iot.integration.web.ui.test.user.RegisterTest"/>
|
||||
<class name="org.wso2.carbon.iot.integration.web.ui.test.user.RegistrationFormTests"/>
|
||||
<class name="org.wso2.carbon.iot.integration.web.ui.test.login.LoginFailTest"/>
|
||||
<class name="org.wso2.carbon.iot.integration.web.ui.test.group.DeviceGroupTest"/>
|
||||
<class name="org.wso2.carbon.iot.integration.web.ui.test.group.DeviceGroupFailTest"/>
|
||||
<class name="org.wso2.carbon.iot.integration.web.ui.test.user.TestAdminFunctions"/>
|
||||
<class name="org.wso2.carbon.iot.integration.web.ui.test.user.AddUserFormTest"/>
|
||||
</classes>
|
||||
|
||||
</test>
|
||||
</suite>
|
Loading…
Reference in new issue