diff options
author | Milan KubĂk <mkubik@redhat.com> | 2015-11-19 16:07:29 +0100 |
---|---|---|
committer | Martin Basti <mbasti@redhat.com> | 2015-12-02 17:12:24 +0100 |
commit | 17f9ca154b47f1e21797d25435e25676fdca284c (patch) | |
tree | fd3f5b2976acd3ca0718c88dbbe35782982be2b6 /ipatests/test_xmlrpc/test_certprofile_plugin.py | |
parent | b8c619a7139bd7b65caa03b68431e22791ff19bf (diff) | |
download | freeipa-17f9ca154b47f1e21797d25435e25676fdca284c.tar.gz freeipa-17f9ca154b47f1e21797d25435e25676fdca284c.tar.xz freeipa-17f9ca154b47f1e21797d25435e25676fdca284c.zip |
Separated Tracker implementations into standalone package
The previous way of implementing trackers in the module with
the test caused circular imports. The separate package resolves
this issue.
https://fedorahosted.org/freeipa/ticket/5467
Reviewed-By: Ales 'alich' Marecek <amarecek@redhat.com>
Diffstat (limited to 'ipatests/test_xmlrpc/test_certprofile_plugin.py')
-rw-r--r-- | ipatests/test_xmlrpc/test_certprofile_plugin.py | 126 |
1 files changed, 1 insertions, 125 deletions
diff --git a/ipatests/test_xmlrpc/test_certprofile_plugin.py b/ipatests/test_xmlrpc/test_certprofile_plugin.py index 1f06f99f5..66a72de3e 100644 --- a/ipatests/test_xmlrpc/test_certprofile_plugin.py +++ b/ipatests/test_xmlrpc/test_certprofile_plugin.py @@ -12,133 +12,9 @@ import os import pytest from ipalib import api, errors -from ipapython.dn import DN from ipatests.util import prepare_config -from ipatests.test_xmlrpc.ldaptracker import Tracker from ipatests.test_xmlrpc.xmlrpc_test import XMLRPC_test, raises_exact -from ipatests.test_xmlrpc import objectclasses -from ipatests.util import assert_deepequal - - -class CertprofileTracker(Tracker): - """Tracker class for certprofile plugin. - """ - - retrieve_keys = { - 'dn', 'cn', 'description', 'ipacertprofilestoreissued' - } - retrieve_all_keys = retrieve_keys | {'objectclass'} - create_keys = retrieve_keys | {'objectclass'} - update_keys = retrieve_keys - {'dn'} - managedby_keys = retrieve_keys - allowedto_keys = retrieve_keys - - def __init__(self, name, store=False, desc='dummy description', - profile=None, default_version=None): - super(CertprofileTracker, self).__init__( - default_version=default_version - ) - - self.store = store - self.description = desc - self._profile_path = profile - - self.dn = DN(('cn', name), 'cn=certprofiles', 'cn=ca', - self.api.env.basedn) - - @property - def profile(self): - if not self._profile_path: - return None - - if os.path.isabs(self._profile_path): - path = self._profile_path - else: - path = os.path.join(os.path.dirname(__file__), - self._profile_path) - - with open(path, 'r') as f: - content = f.read() - return unicode(content) - - def make_create_command(self, force=True): - if not self.profile: - raise RuntimeError('Tracker object without path to profile ' - 'cannot be used to create profile entry.') - - return self.make_command('certprofile_import', self.name, - description=self.description, - ipacertprofilestoreissued=self.store, - file=self.profile) - - def check_create(self, result): - assert_deepequal(dict( - value=self.name, - summary=u'Imported profile "{}"'.format(self.name), - result=dict(self.filter_attrs(self.create_keys)) - ), result) - - def track_create(self): - self.attrs = dict( - dn=unicode(self.dn), - cn=[self.name], - description=[self.description], - ipacertprofilestoreissued=[unicode(self.store).upper()], - objectclass=objectclasses.certprofile - ) - self.exists = True - - def make_delete_command(self): - return self.make_command('certprofile_del', self.name) - - def check_delete(self, result): - assert_deepequal(dict( - value=[self.name], # correctly a list? - summary=u'Deleted profile "{}"'.format(self.name), - result=dict(failed=[]), - ), result) - - def make_retrieve_command(self, all=False, raw=False, **options): - return self.make_command('certprofile_show', self.name, all=all, - raw=raw, **options) - - def check_retrieve(self, result, all=False, raw=False): - if all: - expected = self.filter_attrs(self.retrieve_all_keys) - else: - expected = self.filter_attrs(self.retrieve_keys) - - assert_deepequal(dict( - value=self.name, - summary=None, - result=expected, - ), result) - - def make_find_command(self, *args, **kwargs): - return self.make_command('certprofile_find', *args, **kwargs) - - def check_find(self, result, all=False, raw=False): - if all: - expected = self.filter_attrs(self.retrieve_all_keys) - else: - expected = self.filter_attrs(self.retrieve_keys) - - assert_deepequal(dict( - count=1, - truncated=False, - summary=u'1 profile matched', - result=[expected] - ), result) - - def make_update_command(self, updates): - return self.make_command('certprofile_mod', self.name, **updates) - - def check_update(self, result, extra_keys=()): - assert_deepequal(dict( - value=self.name, - summary=u'Modified Certificate Profile "{}"'.format(self.name), - result=self.filter_attrs(self.update_keys | set(extra_keys)) - ), result) +from ipatests.test_xmlrpc.tracker.certprofile_plugin import CertprofileTracker IPA_CERT_SUBJ_BASE = ( |