URL: https://github.com/freeipa/freeipa/pull/1724
Author: celestian
 Title: #1724: Test webui realm domains
Action: opened

PR body:
"""
I prepare automation of some WebUI Realm Domains test.

This PR is continue of https://github.com/freeipa/freeipa/pull/1644
"""

To pull the PR as Git branch:
git remote add ghfreeipa https://github.com/freeipa/freeipa
git fetch ghfreeipa pull/1724/head:pr1724
git checkout pr1724
From 454251508f62a139242ee45539eb322b859e8c3b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C4=8Cech?= <pc...@redhat.com>
Date: Thu, 1 Mar 2018 13:29:18 +0100
Subject: [PATCH 01/24] webui:tests: Add prepare_dns_zone function

We need to do one little trick to prepare correct dns zone for
ealm domains webui tests. This patch add separate function for
such a trick.
---
 ipatests/test_webui/test_realmdomains.py | 43 ++++++++++++++++++--------------
 1 file changed, 24 insertions(+), 19 deletions(-)

diff --git a/ipatests/test_webui/test_realmdomains.py b/ipatests/test_webui/test_realmdomains.py
index 56fd791ec6..39864384fd 100644
--- a/ipatests/test_webui/test_realmdomains.py
+++ b/ipatests/test_webui/test_realmdomains.py
@@ -41,26 +41,10 @@ def del_realm_domain(self, realmdomain, button):
         self.wait_for_request()
         self.close_notifications()
 
-    @screenshot
-    def test_read(self):
+    def prepare_dns_zone(self, realmdomain):
         """
-        Realm domains mod tests
+        Prepare dns zone record for realmdomain
         """
-        self.init_app()
-        self.navigate_to_entity(ENTITY)
-
-        # add with force - skipping DNS check
-        self.add_multivalued('associateddomain', 'itest.bar')
-        self.facet_button_click('save')
-        self.dialog_button_click('force')
-        self.wait_for_request()
-        self.close_notifications()
-
-        # delete
-        self.del_realm_domain('itest.bar', 'force')
-        self.wait_for_request()
-
-        # Try adding and deleting with "Check DNS" (in html 'ok' button)
 
         # DNS check expects that the added domain will have DNS record:
         #    TXT _kerberos.$domain "$REALM"
@@ -74,7 +58,6 @@ def test_read(self):
         self.navigate_to_entity(ZONE_ENTITY)
         self.add_record(ZONE_ENTITY, ZONE_DATA)
 
-        realmdomain = ZONE_PKEY.strip('.')
         realm = self.config.get('ipa_realm')
 
         # remove the added domain from Realm Domain
@@ -97,6 +80,28 @@ def test_read(self):
         self.add_record(ZONE_ENTITY, DNS_RECORD_ADD_DATA,
                         facet=ZONE_DEFAULT_FACET, navigate=False)
 
+    @screenshot
+    def test_read(self):
+        """
+        Realm domains mod tests
+        """
+        self.init_app()
+        self.navigate_to_entity(ENTITY)
+
+        # add with force - skipping DNS check
+        self.add_multivalued('associateddomain', 'itest.bar')
+        self.facet_button_click('save')
+        self.dialog_button_click('force')
+        self.wait_for_request()
+        self.close_notifications()
+
+        # delete
+        self.del_realm_domain('itest.bar', 'force')
+        self.wait_for_request()
+
+        realmdomain = ZONE_PKEY.strip('.')
+        self.prepare_dns_zone(realmdomain)
+
         # add Realm Domain and Check DNS
         self.navigate_to_entity(ENTITY)
         self.add_multivalued('associateddomain', realmdomain)

From ab332ad62b3197d983021a4735f224a9fbb2fa1e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C4=8Cech?= <pc...@redhat.com>
Date: Fri, 9 Mar 2018 13:39:21 +0100
Subject: [PATCH 02/24] webui:tests: Add _add_associateddomain function

This function simplifies of adding realm domains to the form.
---
 ipatests/test_webui/test_realmdomains.py | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/ipatests/test_webui/test_realmdomains.py b/ipatests/test_webui/test_realmdomains.py
index 39864384fd..9cbdfc47f7 100644
--- a/ipatests/test_webui/test_realmdomains.py
+++ b/ipatests/test_webui/test_realmdomains.py
@@ -80,6 +80,16 @@ def prepare_dns_zone(self, realmdomain):
         self.add_record(ZONE_ENTITY, DNS_RECORD_ADD_DATA,
                         facet=ZONE_DEFAULT_FACET, navigate=False)
 
