summaryrefslogtreecommitdiffstats
path: root/ipatests/test_xmlrpc
diff options
context:
space:
mode:
authorOleg Fayans <ofayans@redhat.com>2016-10-21 10:53:19 +0200
committerMartin Babinsky <mbabinsk@redhat.com>2016-11-29 18:30:44 +0100
commit452dc97aba12288a23c20f519f4c1c0d4408b765 (patch)
tree2b6843951ad80289e4736c6dc6da0acd3e1c71e9 /ipatests/test_xmlrpc
parentccd3677b50eab2223ddf1e1b6682c20fc695ad24 (diff)
downloadfreeipa-452dc97aba12288a23c20f519f4c1c0d4408b765.tar.gz
freeipa-452dc97aba12288a23c20f519f4c1c0d4408b765.tar.xz
freeipa-452dc97aba12288a23c20f519f4c1c0d4408b765.zip
tests: Added basic tests for certs in idoverrides
https://fedorahosted.org/freeipa/ticket/6412 Reviewed-By: Martin Basti <mbasti@redhat.com> Reviewed-By: Milan Kubik <mkubik@redhat.com>
Diffstat (limited to 'ipatests/test_xmlrpc')
-rw-r--r--ipatests/test_xmlrpc/test_add_remove_cert_cmd.py82
1 files changed, 82 insertions, 0 deletions
diff --git a/ipatests/test_xmlrpc/test_add_remove_cert_cmd.py b/ipatests/test_xmlrpc/test_add_remove_cert_cmd.py
index edc97f07b..7706133ed 100644
--- a/ipatests/test_xmlrpc/test_add_remove_cert_cmd.py
+++ b/ipatests/test_xmlrpc/test_add_remove_cert_cmd.py
@@ -11,6 +11,30 @@ from ipapython.dn import DN
from ipatests.util import assert_deepequal, raises
from ipatests.test_xmlrpc.xmlrpc_test import XMLRPC_test
from ipatests.test_xmlrpc.testcert import get_testcert
+from ipatests.test_xmlrpc.tracker.user_plugin import UserTracker
+from ipatests.test_xmlrpc.tracker.idview_plugin import IdviewTracker
+
+
+@pytest.fixture(scope='class')
+def idview(request):
+ tracker = IdviewTracker(cn=u'MyView')
+ return tracker.make_fixture(request)
+
+
+@pytest.fixture(scope='class')
+def testuser(request):
+ tracker = UserTracker(name=u'testuser', givenname=u'John', sn=u'Donne')
+ return tracker.make_fixture(request)
+
+
+@pytest.fixture(scope='class')
+def cert1(request):
+ return get_testcert(DN(('CN', u'testuser')), u'testuser')
+
+
+@pytest.fixture(scope='class')
+def cert2(request):
+ return get_testcert(DN(('CN', u'testuser')), u'testuser')
@pytest.mark.tier1
@@ -352,3 +376,61 @@ class TestCertManipCmdService(CertManipCmdTestBase):
api.Command.host_del(TestCertManipCmdHost.entity_pkey)
except errors.NotFound:
pass
+
+
+@pytest.mark.tier1
+class TestCertManipIdOverride(XMLRPC_test):
+ entity_subject = u'testuser'
+ entity_principal = u'testuser'
+
+ def test_00_add_idoverrideuser(self, testuser, idview):
+ testuser.create()
+ idview.create()
+ idview.idoverrideuser_add(testuser)
+
+ def test_01_add_cert_to_idoverride(self, testuser, idview, cert1):
+ assert_deepequal(
+ dict(usercertificate=(base64.b64decode(cert1),),
+ summary=u'Added certificates to'
+ ' idoverrideuser \"%s\"' % testuser.name,
+ value=testuser.name,
+ ),
+ idview.add_cert_to_idoverrideuser(testuser.name, cert1)
+ )
+
+ def test_02_add_second_cert_to_idoverride(self, testuser,
+ idview, cert1, cert2):
+ assert_deepequal(
+ dict(
+ usercertificate=(base64.b64decode(cert1),
+ base64.b64decode(cert2)),
+ summary=u'Added certificates to'
+ ' idoverrideuser \"%s\"' % testuser.name,
+ value=testuser.name,
+ ),
+ idview.add_cert_to_idoverrideuser(testuser.name, cert2)
+ )
+
+ def test_03_add_the_same_cert_to_idoverride(self, testuser,
+ idview, cert1, cert2):
+ pytest.raises(errors.ExecutionError,
+ idview.add_cert_to_idoverrideuser,
+ testuser.name, cert1)
+
+ def test_04_user_show_displays_cert(self, testuser, idview, cert1, cert2):
+ result = api.Command.idoverrideuser_show(idview.cn, testuser.name)
+ assert_deepequal((base64.b64decode(cert1),
+ base64.b64decode(cert2)),
+ result['result']['usercertificate']
+ )
+
+ def test_05_remove_cert(self, testuser, idview, cert1, cert2):
+ assert_deepequal(
+ dict(
+ usercertificate=(base64.b64decode(cert2),),
+ value=testuser.name,
+ summary=u'Removed certificates from'
+ ' idoverrideuser "%s"' % testuser.name
+ ),
+ idview.del_cert_from_idoverrideuser(testuser.name, cert1)
+ )