diff options
author | Petr Vobornik <pvoborni@redhat.com> | 2013-05-24 13:48:53 +0200 |
---|---|---|
committer | Petr Vobornik <pvoborni@redhat.com> | 2013-07-16 13:15:59 +0200 |
commit | 2a9be928556e58a69b7ce7a3b7f0aebd8f4c23bc (patch) | |
tree | 6520c97ee694acde785ceb1bc945b80f209137c2 /ipatests/test_webui/test_dns.py | |
parent | e3cddab940a77424b1bb56b75bba10d177fbc1cc (diff) | |
download | freeipa-2a9be928556e58a69b7ce7a3b7f0aebd8f4c23bc.tar.gz freeipa-2a9be928556e58a69b7ce7a3b7f0aebd8f4c23bc.tar.xz freeipa-2a9be928556e58a69b7ce7a3b7f0aebd8f4c23bc.zip |
Upstream Web UI tests
Documentation: http://www.freeipa.org/page/Web_UI_Integration_Tests
https://fedorahosted.org/freeipa/ticket/3744
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) |