+    def _add_associateddomain(self, values, force=False):
+        """
+        Add values to associated domains and click OK or Force
+        """
+        for val in values:
+            self.add_multivalued('associateddomain', val)
+        self.facet_button_click('save')
+        self.dialog_button_click('force' if force else 'ok')
+        self.wait_for_request()
+
     @screenshot
     def test_read(self):
         """
@@ -89,10 +99,7 @@ def test_read(self):
         self.navigate_to_entity(ENTITY)
 
         # add with force - skipping DNS check
-        self.add_multivalued('associateddomain', 'itest.bar')
-        self.facet_button_click('save')
-        self.dialog_button_click('force')
-        self.wait_for_request()
+        self._add_associateddomain(['itest.bar'], force=True)
         self.close_notifications()
 
         # delete
@@ -104,10 +111,7 @@ def test_read(self):
 
         # add Realm Domain and Check DNS
         self.navigate_to_entity(ENTITY)
-        self.add_multivalued('associateddomain', realmdomain)
-        self.facet_button_click('save')
-        self.dialog_button_click('ok')
-        self.wait_for_request()
+        self._add_associateddomain([realmdomain])
 
         # cleanup
         self.del_realm_domain(realmdomain, 'ok')

From 5f1c793eced936ee369af6b83bf3a1429e3b5156 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C4=8Cech?= <pc...@redhat.com>
Date: Thu, 22 Feb 2018 15:18:55 +0100
Subject: [PATCH 03/24] webui:tests: Add test_add_domain_with_special_char

---
 ipatests/test_webui/test_realmdomains.py | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/ipatests/test_webui/test_realmdomains.py b/ipatests/test_webui/test_realmdomains.py
index 9cbdfc47f7..09743cf706 100644
--- a/ipatests/test_webui/test_realmdomains.py
+++ b/ipatests/test_webui/test_realmdomains.py
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
 # Authors:
 #   Petr Vobornik <pvobo...@redhat.com>
 #
@@ -117,3 +118,20 @@ def test_read(self):
         self.del_realm_domain(realmdomain, 'ok')
         self.navigate_to_entity(ZONE_ENTITY)
         self.delete_record(ZONE_PKEY)
+
+    @screenshot
+    def test_add_domain_with_special_char(self):
+        """
+        Add domain with special_character
+        """
+        self.init_app()
+        self.navigate_to_entity(ENTITY)
+
+        domain_with_special_char = u'ipa@123#'
+
+        # add with force - skipping DNS check
+        self._add_associateddomain([domain_with_special_char], force=True)
+        dialog = self.get_last_error_dialog()
+        assert ("invalid 'domain': only letters, numbers, '-' are allowed. "
+                "DNS label may not start or end with '-'"
+                in dialog.text)

From 75c0be4ef0e679bad79dea1312a4cb3f60ee1ef6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C4=8Cech?= <pc...@redhat.com>
Date: Thu, 22 Feb 2018 15:24:18 +0100
Subject: [PATCH 04/24] webui:tests: Add test_add_domain_and_undo

---
 ipatests/test_webui/test_realmdomains.py | 18 ++++++++++++++++++
 ipatests/test_webui/ui_driver.py         | 24 ++++++++++++++++++++++++
 2 files changed, 42 insertions(+)

diff --git a/ipatests/test_webui/test_realmdomains.py b/ipatests/test_webui/test_realmdomains.py
index 09743cf706..ed6c60ae04 100644
--- a/ipatests/test_webui/test_realmdomains.py
+++ b/ipatests/test_webui/test_realmdomains.py
@@ -135,3 +135,21 @@ def test_add_domain_with_special_char(self):
         assert ("invalid 'domain': only letters, numbers, '-' are allowed. "
                 "DNS label may not start or end with '-'"
                 in dialog.text)
+
+    @screenshot
+    def test_add_domain_and_undo(self):
+        """
+        Add domain and undo
+        """
+        self.init_app()
+        self.navigate_to_entity(ENTITY)
+
+        test_domain = u'itest.bar'
+
+        # add and undo
+        self.add_multivalued('associateddomain', test_domain)
+        self.undo_multivalued('associateddomain', test_domain)
+
+        # check
+        domains = self.get_multivalued_value('associateddomain')
+        assert test_domain not in domains
diff --git a/ipatests/test_webui/ui_driver.py b/ipatests/test_webui/ui_driver.py
index 71efe6705c..f5b8e1a663 100644
--- a/ipatests/test_webui/ui_driver.py
+++ b/ipatests/test_webui/ui_driver.py
@@ -823,6 +823,30 @@ def del_multivalued(self, name, value, parent=None):
 
         assert clicked, 'Value was not removed: %s' % value
 
+    def undo_multivalued(self, name, value, parent=None):
+        """
+        Undo value in multivalued textbox.
+        """
+        if parent is None:
+            parent = self.get_form()
+        label = "div[name='{}'].multivalued-widget".format(name)
+        widget = self.find(label, By.CSS_SELECTOR, parent, strict=True)
+        label = "div[name=value] input"
+        inputs = self.find(label, By.CSS_SELECTOR, widget, many=True)
+        clicked = False
+        for i in inputs:
+            val = i.get_attribute('value')
+            n = i.get_attribute('name')
+            if val == value:
+                label = ("input[name='{}'] ~ .input-group-btn "
+                         "button[name=undo]".format(n))
+                link = self.find(label, By.CSS_SELECTOR, widget, strict=True)
+                link.click()
+                self.wait()
+                clicked = True
+
+        assert clicked, 'Value was not removed: {}'.format(value)
+
     def fill_multivalued(self, name, instructions, parent=None):
         """
         Add or delete a value from multivalued field

From c3b7e7996a6523ba3ca8859c2be1f79129e3c6c7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C4=8Cech?= <pc...@redhat.com>
Date: Thu, 22 Feb 2018 15:37:23 +0100
Subject: [PATCH 05/24] webui:tests: Add test_add_domain_and_undo_all

---
 ipatests/test_webui/test_realmdomains.py | 18 ++++++++++++++++++
 ipatests/test_webui/ui_driver.py         | 12 ++++++++++++
 2 files changed, 30 insertions(+)

diff --git a/ipatests/test_webui/test_realmdomains.py b/ipatests/test_webui/test_realmdomains.py
index ed6c60ae04..2ef1afdff9 100644
--- a/ipatests/test_webui/test_realmdomains.py
+++ b/ipatests/test_webui/test_realmdomains.py
@@ -153,3 +153,21 @@ def test_add_domain_and_undo(self):
         # check
         domains = self.get_multivalued_value('associateddomain')
         assert test_domain not in domains
+
+    @screenshot
+    def test_add_domain_and_undo_all(self):
+        """
+        Add domain and undo all
+        """
+        self.init_app()
+        self.navigate_to_entity(ENTITY)
+
+        test_domain = u'itest.bar'
+
+        # add and undo all
+        self.add_multivalued('associateddomain', test_domain)
+        self.undo_all_multivalued('associateddomain')
+
+        # check
+        domains = self.get_multivalued_value('associateddomain')
+        assert test_domain not in domains
diff --git a/ipatests/test_webui/ui_driver.py b/ipatests/test_webui/ui_driver.py
index f5b8e1a663..76375c4478 100644
--- a/ipatests/test_webui/ui_driver.py
+++ b/ipatests/test_webui/ui_driver.py
@@ -847,6 +847,18 @@ def undo_multivalued(self, name, value, parent=None):
 
         assert clicked, 'Value was not removed: {}'.format(value)
 
