summaryrefslogtreecommitdiffstats
path: root/tests/test_cmdline
diff options
context:
space:
mode:
authorAna Krivokapic <akrivoka@redhat.com>2013-05-09 18:47:12 +0200
committerMartin Kosek <mkosek@redhat.com>2013-05-16 11:01:33 +0200
commitc5bfeb1ed0fc8a31fcfea475cccc98da37f7c17e (patch)
tree14c3f46121ed968a58764259a2c3c67741734a61 /tests/test_cmdline
parent78774916c89a3feac7ab8b380fcd483285951a8d (diff)
downloadfreeipa-c5bfeb1ed0fc8a31fcfea475cccc98da37f7c17e.tar.gz
freeipa-c5bfeb1ed0fc8a31fcfea475cccc98da37f7c17e.tar.xz
freeipa-c5bfeb1ed0fc8a31fcfea475cccc98da37f7c17e.zip
Prompt for nameserver IP address in dnszone-add
Prompt for nameserver IP address in interactive mode of dnszone-add. Add a corresponding field to dnszone creation dialog in the web UI. This parameter is required if and only if: * New zone is a forward zone * Nameserver is defined inside the new zone Add a new unit test to cover this functionality. https://fedorahosted.org/freeipa/ticket/3603
Diffstat (limited to 'tests/test_cmdline')
-rw-r--r--tests/test_cmdline/test_cli.py67
1 files changed, 67 insertions, 0 deletions
diff --git a/tests/test_cmdline/test_cli.py b/tests/test_cmdline/test_cli.py
index f66906c6a..bd1281e1d 100644
--- a/tests/test_cmdline/test_cli.py
+++ b/tests/test_cmdline/test_cli.py
@@ -258,3 +258,70 @@ class TestCLIParsing(object):
version=API_VERSION)
finally:
self.run_command('dnszone_del', idnsname=u'test-example.com')
+
+ def test_dnszone_add(self):
+ """
+ Test dnszone-add with nameserver IP passed interatively
+ """
+ # Pass IP of nameserver interactively for nameserver in zone
+ # (absolute name)
+ with self.fake_stdin('1.1.1.1\n'):
+ self.check_command(
+ 'dnszone_add example.com --name-server=ns.example.com. '
+ '--admin-email=admin@example.com',
+ 'dnszone_add',
+ idnsname=u'example.com',
+ idnssoamname=u'ns.example.com.',
+ idnssoarname=u'admin@example.com',
+ ip_address=u'1.1.1.1',
+ idnssoaexpire=util.Fuzzy(type=int),
+ idnssoaserial=util.Fuzzy(type=int),
+ idnssoaretry=util.Fuzzy(type=int),
+ idnssoaminimum=util.Fuzzy(type=int),
+ idnssoarefresh=util.Fuzzy(type=int),
+ all=False,
+ raw=False,
+ force=False,
+ version=API_VERSION
+ )
+
+ # Pass IP of nameserver interactively for nameserver in zone
+ # (relative name)
+ with self.fake_stdin('1.1.1.1\n'):
+ self.check_command(
+ 'dnszone_add example.com --name-server=ns '
+ '--admin-email=admin@example.com',
+ 'dnszone_add',
+ idnsname=u'example.com',
+ idnssoamname=u'ns',
+ idnssoarname=u'admin@example.com',
+ ip_address=u'1.1.1.1',
+ idnssoaexpire=util.Fuzzy(type=int),
+ idnssoaserial=util.Fuzzy(type=int),
+ idnssoaretry=util.Fuzzy(type=int),
+ idnssoaminimum=util.Fuzzy(type=int),
+ idnssoarefresh=util.Fuzzy(type=int),
+ all=False,
+ raw=False,
+ force=False,
+ version=API_VERSION
+ )
+
+ # Nameserver is outside the zone - no need to pass the IP
+ self.check_command(
+ 'dnszone_add example.com --name-server=ns.example.net. '
+ '--admin-email=admin@example.com',
+ 'dnszone_add',
+ idnsname=u'example.com',
+ idnssoamname=u'ns.example.net.',
+ idnssoarname=u'admin@example.com',
+ idnssoaexpire=util.Fuzzy(type=int),
+ idnssoaserial=util.Fuzzy(type=int),
+ idnssoaretry=util.Fuzzy(type=int),
+ idnssoaminimum=util.Fuzzy(type=int),
+ idnssoarefresh=util.Fuzzy(type=int),
+ all=False,
+ raw=False,
+ force=False,
+ version=API_VERSION
+ )