mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
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. Reviewed-By: Petr Cech <pcech@redhat.com>
This commit is contained in:
committed by
Christian Heimes
parent
d7d13bc950
commit
d73d49f3f6
@@ -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.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('force')
|
||||
self.wait_for_request()
|
||||
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)
|
||||
|
Reference in New Issue
Block a user