+    def undo_all_multivalued(self, name, parent=None):
+        """
+        Undo all new values to multivalued textbox
+        """
+        if parent is None:
+            parent = self.get_form()
+        label = "div[name='{}'].multivalued-widget".format(name)
+        widget = self.find(label, By.CSS_SELECTOR, parent, strict=True)
+        add_btn = self.find("button[name=undo_all]", By.CSS_SELECTOR, widget,
+                            strict=True)
+        add_btn.click()
+
     def fill_multivalued(self, name, instructions, parent=None):
         """
         Add or delete a value from multivalued field

From 4738226ca965cef7033f003aa7f437d2db03787b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C4=8Cech?= <pc...@redhat.com>
Date: Thu, 22 Feb 2018 15:51:49 +0100
Subject: [PATCH 06/24] webui:tests: Add test_add_domain_and_refresh

---
 ipatests/test_webui/test_realmdomains.py | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/ipatests/test_webui/test_realmdomains.py b/ipatests/test_webui/test_realmdomains.py
index 2ef1afdff9..397780cced 100644
--- a/ipatests/test_webui/test_realmdomains.py
+++ b/ipatests/test_webui/test_realmdomains.py
@@ -171,3 +171,21 @@ def test_add_domain_and_undo_all(self):
         # check
         domains = self.get_multivalued_value('associateddomain')
         assert test_domain not in domains
+
+    @screenshot
+    def test_add_domain_and_refresh(self):
+        """
+        Add domain and refresh
+        """
+        self.init_app()
+        self.navigate_to_entity(ENTITY)
+
+        test_domain = u'itest.bar'
+
+        # add and refresh
+        self.add_multivalued('associateddomain', test_domain)
+        self.facet_button_click('refresh')
+
+        # check
+        domains = self.get_multivalued_value('associateddomain')
+        assert test_domain not in domains

From 1cd09de8ab1633251126f77198ad9a9518bcaab8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C4=8Cech?= <pc...@redhat.com>
Date: Thu, 22 Feb 2018 15:55:00 +0100
Subject: [PATCH 07/24] webui:tests: Add test_add_domain_and_revert

---
 ipatests/test_webui/test_realmdomains.py | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/ipatests/test_webui/test_realmdomains.py b/ipatests/test_webui/test_realmdomains.py
index 397780cced..bb73eb8a81 100644
--- a/ipatests/test_webui/test_realmdomains.py
+++ b/ipatests/test_webui/test_realmdomains.py
@@ -189,3 +189,21 @@ def test_add_domain_and_refresh(self):
         # check
         domains = self.get_multivalued_value('associateddomain')
         assert test_domain not in domains
+
+    @screenshot
+    def test_add_domain_and_revert(self):
+        """
+        Add domain and revert
+        """
+        self.init_app()
+        self.navigate_to_entity(ENTITY)
+
+        test_domain = u'itest.bar'
+
+        # add and revert
+        self.add_multivalued('associateddomain', test_domain)
+        self.facet_button_click('revert')
+
+        # check
+        domains = self.get_multivalued_value('associateddomain')
+        assert test_domain not in domains

From 4b9751899255569593dab4a6c9da8ab46d34fa03 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C4=8Cech?= <pc...@redhat.com>
Date: Fri, 23 Feb 2018 13:06:49 +0100
Subject: [PATCH 08/24] webui:tests: Add test_add_duplicate_domaini

---
 ipatests/test_webui/test_realmdomains.py | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/ipatests/test_webui/test_realmdomains.py b/ipatests/test_webui/test_realmdomains.py
index bb73eb8a81..1d78dd3e62 100644
--- a/ipatests/test_webui/test_realmdomains.py
+++ b/ipatests/test_webui/test_realmdomains.py
@@ -207,3 +207,27 @@ def test_add_domain_and_revert(self):
         # check
         domains = self.get_multivalued_value('associateddomain')
         assert test_domain not in domains
+
+    @screenshot
+    def test_add_duplicate_domain(self):
+        """
+        Add duplicate domain
+        """
+        self.init_app()
+
+        realmdomain = ZONE_PKEY.strip('.')
+        self.prepare_dns_zone(realmdomain)
+
+        self.navigate_to_entity(ENTITY)
+
+        # add two (same) domains with force - skipping DNS check
+        self._add_associateddomain([realmdomain, realmdomain], force=True)
+
+        # check
+        domains = self.get_multivalued_value('associateddomain')
+        assert realmdomain in domains
+
+        # cleanup
+        self.del_realm_domain(realmdomain, 'force')
+        self.navigate_to_entity(ZONE_ENTITY)
+        self.delete_record(ZONE_PKEY)

From e74981a7c23525e2f3dc72e96e6e4dcf93fdd143 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C4=8Cech?= <pc...@redhat.com>
Date: Fri, 23 Feb 2018 13:11:21 +0100
Subject: [PATCH 09/24] webui:tests: Add test_add_empty_domain

---
 ipatests/test_webui/test_realmdomains.py | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/ipatests/test_webui/test_realmdomains.py b/ipatests/test_webui/test_realmdomains.py
index 1d78dd3e62..04f3c88c81 100644
--- a/ipatests/test_webui/test_realmdomains.py
+++ b/ipatests/test_webui/test_realmdomains.py
@@ -231,3 +231,18 @@ def test_add_duplicate_domain(self):
         self.del_realm_domain(realmdomain, 'force')
         self.navigate_to_entity(ZONE_ENTITY)
         self.delete_record(ZONE_PKEY)
+
+    @screenshot
+    def test_add_empty_domain(self):
+        """
+        Add empty domain
+        """
+        self.init_app()
+        self.navigate_to_entity(ENTITY)
+
+        # add with force - skipping DNS check
+        self._add_associateddomain([''], force=True)
+
+        # check
+        dialog = self.get_last_error_dialog()
+        assert ("no modifications to be performed" in dialog.text)

From 4a486d6ccf48e160ba0c7af0088dbe5c69127d4b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C4=8Cech?= <pc...@redhat.com>
Date: Fri, 23 Feb 2018 13:40:07 +0100
Subject: [PATCH 10/24] webui:tests: Add test_add_domain_with_leading_space

---
 ipatests/test_webui/test_realmdomains.py | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/ipatests/test_webui/test_realmdomains.py b/ipatests/test_webui/test_realmdomains.py
index 04f3c88c81..ed3d12a12e 100644
--- a/ipatests/test_webui/test_realmdomains.py
+++ b/ipatests/test_webui/test_realmdomains.py
@@ -246,3 +246,19 @@ def test_add_empty_domain(self):
         # check
         dialog = self.get_last_error_dialog()
         assert ("no modifications to be performed" in dialog.text)
+
+    @screenshot
+    def test_add_domain_with_leading_space(self):
+        """
+        Add domain with leading space
+        """
+        self.init_app()
+        self.navigate_to_entity(ENTITY)
+
+        # add with force - skipping DNS check
+        self._add_associateddomain([' ipa.test'], force=True)
+
+        # check
+        dialog = self.get_last_error_dialog()
+        assert ("invalid 'domain': Leading and trailing spaces are not allowed"
+                in dialog.text)

From 93887769354dcdcc6f235e7c7f93c7c36144508d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C4=8Cech?= <pc...@redhat.com>
Date: Fri, 23 Feb 2018 13:54:46 +0100
Subject: [PATCH 11/24] webui:tests: Add test_add_domain_with_trailing_space

---
 ipatests/test_webui/test_realmdomains.py | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/ipatests/test_webui/test_realmdomains.py b/ipatests/test_webui/test_realmdomains.py
index ed3d12a12e..710cba2c07 100644
--- a/ipatests/test_webui/test_realmdomains.py
+++ b/ipatests/test_webui/test_realmdomains.py
@@ -262,3 +262,19 @@ def test_add_domain_with_leading_space(self):
         dialog = self.get_last_error_dialog()
         assert ("invalid 'domain': Leading and trailing spaces are not allowed"
                 in dialog.text)
+
+    @screenshot
+    def test_add_domain_with_trailing_space(self):
+        """
+        Add domain with trailing space
+        """
+        self.init_app()
+        self.navigate_to_entity(ENTITY)
+
+        # add with force - skipping DNS check
+        self._add_associateddomain(['ipa.test '], force=True)
+
+        # check
+        dialog = self.get_last_error_dialog()
+        assert ("invalid 'domain': Leading and trailing spaces are not allowed"
+                in dialog.text)

From 2fb07a2bb732e1105d46fc18ea63022a8e834fae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C4=8Cech?= <pc...@redhat.com>
Date: Wed, 28 Feb 2018 12:54:59 +0100
Subject: [PATCH 12/24] webui:tests: Add test_del_domain_undo

---
 ipatests/test_webui/test_realmdomains.py | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/ipatests/test_webui/test_realmdomains.py b/ipatests/test_webui/test_realmdomains.py
index 710cba2c07..47c8645b8e 100644
--- a/ipatests/test_webui/test_realmdomains.py
+++ b/ipatests/test_webui/test_realmdomains.py
@@ -278,3 +278,35 @@ def test_add_domain_with_trailing_space(self):
         dialog = self.get_last_error_dialog()
         assert ("invalid 'domain': Leading and trailing spaces are not allowed"
                 in dialog.text)
+
+    @screenshot
+    def test_del_domain_undo(self):
+        """
+        Undo after deleting existing domain
+        """
+        self.init_app()
+
+        realmdomain = ZONE_PKEY.strip('.')
+        self.prepare_dns_zone(realmdomain)
+
+        # add
+        self.navigate_to_entity(ENTITY)
+        self._add_associateddomain([realmdomain])
+
+        # check that domain is present
+        domains = self.get_multivalued_value('associateddomain')
+        assert realmdomain in domains
+
+        # delete and undo
+        self.navigate_to_entity(ENTITY)
+        self.del_multivalued('associateddomain', realmdomain)
+        self.undo_multivalued('associateddomain', realmdomain)
+
+        # check that domain is present
+        domains = self.get_multivalued_value('associateddomain')
+        assert realmdomain in domains
+
+        # cleanup
+        self.del_realm_domain(realmdomain, 'ok')
+        self.navigate_to_entity(ZONE_ENTITY)
+        self.delete_record(ZONE_PKEY)

From 5e62701adf7fb008b1cbd39b397d4dec1a8b5ad7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C4=8Cech?= <pc...@redhat.com>
Date: Wed, 28 Feb 2018 12:57:13 +0100
Subject: [PATCH 13/24] webui:tests: Add test_del_domain_undo_all

---
 ipatests/test_webui/test_realmdomains.py | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/ipatests/test_webui/test_realmdomains.py b/ipatests/test_webui/test_realmdomains.py
index 47c8645b8e..4c56fa16ad 100644
--- a/ipatests/test_webui/test_realmdomains.py
+++ b/ipatests/test_webui/test_realmdomains.py
@@ -310,3 +310,35 @@ def test_del_domain_undo(self):
         self.del_realm_domain(realmdomain, 'ok')
         self.navigate_to_entity(ZONE_ENTITY)
         self.delete_record(ZONE_PKEY)
+
+    @screenshot
+    def test_del_domain_undo_all(self):
+        """
+        Undo all after deleting existing domain
+        """
+        self.init_app()
+
+        realmdomain = ZONE_PKEY.strip('.')
+        self.prepare_dns_zone(realmdomain)
+
+        # add
+        self.navigate_to_entity(ENTITY)
+        self._add_associateddomain([realmdomain])
+
+        # check that domain is present
+        domains = self.get_multivalued_value('associateddomain')
+        assert realmdomain in domains
+
+        # delete and undo
+        self.navigate_to_entity(ENTITY)
+        self.del_multivalued('associateddomain', realmdomain)
+        self.undo_all_multivalued('associateddomain')
+
+        # check that domain is present
+        domains = self.get_multivalued_value('associateddomain')
+        assert realmdomain in domains
+
+        # cleanup
+        self.del_realm_domain(realmdomain, 'ok')
+        self.navigate_to_entity(ZONE_ENTITY)
+        self.delete_record(ZONE_PKEY)

From 968ba9fc3c6ceb61c778ebc66b87408138c97342 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C4=8Cech?= <pc...@redhat.com>
Date: Wed, 28 Feb 2018 12:58:55 +0100
Subject: [PATCH 14/24] webui:tests: Add test_del_domain_revert

---
 ipatests/test_webui/test_realmdomains.py | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/ipatests/test_webui/test_realmdomains.py b/ipatests/test_webui/test_realmdomains.py
index 4c56fa16ad..23c19512e6 100644
--- a/ipatests/test_webui/test_realmdomains.py
+++ b/ipatests/test_webui/test_realmdomains.py
@@ -342,3 +342,31 @@ def test_del_domain_undo_all(self):
         self.del_realm_domain(realmdomain, 'ok')
         self.navigate_to_entity(ZONE_ENTITY)
         self.delete_record(ZONE_PKEY)
+
+    @screenshot
+    def test_del_domain_revert(self):
+        """
+        Revert after deleting existing domain
+        """
+        self.init_app()
+
+        realmdomain = ZONE_PKEY.strip('.')
+        self.prepare_dns_zone(realmdomain)
+
+        # add
+        self.navigate_to_entity(ENTITY)
+        self._add_associateddomain([realmdomain])
+
+        # del and revert
+        self.navigate_to_entity(ENTITY)
+        self.del_multivalued('associateddomain', realmdomain)
+        self.facet_button_click('revert')
+
+        # check
+        domains = self.get_multivalued_value('associateddomain')
+        assert realmdomain in domains
+
+        # cleanup
+        self.del_realm_domain(realmdomain, 'ok')
+        self.navigate_to_entity(ZONE_ENTITY)
+        self.delete_record(ZONE_PKEY)

From 2e7ba62ce78395be27daaadc4fdad89289ecdb5f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C4=8Cech?= <pc...@redhat.com>
Date: Wed, 28 Feb 2018 13:02:08 +0100
Subject: [PATCH 15/24] webui:tests: Add test_del_domain_and_update

---
 ipatests/test_webui/test_realmdomains.py | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/ipatests/test_webui/test_realmdomains.py b/ipatests/test_webui/test_realmdomains.py
index 23c19512e6..13481916ac 100644
--- a/ipatests/test_webui/test_realmdomains.py
+++ b/ipatests/test_webui/test_realmdomains.py
@@ -370,3 +370,33 @@ def test_del_domain_revert(self):
         self.del_realm_domain(realmdomain, 'ok')
         self.navigate_to_entity(ZONE_ENTITY)
         self.delete_record(ZONE_PKEY)
+
+    @screenshot
+    def test_del_domain_and_update(self):
+        """
+        Delete and update
+        """
+        self.init_app()
+
+        realmdomain = ZONE_PKEY.strip('.')
+        self.prepare_dns_zone(realmdomain)
+
+        # add
+        self.navigate_to_entity(ENTITY)
+        self._add_associateddomain([realmdomain])
+
+        self.navigate_to_entity(ENTITY)
+
+        # delete
+        self.del_multivalued('associateddomain', realmdomain)
+        self.facet_button_click('save')
+        self.dialog_button_click('ok')
+        self.wait_for_request()
+
+        # check
+        domains = self.get_multivalued_value('associateddomain')
+        assert realmdomain not in domains
+
+        # cleanup
+        self.navigate_to_entity(ZONE_ENTITY)
+        self.delete_record(ZONE_PKEY)

From 655876dbaca8636dd62bb38c35dbfb912f255a52 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C4=8Cech?= <pc...@redhat.com>
Date: Wed, 28 Feb 2018 13:03:49 +0100
Subject: [PATCH 16/24] webui:tests: Add test_del_domain_with_force_update

---
 ipatests/test_webui/test_realmdomains.py | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/ipatests/test_webui/test_realmdomains.py b/ipatests/test_webui/test_realmdomains.py
index 13481916ac..3c3e7240f6 100644
--- a/ipatests/test_webui/test_realmdomains.py
+++ b/ipatests/test_webui/test_realmdomains.py
@@ -400,3 +400,33 @@ def test_del_domain_and_update(self):
         # cleanup
         self.navigate_to_entity(ZONE_ENTITY)
         self.delete_record(ZONE_PKEY)
+
+    @screenshot
+    def test_del_domain_with_force_update(self):
+        """
+        Delete and force update
+        """
+        self.init_app()
+
+        realmdomain = ZONE_PKEY.strip('.')
+        self.prepare_dns_zone(realmdomain)
+
+        # add
+        self.navigate_to_entity(ENTITY)
+        self._add_associateddomain([realmdomain])
+
+        self.navigate_to_entity(ENTITY)
+
+        # force delete
+        self.del_multivalued('associateddomain', realmdomain)
+        self.facet_button_click('save')
+        self.dialog_button_click('force')
+        self.wait_for_request()
+
+        # check
+        domains = self.get_multivalued_value('associateddomain')
+        assert realmdomain not in domains
+
+        # cleanup
+        self.navigate_to_entity(ZONE_ENTITY)
+        self.delete_record(ZONE_PKEY)

From 59b6b33fca20c7726ea230a1d123ea214e6010d3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C4=8Cech?= <pc...@redhat.com>
Date: Wed, 28 Feb 2018 13:05:27 +0100
Subject: [PATCH 17/24] webui:tests: Add
 test_add_non_dns_configured_domain_negative

---
 ipatests/test_webui/test_realmdomains.py | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/ipatests/test_webui/test_realmdomains.py b/ipatests/test_webui/test_realmdomains.py
index 3c3e7240f6..247630f48b 100644
--- a/ipatests/test_webui/test_realmdomains.py
+++ b/ipatests/test_webui/test_realmdomains.py
@@ -430,3 +430,24 @@ def test_del_domain_with_force_update(self):
         # cleanup
         self.navigate_to_entity(ZONE_ENTITY)
         self.delete_record(ZONE_PKEY)
+
+    @screenshot
+    def test_add_non_dns_configured_domain_negative(self):
+        """
+        Domain shouldn't be added after:
+        1) add DNS non configured domain
+        2) click update
+        3) check DNS
+        """
+        self.init_app()
+
+        realmdomain = ZONE_PKEY.strip('.')
+
+        self.navigate_to_entity(ENTITY)
+        self._add_associateddomain([realmdomain])
+
+        dialog = self.get_last_error_dialog()
+        assert ("invalid 'domain': DNS zone for each realmdomain must contain "
+                "SOA or NS records. "
+                "No records found for: " + realmdomain
+                in dialog.text)

From 46ae1c6ca88bfe9ac1e774edbe7f9dbca5a9c7f5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C4=8Cech?= <pc...@redhat.com>
Date: Wed, 28 Feb 2018 13:07:01 +0100
Subject: [PATCH 18/24] webui:tests: Add
 test_add_non_dns_configured_domain_positive

---
 ipatests/test_webui/test_realmdomains.py | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/ipatests/test_webui/test_realmdomains.py b/ipatests/test_webui/test_realmdomains.py
index 247630f48b..8fdf0c1c27 100644
--- a/ipatests/test_webui/test_realmdomains.py
+++ b/ipatests/test_webui/test_realmdomains.py
@@ -451,3 +451,26 @@ def test_add_non_dns_configured_domain_negative(self):
                 "SOA or NS records. "
                 "No records found for: " + realmdomain
                 in dialog.text)
+
+    @screenshot
+    def test_add_non_dns_configured_domain_positive(self):
+        """
+        Domain should be added fter:
+        1) add DNS non configured domain
+        2) click update
+        3) click force
+        """
+        self.init_app()
+
+        realmdomain = ZONE_PKEY.strip('.')
+
+        self.navigate_to_entity(ENTITY)
+        self._add_associateddomain([realmdomain], force=True)
+
+        domains = self.get_multivalued_value('associateddomain')
+        assert realmdomain in domains
+
+        # cleanup
+        self.del_realm_domain(realmdomain, 'ok')
+        self.navigate_to_entity(ZONE_ENTITY)
+        self.delete_record(ZONE_PKEY)

From 151611b9501894cd518f7c163bbd43ed9430a794 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C4=8Cech?= <pc...@redhat.com>
Date: Wed, 28 Feb 2018 13:09:48 +0100
Subject: [PATCH 19/24] webui:tests: Add
 test_del_domain_of_ipa_server_bug1035286

---
 ipatests/test_webui/test_realmdomains.py | 37 ++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/ipatests/test_webui/test_realmdomains.py b/ipatests/test_webui/test_realmdomains.py
index 8fdf0c1c27..7c23b0bc0e 100644
--- a/ipatests/test_webui/test_realmdomains.py
+++ b/ipatests/test_webui/test_realmdomains.py
@@ -474,3 +474,40 @@ def test_add_non_dns_configured_domain_positive(self):
         self.del_realm_domain(realmdomain, 'ok')
         self.navigate_to_entity(ZONE_ENTITY)
         self.delete_record(ZONE_PKEY)
+
+    @screenshot
+    def test_del_domain_of_ipa_server_bug1035286(self):
+        """
+        Error should occur when:
+        1) delete Domain of Ipa server
+        2) select update
+        3) select force update
+        4) click "Cancel"
+        """
+        self.init_app()
+
+        ipadomain = self.config.get('ipa_domain')
+
+        realmdomain = ZONE_PKEY.strip('.')
+        self.prepare_dns_zone(realmdomain)
+
+        self.navigate_to_entity(ENTITY)
+        self._add_associateddomain([realmdomain])
+
+        self.navigate_to_entity(ENTITY)
+
+        self.del_multivalued('associateddomain', ipadomain)
+        self.facet_button_click('save')
+        self.dialog_button_click('force')
+        self.wait_for_request()
+
+        dialog = self.get_last_error_dialog()
+        assert ("invalid 'realmdomain list': "
+                "IPA server domain cannot be omitted" in dialog.text)
+        self.dialog_button_click('cancel')
+        self.facet_button_click('refresh')
+
+        # cleanup
+        self.del_realm_domain(realmdomain, 'ok')
+        self.navigate_to_entity(ZONE_ENTITY)
+        self.delete_record(ZONE_PKEY)

From 505ee9996a4ace6dc2a6616c99eb8e76180f3b7a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C4=8Cech?= <pc...@redhat.com>
Date: Wed, 28 Feb 2018 13:13:05 +0100
Subject: [PATCH 20/24] webui:tests: Add
 test_dnszone_add_hooked_to_realmdomains_mod

---
 ipatests/test_webui/test_realmdomains.py | 49 ++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/ipatests/test_webui/test_realmdomains.py b/ipatests/test_webui/test_realmdomains.py
index 7c23b0bc0e..92301e89c5 100644
--- a/ipatests/test_webui/test_realmdomains.py
+++ b/ipatests/test_webui/test_realmdomains.py
@@ -511,3 +511,52 @@ def test_del_domain_of_ipa_server_bug1035286(self):
         self.del_realm_domain(realmdomain, 'ok')
         self.navigate_to_entity(ZONE_ENTITY)
         self.delete_record(ZONE_PKEY)
+
+    @screenshot
+    def test_dnszone_add_hooked_to_realmdomains_mod(self):
+        """
+        DNSZone is hooked to realmdomains:
+        1) Navigate Identity >> DNS
+        2) Add Dnszone (newdom.com)
+        3) go to DNS Resource Records(DNS Zone >> newdom.com)
+        4) verify TXT record is exists
+        5) navigate Identity >> RealmDomain
+        6) verify newly added domain (newdom.com) exists in realmdomain list
+        7) Delete domain (newdom.com) from realmdomain list
+        8) go to DNS Resource Records(DNS Zone >> newdom.com)
+        9) verify TXT record is not exists
+        """
+        self.init_app()
+
+        realmdomain = ZONE_PKEY.strip('.')
+        realm = self.config.get('ipa_realm')
+
+        # add DNS domain
+        self.navigate_to_entity(ZONE_ENTITY)
+        self.add_record(ZONE_ENTITY, ZONE_DATA)
+        self.assert_record(ZONE_PKEY)
+
+        self.navigate_to_record(ZONE_PKEY)
+        self.assert_record('_kerberos')
+        self.assert_record_value('TXT', '_kerberos', 'type')
+        self.assert_record_value(realm, '_kerberos', 'data')
+
+        self.navigate_to_entity(ENTITY)
+        domains = self.get_multivalued_value('associateddomain')
+        assert realmdomain in domains
+
+        self.del_multivalued('associateddomain', realmdomain)
+        self.facet_button_click('save')
+        self.dialog_button_click('ok')
+        self.wait_for_request()
+
+        self.navigate_to_entity(ZONE_ENTITY)
+        self.assert_record(ZONE_PKEY)
+
+        self.navigate_to_record(ZONE_PKEY)
+        self.facet_button_click('refresh')
+        self.assert_record('_kerberos', negative=True)
+
+        # cleanup
+        self.navigate_to_entity(ZONE_ENTITY)
+        self.delete_record(ZONE_PKEY)

From e244dbebbac7a889df79a63922f641a5027e0e3a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C4=8Cech?= <pc...@redhat.com>
Date: Wed, 28 Feb 2018 13:15:21 +0100
Subject: [PATCH 21/24] webui:tests: Add
 test_dns_reversezone_add_hooked_to_realmdomains_mod

---
 ipatests/test_webui/test_realmdomains.py | 31 ++++++++++++++++++++++++++++++-
 1 file changed, 30 insertions(+), 1 deletion(-)

diff --git a/ipatests/test_webui/test_realmdomains.py b/ipatests/test_webui/test_realmdomains.py
index 92301e89c5..7c018b36c7 100644
--- a/ipatests/test_webui/test_realmdomains.py
+++ b/ipatests/test_webui/test_realmdomains.py
@@ -25,7 +25,8 @@
 from ipatests.test_webui.ui_driver import UI_driver
 from ipatests.test_webui.ui_driver import screenshot
 from ipatests.test_webui.data_dns import (
-    ZONE_ENTITY, ZONE_DATA, ZONE_PKEY, ZONE_DEFAULT_FACET
+    ZONE_ENTITY, FORWARD_ZONE_ENTITY, ZONE_DATA, FORWARD_ZONE_DATA,
+    ZONE_PKEY, FORWARD_ZONE_PKEY, ZONE_DEFAULT_FACET
 )
 import pytest
 
@@ -560,3 +561,31 @@ def test_dnszone_add_hooked_to_realmdomains_mod(self):
         # cleanup
         self.navigate_to_entity(ZONE_ENTITY)
         self.delete_record(ZONE_PKEY)
+
+    @screenshot
+    def test_dns_reversezone_add_hooked_to_realmdomains_mod(self):
+        """
+        Reverse DNS domain is not automatically add domain to the list of
+        domain associated with IPA realm
+        1) Navigate Identity >> DNS
+        2) Add Dns Reverse Zone (222.65.10.in-addr.arpa.)
+        3) navigate Identity >> RealmDomain
+        4) verify newly added domain (222.65.10.in-addr.arpa.) is not exists
+           in realmdomain list
+        """
+        self.init_app()
+
+        realmdomain = FORWARD_ZONE_PKEY.strip('.')
+
+        # add DNS Reverse zone
+        self.navigate_to_entity(FORWARD_ZONE_ENTITY)
+        self.add_record(FORWARD_ZONE_ENTITY, FORWARD_ZONE_DATA)
+        self.assert_record(FORWARD_ZONE_PKEY)
+
+        self.navigate_to_entity(ENTITY)
+        domains = self.get_multivalued_value('associateddomain')
+        assert realmdomain not in domains
+
+        # cleanup
+        self.navigate_to_entity(FORWARD_ZONE_ENTITY)
+        self.delete_record(FORWARD_ZONE_PKEY)

From b63f306bd6933d5421bc29e762359ed85c56209b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C4=8Cech?= <pc...@redhat.com>
Date: Wed, 28 Feb 2018 13:16:56 +0100
Subject: [PATCH 22/24] webui:tests: Add
 test_dnszone_del_hooked_to_realmdomains_mod

---
 ipatests/test_webui/test_realmdomains.py | 33 ++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/ipatests/test_webui/test_realmdomains.py b/ipatests/test_webui/test_realmdomains.py
index 7c018b36c7..1065fd89e6 100644
--- a/ipatests/test_webui/test_realmdomains.py
+++ b/ipatests/test_webui/test_realmdomains.py
@@ -589,3 +589,36 @@ def test_dns_reversezone_add_hooked_to_realmdomains_mod(self):
         # cleanup
         self.navigate_to_entity(FORWARD_ZONE_ENTITY)
         self.delete_record(FORWARD_ZONE_PKEY)
+
+    @screenshot
+    def test_dnszone_del_hooked_to_realmdomains_mod(self):
+        """
+        ipa dnszone-del also removes the entry from realmdomains list
+        1) Navigate Identity >> DNS
+        2) Add Dnszone (newdom.com)
+        3) navigate Identity >> RealmDomain
+        4) verify newly added domain (newdom.com) exists in realmdomain list
+        7) Navigate Identity >> DNS
+        8) Delete Dnszone(newdom.com)
+        9) navigate Identity >> RealmDomain
+        10) verify domain (newdom.com) is not exists in realmdomain list
+        """
+        self.init_app()
+
+        realmdomain = ZONE_PKEY.strip('.')
+
+        # add DNS domain
+        self.navigate_to_entity(ZONE_ENTITY)
+        self.add_record(ZONE_ENTITY, ZONE_DATA)
+        self.assert_record(ZONE_PKEY)
+
+        self.navigate_to_entity(ENTITY)
+        domains = self.get_multivalued_value('associateddomain')
+        assert realmdomain in domains
+
+        self.navigate_to_entity(ZONE_ENTITY)
+        self.delete_record(ZONE_PKEY)
+
+        self.navigate_to_entity(ENTITY)
+        domains = self.get_multivalued_value('associateddomain')
+        assert realmdomain not in domains

From 67e78c2952a55fb10a97621db3449789048390df Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C4=8Cech?= <pc...@redhat.com>
Date: Mon, 19 Mar 2018 14:03:02 +0100
Subject: [PATCH 23/24] webui:tests: Add test_add_single_labeled_domain

---
 ipatests/test_webui/test_realmdomains.py | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/ipatests/test_webui/test_realmdomains.py b/ipatests/test_webui/test_realmdomains.py
index 1065fd89e6..dce2e7c78a 100644
--- a/ipatests/test_webui/test_realmdomains.py
+++ b/ipatests/test_webui/test_realmdomains.py
@@ -121,7 +121,7 @@ def test_read(self):
         self.delete_record(ZONE_PKEY)
 
     @screenshot
-    def test_add_domain_with_special_char(self):
+    def test_add_single_labeled_domain(self):
         """
         Add domain with special_character
         """
@@ -130,6 +130,22 @@ def test_add_domain_with_special_char(self):
 
         domain_with_special_char = u'ipa@123#'
 
+        # add with force - skipping DNS check
+        self._add_associateddomain([domain_with_special_char], force=True)
+        dialog = self.get_last_error_dialog()
+        assert ("invalid 'domain': single label domains are not supported"
+                in dialog.text)
+
+    @screenshot
+    def test_add_domain_with_special_char(self):
+        """
+        Add domain with special_character
+        """
+        self.init_app()
+        self.navigate_to_entity(ENTITY)
+
+        domain_with_special_char = u'ipa@123#.com'
+
         # add with force - skipping DNS check
         self._add_associateddomain([domain_with_special_char], force=True)
         dialog = self.get_last_error_dialog()

From a2e492f9743b2b1654570d26e97a0af992f65231 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20=C4=8Cech?= <pc...@redhat.com>
Date: Fri, 2 Mar 2018 11:06:01 +0100
Subject: [PATCH 24/24] freeipa-pr-ci: Enable webui tests

We currently added some new WebUI tests and we would like to
enable them in PR CI.
---
 .freeipa-pr-ci.yaml | 162 +++++-----------------------------------------------
 1 file changed, 13 insertions(+), 149 deletions(-)

diff --git a/.freeipa-pr-ci.yaml b/.freeipa-pr-ci.yaml
index c95bef79e2..0f6883081d 100644
--- a/.freeipa-pr-ci.yaml
+++ b/.freeipa-pr-ci.yaml
@@ -3,6 +3,10 @@ topologies:
     name: build
     cpu: 2
     memory: 3800
+  ipaserver: &ipaserver
+    name: ipaserver
+    cpu: 1
+    memory: 2400
   master_1repl: &master_1repl
     name: master_1repl
     cpu: 4
@@ -11,6 +15,10 @@ topologies:
     name: master_1repl_1client
     cpu: 4
     memory: 6700
+  ipaserver: &ipaserver
+    name: ipaserver
+    cpu: 1
+    memory: 2400
 
 jobs:
   fedora-27/build:
@@ -27,158 +35,14 @@ jobs:
         timeout: 1800
         topology: *build
 
-  fedora-27/simple_replication:
+  fedora-27/test_webui:
     requires: [fedora-27/build]
     priority: 50
     job:
-      class: RunPytest
+      class: RunWebuiTests
       args:
         build_url: '{fedora-27/build_url}'
-        test_suite: test_integration/test_simple_replication.py
+        test_suite: test_webui/
         template: *ci-master-f27
-        timeout: 3600
-        topology: *master_1repl
-
-  fedora-27/caless:
-    requires: [fedora-27/build]
-    priority: 50
-    job:
-      class: RunPytest
-      args:
-        build_url: '{fedora-27/build_url}'
-        test_suite: test_integration/test_caless.py::TestServerReplicaCALessToCAFull
-        template: *ci-master-f27
-        timeout: 3600
-        topology: *master_1repl
-
-  fedora-27/external_ca:
-    requires: [fedora-27/build]
-    priority: 50
-    job:
-      class: RunPytest
-      args:
-        build_url: '{fedora-27/build_url}'
-        test_suite: test_integration/test_external_ca.py
-        template: *ci-master-f27
-        timeout: 3600
-        topology: *master_1repl
-
-  fedora-27/test_topologies:
-    requires: [fedora-27/build]
-    priority: 50
-    job:
-      class: RunPytest
-      args:
-        build_url: '{fedora-27/build_url}'
-        test_suite: test_integration/test_topologies.py
-        template: *ci-master-f27
-        timeout: 3600
-        topology: *master_1repl
-
-  fedora-27/test_sudo:
-    requires: [fedora-27/build]
-    priority: 50
-    job:
-      class: RunPytest
-      args:
-        build_url: '{fedora-27/build_url}'
-        test_suite: test_integration/test_sudo.py
-        template: *ci-master-f27
-        timeout: 3600
-        topology: *master_1repl_1client
-
-  fedora-27/test_kerberos_flags:
-    requires: [fedora-27/build]
-    priority: 50
-    job:
-      class: RunPytest
-      args:
-        build_url: '{fedora-27/build_url}'
-        test_suite: test_integration/test_kerberos_flags.py
-        template: *ci-master-f27
-        timeout: 3600
-        topology: *master_1repl_1client
-
-  fedora-27/test_http_kdc_proxy:
-    requires: [fedora-27/build]
-    priority: 50
-    job:
-      class: RunPytest
-      args:
-        build_url: '{fedora-27/build_url}'
-        test_suite: test_integration/test_http_kdc_proxy.py
-        template: *ci-master-f27
-        timeout: 3600
-        topology: *master_1repl_1client
-
-  fedora-27/test_forced_client_enrolment:
-    requires: [fedora-27/build]
-    priority: 50
-    job:
-      class: RunPytest
-      args:
-        build_url: '{fedora-27/build_url}'
-        test_suite: test_integration/test_forced_client_reenrollment.py
-        template: *ci-master-f27
-        timeout: 3600
-        topology: *master_1repl_1client
-
-  fedora-27/test_advise:
-    requires: [fedora-27/build]
-    priority: 50
-    job:
-      class: RunPytest
-      args:
-        build_url: '{fedora-27/build_url}'
-        test_suite: test_integration/test_advise.py
-        template: *ci-master-f27
-        timeout: 3600
-        topology: *master_1repl
-
-  fedora-27/test_testconfig:
-    requires: [fedora-27/build]
-    priority: 50
-    job:
-      class: RunPytest
-      args:
-        build_url: '{fedora-27/build_url}'
-        test_suite: test_integration/test_testconfig.py
-        template: *ci-master-f27
-        timeout: 3600
-        topology: *master_1repl
-
-  fedora-27/test_service_permissions:
-    requires: [fedora-27/build]
-    priority: 50
-    job:
-      class: RunPytest
-      args:
-        build_url: '{fedora-27/build_url}'
-        test_suite: test_integration/test_service_permissions.py
-        template: *ci-master-f27
-        timeout: 3600
-        topology: *master_1repl
-
-  fedora-27/test_netgroup:
-    requires: [fedora-27/build]
-    priority: 50
-    job:
-      class: RunPytest
-      args:
-        build_url: '{fedora-27/build_url}'
-        test_suite: test_integration/test_netgroup.py
-        template: *ci-master-f27
-        timeout: 3600
-        topology: *master_1repl
-
-  fedora-27/test_vault:
-    requires: [fedora-27/build]
-    priority: 50
-    job:
-      class: RunPytest
-      args:
-        build_url: '{fedora-27/build_url}'
-        test_suite: test_integration/test_vault.py
-        template: *ci-master-f27
-        timeout: 3600
-        topology: *master_1repl
+        timeout: 7200
+        topology: *ipaserver
_______________________________________________
FreeIPA-devel mailing list -- freeipa-devel@lists.fedorahosted.org
To unsubscribe send an email to freeipa-devel-le...@lists.fedorahosted.org

Reply via email to