summaryrefslogtreecommitdiffstats
path: root/ipatests/test_xmlrpc/test_certprofile_plugin.py
diff options
context:
space:
mode:
authorMilan KubĂ­k <mkubik@redhat.com>2015-11-19 16:07:29 +0100
committerMartin Basti <mbasti@redhat.com>2015-12-02 17:12:24 +0100
commit17f9ca154b47f1e21797d25435e25676fdca284c (patch)
treefd3f5b2976acd3ca0718c88dbbe35782982be2b6 /ipatests/test_xmlrpc/test_certprofile_plugin.py
parentb8c619a7139bd7b65caa03b68431e22791ff19bf (diff)
downloadfreeipa-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.py126
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 = (