diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_cmdline/test_cli.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/test_cmdline/test_cli.py b/tests/test_cmdline/test_cli.py index 46b33d548..095577a3b 100644 --- a/tests/test_cmdline/test_cli.py +++ b/tests/test_cmdline/test_cli.py @@ -186,3 +186,52 @@ class TestCLIParsing(object): version=API_VERSION) finally: self.run_command('dnszone_del', idnsname=u'test-example.com') + + def test_dnsrecord_add_ask_for_missing_fields(self): + sshfp_parts = (1, 1, u'E3B72BA346B90570EED94BE9334E34AA795CED23') + + with self.fake_stdin('SSHFP\n%d\n%d\n%s' % sshfp_parts): + self.check_command('dnsrecord-add test-example.com sshfp', + 'dnsrecord_add', + dnszoneidnsname=u'test-example.com', + idnsname=u'sshfp', + sshfp_part_fp_type=sshfp_parts[0], + sshfp_part_algorithm=sshfp_parts[1], + sshfp_part_fingerprint=sshfp_parts[2], + structured=False, + raw=False, + all=False, + force=False, + version=API_VERSION) + + # NOTE: when a DNS record part is passed via command line, it is not + # converted to its base type when transfered via wire + with self.fake_stdin('%d\n%s' % (sshfp_parts[1], sshfp_parts[2])): + self.check_command('dnsrecord-add test-example.com sshfp ' \ + '--sshfp-algorithm=%d' % sshfp_parts[0], + 'dnsrecord_add', + dnszoneidnsname=u'test-example.com', + idnsname=u'sshfp', + sshfp_part_fp_type=sshfp_parts[0], + sshfp_part_algorithm=unicode(sshfp_parts[1]), # passed via cmdline + sshfp_part_fingerprint=sshfp_parts[2], + structured=False, + raw=False, + all=False, + force=False, + version=API_VERSION) + + with self.fake_stdin(sshfp_parts[2]): + self.check_command('dnsrecord-add test-example.com sshfp ' \ + '--sshfp-algorithm=%d --sshfp-fp-type=%d' % (sshfp_parts[0], sshfp_parts[1]), + 'dnsrecord_add', + dnszoneidnsname=u'test-example.com', + idnsname=u'sshfp', + sshfp_part_fp_type=unicode(sshfp_parts[0]), # passed via cmdline + sshfp_part_algorithm=unicode(sshfp_parts[1]), # passed via cmdline + sshfp_part_fingerprint=sshfp_parts[2], + structured=False, + raw=False, + all=False, + force=False, + version=API_VERSION) |