summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetr Vobornik <pvoborni@redhat.com>2018-02-16 18:12:48 +0100
committerPetr Vobornik <pvoborni@redhat.com>2018-02-16 20:02:11 +0100
commitf945d6a200c2d7505a3da587605522e9dbfcd76f (patch)
tree0b71189e54722598b312aba4e311d95dc96af41c
parentdc28d3653365d0a658b2ecb73f7d9c3bd603e465 (diff)
downloadfreeipa-f945d6a200c2d7505a3da587605522e9dbfcd76f.tar.gz
freeipa-f945d6a200c2d7505a3da587605522e9dbfcd76f.tar.xz
freeipa-f945d6a200c2d7505a3da587605522e9dbfcd76f.zip
webui:tests: realm domain add with DNS check
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" When a new domain is added using dnszone-add it automatically adds this TXT record and adds a realm domain. So in order to test without external DNS we must get into state where realm domain is not added (in order to add it) but DNS domain with the TXT record exists.
-rw-r--r--ipatests/test_webui/test_realmdomains.py62
1 files changed, 58 insertions, 4 deletions
diff --git a/ipatests/test_webui/test_realmdomains.py b/ipatests/test_webui/test_realmdomains.py
index e7737c932..d53f23e1b 100644
--- a/ipatests/test_webui/test_realmdomains.py
+++ b/ipatests/test_webui/test_realmdomains.py
@@ -23,6 +23,9 @@ Realm domains tests
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
+)
import pytest
ENTITY = 'realmdomains'
@@ -31,6 +34,12 @@ ENTITY = 'realmdomains'
@pytest.mark.tier1
class test_realmdomains(UI_driver):
+ def del_realm_domain(self, realmdomain, button):
+ self.del_multivalued('associateddomain', realmdomain)
+ self.facet_button_click('save')
+ self.dialog_button_click(button)
+ self.wait_for_request()
+
@screenshot
def test_read(self):
"""
@@ -39,15 +48,60 @@ class test_realmdomains(UI_driver):
self.init_app()
self.navigate_to_entity(ENTITY)
- # add
+ # 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()
# delete
- self.del_multivalued('associateddomain', 'itest.bar')
- self.facet_button_click('save')
- self.dialog_button_click('force')
+ 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"
+ # When a new domain is added using dnszone-add it automatically adds
+ # this TXT record and adds a realm domain. So in order to test without
+ # external DNS we must get into state where realm domain is not added
+ # (in order to add it) but DNS domain with the TXT record
+ # exists.
+
+ # add DNS domain
+ 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
+ self.navigate_to_entity(ENTITY)
+ self.del_realm_domain(realmdomain, 'ok')
+
+ # re-add _TXT kerberos.$domain "$REALM"
+ self.navigate_to_entity(ZONE_ENTITY)
+ self.navigate_to_record(ZONE_PKEY)
+
+ DNS_RECORD_ADD_DATA = {
+ 'pkey': '_kerberos',
+ 'add': [
+ ('textbox', 'idnsname', '_kerberos'),
+ ('selectbox', 'record_type', 'txtrecord'),
+ ('textbox', 'txt_part_data', realm),
+ ]
+ }
+ self.add_record(ZONE_ENTITY, DNS_RECORD_ADD_DATA,
+ facet=ZONE_DEFAULT_FACET, navigate=False)
+
+ # 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()
+
+ # cleanup
+ self.del_realm_domain(realmdomain, 'ok')
+ self.navigate_to_entity(ZONE_ENTITY)
+ self.delete_record(ZONE_PKEY)