diff options
author | Rob Crittenden <rcritten@redhat.com> | 2010-07-22 14:16:22 -0400 |
---|---|---|
committer | Rob Crittenden <rcritten@redhat.com> | 2010-08-06 15:31:57 -0400 |
commit | d885339f1cbf208b06c1eb26c49c60d11d62f1c3 (patch) | |
tree | 73411396f22a74ed0381fe33c71abf47c3f3adb6 /tests/test_xmlrpc/test_host_plugin.py | |
parent | 830910d1f30de22c037f43d7bcba33bd877a5581 (diff) | |
download | freeipa-d885339f1cbf208b06c1eb26c49c60d11d62f1c3.tar.gz freeipa-d885339f1cbf208b06c1eb26c49c60d11d62f1c3.tar.xz freeipa-d885339f1cbf208b06c1eb26c49c60d11d62f1c3.zip |
Require that hosts be resolvable in DNS. Use --force to ignore warnings.
This also requires a resolvable hostname on services as well. I want
people to think long and hard about adding things that aren't resolvable.
The cert plugin can automatically create services on the user's behalf when
issuing a cert. It will always set the force flag to True.
We use a lot of made-up host names in the test system, all of which require
the force flag now.
ticket #25
Diffstat (limited to 'tests/test_xmlrpc/test_host_plugin.py')
-rw-r--r-- | tests/test_xmlrpc/test_host_plugin.py | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/tests/test_xmlrpc/test_host_plugin.py b/tests/test_xmlrpc/test_host_plugin.py index 7ae068c36..8c2224b58 100644 --- a/tests/test_xmlrpc/test_host_plugin.py +++ b/tests/test_xmlrpc/test_host_plugin.py @@ -32,12 +32,15 @@ short1 = u'testhost1' dn1 = u'fqdn=%s,cn=computers,cn=accounts,%s' % (fqdn1, api.env.basedn) service1 = u'dns/%s@%s' % (fqdn1, api.env.realm) service1dn = u'krbprincipalname=%s,cn=services,cn=accounts,%s' % (service1.lower(), api.env.basedn) +fqdn2 = u'shouldnotexist.%s' % api.env.domain +dn2 = u'fqdn=%s,cn=computers,cn=accounts,%s' % (fqdn2, api.env.basedn) class test_host(Declarative): cleanup_commands = [ ('host_del', [fqdn1], {}), + ('host_del', [fqdn2], {}), ('service_del', [service1], {}), ] @@ -70,6 +73,7 @@ class test_host(Declarative): dict( description=u'Test host 1', l=u'Undisclosed location 1', + force=True, ), ), expected=dict( @@ -94,6 +98,7 @@ class test_host(Declarative): dict( description=u'Test host 1', localityname=u'Undisclosed location 1', + force=True, ), ), expected=errors.DuplicateEntry(), @@ -267,6 +272,7 @@ class test_host(Declarative): dict( description=u'Test host 1', l=u'Undisclosed location 1', + force=True, ), ), expected=dict( @@ -286,7 +292,7 @@ class test_host(Declarative): dict( desc='Add a service to host %r' % fqdn1, - command=('service_add', [service1], {}), + command=('service_add', [service1], {'force': True}), expected=dict( value=service1, summary=u'Added service "%s"' % service1, @@ -321,4 +327,36 @@ class test_host(Declarative): ), ), + + dict( + desc='Try to add host not in DNS %r without force' % fqdn2, + command=('host_add', [fqdn2], {}), + expected=errors.DNSNotARecordError(reason='Host does not have corresponding DNS A record'), + ), + + + dict( + desc='Try to add host not in DNS %r with force' % fqdn2, + command=('host_add', [fqdn2], + dict( + description=u'Test host 2', + l=u'Undisclosed location 2', + force=True, + ), + ), + expected=dict( + value=fqdn2, + summary=u'Added host "%s"' % fqdn2, + result=dict( + dn=dn2, + fqdn=[fqdn2], + description=[u'Test host 2'], + l=[u'Undisclosed location 2'], + krbprincipalname=[u'host/%s@%s' % (fqdn2, api.env.realm)], + objectclass=objectclasses.host, + ipauniqueid=[fuzzy_uuid], + ), + ), + ), + ] |