summaryrefslogtreecommitdiffstats
path: root/ipatests/test_xmlrpc
diff options
context:
space:
mode:
authorTomas Babej <tbabej@redhat.com>2014-04-29 18:09:22 +0200
committerAlexander Bokovoy <abokovoy@redhat.com>2014-05-05 19:06:39 +0300
commit004071a24626195994265b1bcc3ac616bb09d795 (patch)
tree13de8235d0d7acdf4063ea031b4601d98c1e1319 /ipatests/test_xmlrpc
parent473a9fd23800b46b4608465ae47da523e8a2861f (diff)
downloadfreeipa-004071a24626195994265b1bcc3ac616bb09d795.tar.gz
freeipa-004071a24626195994265b1bcc3ac616bb09d795.tar.xz
freeipa-004071a24626195994265b1bcc3ac616bb09d795.zip
ipatests: Add test for denying expired principals
Part of: https://fedorahosted.org/freeipa/ticket/3305 Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com> Reviewed-By: Simo Sorce <simo@redhat.com>
Diffstat (limited to 'ipatests/test_xmlrpc')
-rw-r--r--ipatests/test_xmlrpc/test_user_plugin.py49
1 files changed, 45 insertions, 4 deletions
diff --git a/ipatests/test_xmlrpc/test_user_plugin.py b/ipatests/test_xmlrpc/test_user_plugin.py
index 495541341..e4c06145e 100644
--- a/ipatests/test_xmlrpc/test_user_plugin.py
+++ b/ipatests/test_xmlrpc/test_user_plugin.py
@@ -24,14 +24,15 @@ Test the `ipalib/plugins/user.py` module.
"""
import datetime
+import ldap
import re
from ipalib import api, errors
from ipatests.test_xmlrpc import objectclasses
-from ipatests.util import assert_equal, assert_not_equal
-from xmlrpc_test import (Declarative, fuzzy_digits, fuzzy_uuid, fuzzy_password,
- fuzzy_string, fuzzy_dergeneralizedtime, add_sid,
- add_oc)
+from ipatests.util import assert_equal, assert_not_equal, raises
+from xmlrpc_test import (XMLRPC_test, Declarative, fuzzy_digits, fuzzy_uuid,
+ fuzzy_password, fuzzy_string, fuzzy_dergeneralizedtime,
+ add_sid, add_oc)
from ipapython.dn import DN
user1 = u'tuser1'
@@ -1582,3 +1583,43 @@ class test_user(Declarative):
),
]
+
+
+class test_denied_bind_with_expired_principal(XMLRPC_test):
+
+ password = u'random'
+
+ @classmethod
+ def setUpClass(cls):
+ super(test_denied_bind_with_expired_principal, cls).setUpClass()
+
+ cls.connection = ldap.initialize('ldap://{host}'
+ .format(host=api.env.host))
+
+ def test_1_bind_as_test_user(self):
+ self.failsafe_add(
+ api.Object.user,
+ user1,
+ givenname=u'Test',
+ sn=u'User1',
+ userpassword=self.password,
+ krbprincipalexpiration=principal_expiration_string
+ )
+
+ self.connection.simple_bind_s(str(get_user_dn(user1)), self.password)
+
+ def test_2_bind_as_expired_test_user(self):
+ api.Command['user_mod'](
+ user1,
+ krbprincipalexpiration=expired_expiration_string)
+
+ raises(ldap.UNWILLING_TO_PERFORM,
+ self.connection.simple_bind_s,
+ str(get_user_dn(user1)), self.password)
+
+ def test_3_bind_as_renewed_test_user(self):
+ api.Command['user_mod'](
+ user1,
+ krbprincipalexpiration=principal_expiration_string)
+
+ self.connection.simple_bind_s(str(get_user_dn(user1)), self.password)