From ecdd7dae19e84b33c65bf6203a2cd906a9eebc4e Mon Sep 17 00:00:00 2001 From: Florence Blanc-Renaud Date: Tue, 12 Nov 2019 18:46:36 +0100 Subject: [PATCH] XMLRPCtest: add a test for add-certmapdata with multiple subject/issuer ipa user-add-certmapdata defines --issuer and --subject as single valued. Add a test checking that this is enforced. Related: https://pagure.io/freeipa/issue/8097 Signed-off-by: Florence Blanc-Renaud Reviewed-By: Rob Crittenden --- ipatests/test_xmlrpc/test_certmap_plugin.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/ipatests/test_xmlrpc/test_certmap_plugin.py b/ipatests/test_xmlrpc/test_certmap_plugin.py index 0fb574e2b..fff3fdb08 100644 --- a/ipatests/test_xmlrpc/test_certmap_plugin.py +++ b/ipatests/test_xmlrpc/test_certmap_plugin.py @@ -7,7 +7,7 @@ import pytest from ipalib import api, errors from ipapython.dn import DN -from ipatests.test_xmlrpc.xmlrpc_test import XMLRPC_test +from ipatests.test_xmlrpc.xmlrpc_test import XMLRPC_test, raises_exact from ipatests.test_xmlrpc.tracker.certmap_plugin import (CertmapruleTracker, CertmapconfigTracker) from ipatests.test_xmlrpc.tracker.user_plugin import UserTracker @@ -230,6 +230,24 @@ class TestAddRemoveCertmap(XMLRPC_test): certmap_user.add_certmap(ipacertmapdata=u'rawdata') certmap_user.remove_certmap(ipacertmapdata=u'rawdata') + def test_add_certmap_multiple_subject(self, certmap_user): + certmap_user.ensure_exists() + cmd = certmap_user.make_command('user_add_certmapdata', + certmap_user.name) + with raises_exact(errors.ConversionError( + name='subject', + error=u"Only one value is allowed")): + cmd(subject=(u'CN=subject1', u'CN=subject2'), issuer=u'CN=issuer') + + def test_add_certmap_multiple_issuer(self, certmap_user): + certmap_user.ensure_exists() + cmd = certmap_user.make_command('user_add_certmapdata', + certmap_user.name) + with raises_exact(errors.ConversionError( + name='issuer', + error=u"Only one value is allowed")): + cmd(issuer=(u'CN=issuer1', u'CN=issuer2'), subject=u'CN=subject') + class EWE: """