summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2011-03-22 13:11:27 -0400
committerEndi S. Dewata <edewata@redhat.com>2011-03-22 13:11:27 -0400
commitfebf755dff3fc8f785d69fe33313058f6f1aa29e (patch)
treed40d9a7dd759579690d5cfecdd41e1d9558cde26
parent79c6bb5ded499c2af66cad7cc3135bda8ae8648a (diff)
downloadfreeipa-febf755dff3fc8f785d69fe33313058f6f1aa29e.zip
freeipa-febf755dff3fc8f785d69fe33313058f6f1aa29e.tar.gz
freeipa-febf755dff3fc8f785d69fe33313058f6f1aa29e.tar.xz
Added RBAC test cases.
-rw-r--r--install/ui/test/functional/permission-add.html66
-rw-r--r--install/ui/test/functional/permission-del.html46
-rw-r--r--install/ui/test/functional/permission-find.html72
-rw-r--r--install/ui/test/functional/permission-mod.html107
-rw-r--r--install/ui/test/functional/permission-suite.html17
-rw-r--r--install/ui/test/functional/privilege-add.html51
-rw-r--r--install/ui/test/functional/privilege-del.html46
-rw-r--r--install/ui/test/functional/privilege-find.html71
-rw-r--r--install/ui/test/functional/privilege-mod.html76
-rw-r--r--install/ui/test/functional/privilege-suite.html17
-rw-r--r--install/ui/test/functional/role-add.html51
-rw-r--r--install/ui/test/functional/role-del.html46
-rw-r--r--install/ui/test/functional/role-find.html71
-rw-r--r--install/ui/test/functional/role-mod.html77
-rw-r--r--install/ui/test/functional/role-suite.html17
15 files changed, 831 insertions, 0 deletions
diff --git a/install/ui/test/functional/permission-add.html b/install/ui/test/functional/permission-add.html
new file mode 100644
index 0000000..d8b4afb
--- /dev/null
+++ b/install/ui/test/functional/permission-add.html
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="https://localhost/" />
+<title>Add Permission</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">Add Permission</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/ipa/ui/#navigation=2&amp;role-entity=permission</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForNotVisible</td>
+ <td>//span[@id='header-network-activity-indicator']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='role']/div[@class='action-panel']//a[@title='Add']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>cn</td>
+ <td>testpermission</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//span[@name='permissions']//input[@value='write']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>select</td>
+ <td>//div[@name='target']//select</td>
+ <td>label=type</td>
+</tr>
+<tr>
+ <td>select</td>
+ <td>//span[@name='type']//select[@name='type']</td>
+ <td>label=user</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//dd[@name='attrs']//input[@value='description']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//button[@type='button']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='role']/span[@name='search']//input[@value='testpermission']</td>
+ <td></td>
+</tr>
+</tbody></table>
+</body>
+</html>
diff --git a/install/ui/test/functional/permission-del.html b/install/ui/test/functional/permission-del.html
new file mode 100644
index 0000000..77f7b4d
--- /dev/null
+++ b/install/ui/test/functional/permission-del.html
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="https://localhost/" />
+<title>Delete Permission</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">Delete Permission</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/ipa/ui/#navigation=2&amp;role-entity=permission</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='role']/span[@name='search']//input[@value='testpermission']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='role']/span[@name='search']//input[@value='testpermission']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='role']/div[@class='action-panel']//a[@title='Delete']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//button[@type='button']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementNotPresent</td>
+ <td>//div[@id='role']/span[@name='search']//input[@value='testpermission']</td>
+ <td></td>
+</tr>
+</tbody></table>
+</body>
+</html>
diff --git a/install/ui/test/functional/permission-find.html b/install/ui/test/functional/permission-find.html
new file mode 100644
index 0000000..1b25083
--- /dev/null
+++ b/install/ui/test/functional/permission-find.html
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="https://localhost/" />
+<title>Search Permission</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">Search Permission</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/ipa/ui/#navigation=2&amp;role-entity=permission</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='role']/span[@name='search']//input[@value='testpermission']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>search-permission-filter</td>
+ <td>test</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Find</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='role']/span[@name='search']//input[@value='testpermission']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>search-permission-filter</td>
+ <td>xxx</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Find</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementNotPresent</td>
+ <td>//div[@id='role']/span[@name='search']//input[@value='testpermission']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>search-permission-filter</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Find</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='role']/span[@name='search']//input[@value='testpermission']</td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/install/ui/test/functional/permission-mod.html b/install/ui/test/functional/permission-mod.html
new file mode 100644
index 0000000..ae8489b
--- /dev/null
+++ b/install/ui/test/functional/permission-mod.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="https://localhost/" />
+<title>Edit Permission</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">Edit Permission</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/ipa/ui/#navigation=2&amp;role-entity=permission</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForNotVisible</td>
+ <td>//span[@id='header-network-activity-indicator']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=testpermission</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForNotVisible</td>
+ <td>//span[@id='header-network-activity-indicator']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='role']//span[@name='permissions']//input[@value='add']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='role']//span[@name='permissions']//input[@value='delete']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='role']//span[@name='permissions']//input[@value='write']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='role']//dd[@name='attrs']//input[@value='cn']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='role']//dd[@name='attrs']//input[@value='description']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Update</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForTextNotPresent</td>
+ <td>undo</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='role']//span[@name='permissions']//input[@value='write']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='role']//span[@name='permissions']//input[@value='add']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='role']//span[@name='permissions']//input[@value='delete']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='role']//dd[@name='attrs']//input[@value='cn']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='role']//dd[@name='attrs']//input[@value='description']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Update</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForTextNotPresent</td>
+ <td>undo</td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/install/ui/test/functional/permission-suite.html b/install/ui/test/functional/permission-suite.html
new file mode 100644
index 0000000..6f50bb7
--- /dev/null
+++ b/install/ui/test/functional/permission-suite.html
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=UTF-8" http-equiv="content-type" />
+ <title>Test Suite</title>
+</head>
+<body>
+<table id="suiteTable" cellpadding="1" cellspacing="1" border="1" class="selenium"><tbody>
+<tr><td><b>Test Suite</b></td></tr>
+<tr><td><a href="permission-add.html">Add Permission</a></td></tr>
+<tr><td><a href="permission-find.html">Search Permission</a></td></tr>
+<tr><td><a href="permission-mod.html">Edit Permission</a></td></tr>
+<tr><td><a href="permission-del.html">Delete Permission</a></td></tr>
+</tbody></table>
+</body>
+</html>
diff --git a/install/ui/test/functional/privilege-add.html b/install/ui/test/functional/privilege-add.html
new file mode 100644
index 0000000..2cc2769
--- /dev/null
+++ b/install/ui/test/functional/privilege-add.html
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="https://localhost/" />
+<title>Add Permission</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">Add Permission</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/ipa/ui/#navigation=2&amp;role-entity=privilege</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForNotVisible</td>
+ <td>//span[@id='header-network-activity-indicator']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='role']/div[@class='action-panel']//a[@title='Add']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>cn</td>
+ <td>testprivilege</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>description</td>
+ <td>Test Privilege</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//button[@type='button']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='role']/span[@name='search']//input[@value='testprivilege']</td>
+ <td></td>
+</tr>
+</tbody></table>
+</body>
+</html>
diff --git a/install/ui/test/functional/privilege-del.html b/install/ui/test/functional/privilege-del.html
new file mode 100644
index 0000000..d206eb4
--- /dev/null
+++ b/install/ui/test/functional/privilege-del.html
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="https://localhost/" />
+<title>Delete Permission</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">Delete Permission</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/ipa/ui/#navigation=2&amp;role-entity=privilege</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='role']/span[@name='search']//input[@value='testprivilege']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='role']/span[@name='search']//input[@value='testprivilege']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='role']/div[@class='action-panel']//a[@title='Delete']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//button[@type='button']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementNotPresent</td>
+ <td>//div[@id='role']/span[@name='search']//input[@value='testprivilege']</td>
+ <td></td>
+</tr>
+</tbody></table>
+</body>
+</html>
diff --git a/install/ui/test/functional/privilege-find.html b/install/ui/test/functional/privilege-find.html
new file mode 100644
index 0000000..f7bda6b
--- /dev/null
+++ b/install/ui/test/functional/privilege-find.html
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="https://localhost/" />
+<title>Search Permission</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">Search Permission</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/ipa/ui/#navigation=2&amp;role-entity=privilege</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='role']/span[@name='search']//input[@value='testprivilege']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>search-privilege-filter</td>
+ <td>test</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Find</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='role']/span[@name='search']//input[@value='testprivilege']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>search-privilege-filter</td>
+ <td>xxx</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Find</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementNotPresent</td>
+ <td>//div[@id='role']/span[@name='search']//input[@value='testprivilege']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>search-privilege-filter</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Find</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='role']/span[@name='search']//input[@value='testprivilege']</td>
+ <td></td>
+</tr>
+</tbody></table>
+</body>
+</html>
diff --git a/install/ui/test/functional/privilege-mod.html b/install/ui/test/functional/privilege-mod.html
new file mode 100644
index 0000000..92a33d8
--- /dev/null
+++ b/install/ui/test/functional/privilege-mod.html
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="https://localhost/" />
+<title>Edit Privilege</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">Edit Privilege</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/ipa/ui/#navigation=2&amp;role-entity=privilege</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForNotVisible</td>
+ <td>//span[@id='header-network-activity-indicator']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=testprivilege</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForNotVisible</td>
+ <td>//span[@id='header-network-activity-indicator']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>description</td>
+ <td></td>
+</tr>
+<tr>
+ <td>typeKeys</td>
+ <td>description</td>
+ <td>xxx</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Update</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForNotVisible</td>
+ <td>//span[@id='header-network-activity-indicator']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>description</td>
+ <td></td>
+</tr>
+<tr>
+ <td>typeKeys</td>
+ <td>description</td>
+ <td>Test Privilege</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Update</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForNotVisible</td>
+ <td>//span[@id='header-network-activity-indicator']</td>
+ <td></td>
+</tr>
+</tbody></table>
+</body>
+</html>
diff --git a/install/ui/test/functional/privilege-suite.html b/install/ui/test/functional/privilege-suite.html
new file mode 100644
index 0000000..ff16569
--- /dev/null
+++ b/install/ui/test/functional/privilege-suite.html
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=UTF-8" http-equiv="content-type" />
+ <title>Test Suite</title>
+</head>
+<body>
+<table id="suiteTable" cellpadding="1" cellspacing="1" border="1" class="selenium"><tbody>
+<tr><td><b>Test Suite</b></td></tr>
+<tr><td><a href="privilege-add.html">Add Privilege</a></td></tr>
+<tr><td><a href="privilege-find.html">Search Privilege</a></td></tr>
+<tr><td><a href="privilege-mod.html">Edit Privilege</a></td></tr>
+<tr><td><a href="privilege-del.html">Delete Privilege</a></td></tr>
+</tbody></table>
+</body>
+</html>
diff --git a/install/ui/test/functional/role-add.html b/install/ui/test/functional/role-add.html
new file mode 100644
index 0000000..9d6bc56
--- /dev/null
+++ b/install/ui/test/functional/role-add.html
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="https://localhost/" />
+<title>Add Permission</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">Add Permission</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/ipa/ui/#navigation=2&amp;role-entity=role</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForNotVisible</td>
+ <td>//span[@id='header-network-activity-indicator']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='role']/div[@class='action-panel']//a[@title='Add']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>cn</td>
+ <td>testrole</td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>description</td>
+ <td>Test Role</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//button[@type='button']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='role']/span[@name='search']//input[@value='testrole']</td>
+ <td></td>
+</tr>
+</tbody></table>
+</body>
+</html>
diff --git a/install/ui/test/functional/role-del.html b/install/ui/test/functional/role-del.html
new file mode 100644
index 0000000..0f7dced
--- /dev/null
+++ b/install/ui/test/functional/role-del.html
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="https://localhost/" />
+<title>Delete Permission</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">Delete Permission</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/ipa/ui/#navigation=2&amp;role-entity=role</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='role']/span[@name='search']//input[@value='testrole']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='role']/span[@name='search']//input[@value='testrole']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//div[@id='role']/div[@class='action-panel']//a[@title='Delete']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>//button[@type='button']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementNotPresent</td>
+ <td>//div[@id='role']/span[@name='search']//input[@value='testrole']</td>
+ <td></td>
+</tr>
+</tbody></table>
+</body>
+</html>
diff --git a/install/ui/test/functional/role-find.html b/install/ui/test/functional/role-find.html
new file mode 100644
index 0000000..f8c21b4
--- /dev/null
+++ b/install/ui/test/functional/role-find.html
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="https://localhost/" />
+<title>Search Permission</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">Search Permission</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/ipa/ui/#navigation=2&amp;role-entity=role</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='role']/span[@name='search']//input[@value='testrole']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>search-role-filter</td>
+ <td>test</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Find</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='role']/span[@name='search']//input[@value='testrole']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>search-role-filter</td>
+ <td>xxx</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Find</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementNotPresent</td>
+ <td>//div[@id='role']/span[@name='search']//input[@value='testrole']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>search-role-filter</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Find</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForElementPresent</td>
+ <td>//div[@id='role']/span[@name='search']//input[@value='testrole']</td>
+ <td></td>
+</tr>
+</tbody></table>
+</body>
+</html>
diff --git a/install/ui/test/functional/role-mod.html b/install/ui/test/functional/role-mod.html
new file mode 100644
index 0000000..aa499fd
--- /dev/null
+++ b/install/ui/test/functional/role-mod.html
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head profile="http://selenium-ide.openqa.org/profiles/test-case">
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+<link rel="selenium.base" href="https://localhost/" />
+<title>Edit Role</title>
+</head>
+<body>
+<table cellpadding="1" cellspacing="1" border="1">
+<thead>
+<tr><td rowspan="1" colspan="3">Edit Role</td></tr>
+</thead><tbody>
+<tr>
+ <td>open</td>
+ <td>/ipa/ui/#navigation=2&amp;role-entity=role</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForNotVisible</td>
+ <td>//span[@id='header-network-activity-indicator']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=testrole</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForNotVisible</td>
+ <td>//span[@id='header-network-activity-indicator']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>description</td>
+ <td></td>
+</tr>
+<tr>
+ <td>typeKeys</td>
+ <td>description</td>
+ <td>xxx</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Update</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForNotVisible</td>
+ <td>//span[@id='header-network-activity-indicator']</td>
+ <td></td>
+</tr>
+<tr>
+ <td>type</td>
+ <td>description</td>
+ <td></td>
+</tr>
+<tr>
+ <td>typeKeys</td>
+ <td>description</td>
+ <td>Test Role</td>
+</tr>
+<tr>
+ <td>click</td>
+ <td>link=Update</td>
+ <td></td>
+</tr>
+<tr>
+ <td>waitForNotVisible</td>
+ <td>//span[@id='header-network-activity-indicator']</td>
+ <td></td>
+</tr>
+
+</tbody></table>
+</body>
+</html>
diff --git a/install/ui/test/functional/role-suite.html b/install/ui/test/functional/role-suite.html
new file mode 100644
index 0000000..9b387bb
--- /dev/null
+++ b/install/ui/test/functional/role-suite.html
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta content="text/html; charset=UTF-8" http-equiv="content-type" />
+ <title>Test Suite</title>
+</head>
+<body>
+<table id="suiteTable" cellpadding="1" cellspacing="1" border="1" class="selenium"><tbody>
+<tr><td><b>Test Suite</b></td></tr>
+<tr><td><a href="role-add.html">Add Role</a></td></tr>
+<tr><td><a href="role-find.html">Search Role</a></td></tr>
+<tr><td><a href="role-mod.html">Edit Role</a></td></tr>
+<tr><td><a href="role-del.html">Delete Role</a></td></tr>
+</tbody></table>
+</body>
+</html>