diff options
Diffstat (limited to 'ipatests/test_webui/test_dns.py')
-rw-r--r-- | ipatests/test_webui/test_dns.py | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/ipatests/test_webui/test_dns.py b/ipatests/test_webui/test_dns.py new file mode 100644 index 000000000..23a3a4b19 --- /dev/null +++ b/ipatests/test_webui/test_dns.py @@ -0,0 +1,107 @@ +# Authors: +# Petr Vobornik <pvoborni@redhat.com> +# +# Copyright (C) 2013 Red Hat +# see file 'COPYING' for use and warranty information +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +""" +DNS tests +""" + +from ipatests.test_webui.ui_driver import UI_driver + +ZONE_ENTITY = 'dnszone' +RECORD_ENTITY = 'dnsrecord' +CONFIG_ENTITY = 'dnsconfig' + +ZONE_DEFAULT_FACET = 'records' + +ZONE_PKEY = 'foo.itest' + +ZONE_DATA = { + 'pkey': ZONE_PKEY, + 'add': [ + ('textbox', 'idnsname', ZONE_PKEY), + ('textbox', 'idnssoamname', 'ns'), + ('textbox', 'ip_address', '192.168.1.1'), + ('checkbox', 'force', ''), + ], + 'mod': [ + ('checkbox', 'idnsallowsyncptr',''), + ], +} + + +RECORD_PKEY = 'itest' +RECORD_ADD_DATA = { + 'pkey': RECORD_PKEY, + 'add': [ + ('textbox', 'idnsname', RECORD_PKEY), + ('textbox', 'a_part_ip_address', '192.168.1.10'), + ] +} + +RECORD_MOD_DATA = { + 'fields': [ + ('textbox', 'a_part_ip_address', '192.168.1.11'), + ] +} + +CONFIG_MOD_DATA = { + 'mod': [ + ('checkbox', 'idnsallowsyncptr',''), + ], +} + +class test_dns(UI_driver): + + def __init__(self, *args, **kwargs): + super(test_dns, self).__init__(args, kwargs) + + if not self.has_dns(): + self.skip('DNS not configured') + + def test_zone_record_crud(self): + """ + Basic CRUD: dns + """ + self.init_app() + + # add and mod zone + self.basic_crud(ZONE_ENTITY, ZONE_DATA, + default_facet=ZONE_DEFAULT_FACET , delete=False) + + # add and mod record + self.navigate_to_record(ZONE_PKEY) + self.add_record(ZONE_ENTITY, RECORD_ADD_DATA, + facet=ZONE_DEFAULT_FACET, navigate=False) + self.navigate_to_record(RECORD_PKEY) + self.add_table_record('arecord', RECORD_MOD_DATA) + + # del record, del zone + self.navigate_by_breadcrumb(ZONE_PKEY) + self.delete_record(RECORD_PKEY) + self.navigate_by_breadcrumb("DNS Zones") + self.delete_record(ZONE_PKEY) + + + def test_config_crud(self): + """ + Basic CRUD: dnsconfig + """ + self.init_app() + self.navigate_by_menu('identity/dns/dnsconfig') + self.mod_record(CONFIG_ENTITY, CONFIG_MOD_DATA) |