Applied tier0 and tier1 marks on unit tests and xmlrpc tests

Web UI tests were marked as tier1 tests.

The tier system is intended to be used together with CI system
to make sure the more complicated tests are being run only
when all of the basic functionality is working.

The system is using pytest's marker system. E.g. an invocation of
all tier1 tests with listing will look like:

    $ py.test -v -m tier1 ipatests

or in case of out of tree tests:

    $ ipa-run-tests -m tier1

Reviewed-By: Ales 'alich' Marecek <amarecek@redhat.com>
This commit is contained in:
Milan Kubik
2015-04-24 14:39:48 +02:00
committed by Martin Basti
parent 4d94367006
commit 0a64e9bd70
106 changed files with 323 additions and 1 deletions

View File

@@ -23,3 +23,6 @@ addopts = --doctest-modules
--ignore=install/share/wsgi.py
--ignore=ipapython/py_default_encoding/setup.py
--ignore=ipapython/ipap11helper/setup.py
markers =
tier0: basic unit tests and critical functionality
tier1: functional API tests

View File

@@ -9,11 +9,13 @@ from six import StringIO
from ipatests import util
from ipalib import api, errors
from ipapython.version import API_VERSION
import pytest
if six.PY3:
unicode = str
@pytest.mark.tier0
class TestCLIParsing(object):
"""Tests that commandlines are correctly parsed to Command keyword args
"""

View File

@@ -26,11 +26,13 @@ from six import StringIO
from ipalib import api, errors
from ipalib.plugins.user import user_add
import pytest
if six.PY3:
unicode = str
@pytest.mark.tier0
class CLITestContext(object):
"""Context manager that replaces stdout & stderr, and catches SystemExit

View File

@@ -32,6 +32,7 @@ import tempfile
import gssapi
from ipaserver.plugins.ldap2 import ldap2
from ipapython.dn import DN
import pytest
def use_keytab(principal, keytab):
try:
@@ -52,6 +53,8 @@ def use_keytab(principal, keytab):
if tmpdir:
shutil.rmtree(tmpdir)
@pytest.mark.tier0
class test_ipagetkeytab(cmdline_test):
"""
Test `ipa-getkeytab`.

View File

@@ -24,6 +24,7 @@ import unittest
import os
import nose
import pytest
from ipalib import api
from ipalib import errors
@@ -45,6 +46,8 @@ have occurred as expected.
The DM password needs to be set in ~/.ipa/.dmpw
"""
@pytest.mark.tier0
class test_update(unittest.TestCase):
"""
Test the LDAP updater.

View File

@@ -25,6 +25,10 @@ from __future__ import print_function
from ipalib.aci import ACI
import pytest
pytestmark = pytest.mark.tier0
def check_aci_parsing(source, expected):
a = ACI(source)
print('ACI was: ', a)

View File

@@ -34,7 +34,9 @@ from ipalib.frontend import Command
from ipalib import backend, plugable, errors, base
from ipapython.version import API_VERSION
import pytest
pytestmark = pytest.mark.tier0
class test_Backend(ClassChecker):
"""

View File

@@ -22,6 +22,7 @@ Test the `ipalib.base` module.
"""
import six
import pytest
from ipatests.util import ClassChecker, raises
from ipalib.constants import NAME_REGEX, NAME_ERROR
@@ -32,6 +33,9 @@ if six.PY3:
unicode = str
pytestmark = pytest.mark.tier0
class test_ReadOnly(ClassChecker):
"""
Test the `ipalib.base.ReadOnly` class

View File

@@ -23,6 +23,9 @@ Test the `ipalib.errors` module.
from ipalib.capabilities import capabilities, client_has_capability
import pytest
pytestmark = pytest.mark.tier0
def test_client_has_capability():
assert capabilities['messages'] == u'2.52'

View File

@@ -24,6 +24,9 @@ Test the `ipalib.cli` module.
from ipatests.util import raises, get_api, ClassChecker
from ipalib import cli, plugable, frontend, backend
import pytest
pytestmark = pytest.mark.tier0
class test_textui(ClassChecker):
_cls = cli.textui

View File

@@ -34,6 +34,9 @@ from ipalib.constants import NAME_REGEX, NAME_ERROR
from ipalib import config, constants, base
from ipaplatform.paths import paths
import pytest
pytestmark = pytest.mark.tier0
# Valid environment variables in (key, raw, value) tuples:
# key: the name of the environment variable

View File

@@ -25,6 +25,9 @@ from ipatests.util import read_only, raises, get_api, ClassChecker
from ipalib import crud, frontend, plugable, config
from ipalib.parameters import Str
import pytest
pytestmark = pytest.mark.tier0
class CrudChecker(ClassChecker):
"""

View File

@@ -26,6 +26,7 @@ Test the `ipalib.errors` module.
import re
import inspect
import pytest
import six
@@ -38,6 +39,9 @@ if six.PY3:
unicode = str
pytestmark = pytest.mark.tier0
class PrivateExceptionTester(object):
_klass = None
__klass = None

View File

@@ -23,6 +23,7 @@ Test the `ipalib.frontend` module.
# FIXME: Pylint errors
# pylint: disable=no-member
import pytest
import six
@@ -40,6 +41,9 @@ if six.PY3:
unicode = str
pytestmark = pytest.mark.tier0
def test_RULE_FLAG():
assert frontend.RULE_FLAG == 'validation_rule'

View File

@@ -25,6 +25,9 @@ from ipalib import messages
from ipalib.capabilities import capabilities
from ipatests.test_ipalib import test_errors
import pytest
pytestmark = pytest.mark.tier0
class HelloMessage(messages.PublicMessage):
type = 'info'

View File

@@ -27,6 +27,10 @@ from ipalib.frontend import Command
from ipalib import _
from ipapython.version import API_VERSION
import pytest
pytestmark = pytest.mark.tier0
class test_Output(ClassChecker):
"""
Test the `ipalib.output.Output` class.

View File

@@ -31,6 +31,7 @@ import sys
from decimal import Decimal
from inspect import isclass
from six.moves.xmlrpc_client import MAXINT, MININT
import pytest
import six
@@ -48,6 +49,9 @@ if six.PY3:
NULLS = (None, b'', u'', tuple(), [])
pytestmark = pytest.mark.tier0
class test_DefaultFrom(ClassChecker):
"""
Test the `ipalib.parameters.DefaultFrom` class.

View File

@@ -31,6 +31,9 @@ from ipatests.util import ClassChecker, create_test_api
from ipalib import plugable, errors, text
from ipaplatform.paths import paths
import pytest
pytestmark = pytest.mark.tier0
class test_Plugin(ClassChecker):
"""

View File

@@ -30,6 +30,7 @@ import re
import nose
import locale
import six
import pytest
from ipatests.util import raises, assert_equal
from ipatests.i18n import create_po, po_file_iterate
@@ -41,6 +42,8 @@ from ipapython.ipautil import file_exists
if six.PY3:
unicode = str
pytestmark = pytest.mark.tier0
singular = '%(count)d goose makes a %(dish)s'
plural = '%(count)d geese make a %(dish)s'

View File

@@ -29,6 +29,10 @@ from nss.error import NSPRError
from ipalib import x509
from ipapython.dn import DN
import pytest
pytestmark = pytest.mark.tier0
# certutil -
# certificate for CN=ipa.example.com,O=IPA

View File

@@ -24,6 +24,10 @@ import email.utils
import calendar
from ipapython.cookie import Cookie
import pytest
pytestmark = pytest.mark.tier0
class TestParse(unittest.TestCase):
def test_parse(self):

View File

@@ -1,5 +1,7 @@
import contextlib
import unittest
import pytest
from ipapython.dn import * # FIXME
import six
@@ -29,6 +31,8 @@ if six.PY3:
assert a >= b
return 1
pytestmark = pytest.mark.tier0
def expected_class(klass, component):
if klass is AVA:

View File

@@ -19,6 +19,7 @@ from ipaplatform.paths import paths
import _ipap11helper
pytestmark = pytest.mark.tier0
CONFIG_DATA = """
# SoftHSM v2 configuration file

View File

@@ -28,6 +28,10 @@ import six
from ipapython import ipautil
import pytest
pytestmark = pytest.mark.tier0
def make_ipaddress_checker(addr, words=None, prefixlen=None):
def check_ipaddress():

View File

@@ -21,9 +21,12 @@ import sys
sys.path.insert(0, ".")
import unittest
import pytest
from ipapython import ipavalidate
pytestmark = pytest.mark.tier0
class TestValidate(unittest.TestCase):
def test_validEmail(self):
self.assertEqual(True, ipavalidate.Email("test@freeipa.org"))

View File

@@ -23,6 +23,10 @@ Test the `kernel_keyring.py` module.
from nose.tools import raises, assert_raises # pylint: disable=E0611
from ipapython import kernel_keyring
import pytest
pytestmark = pytest.mark.tier0
TEST_KEY = 'ipa_test'
TEST_VALUE = 'abc123'
UPDATE_VALUE = '123abc'

View File

@@ -24,12 +24,15 @@ import base64
import six
import nose
import pytest
from ipapython import ssh
if six.PY3:
unicode = str
pytestmark = pytest.mark.tier0
def make_public_key_checker(pk, out):
def check_public_key():

View File

@@ -19,6 +19,7 @@
import nose
import ldap
import pytest
from ipatests.test_ipaserver.httptest import Unauthorized_HTTP_test
from ipatests.test_xmlrpc.xmlrpc_test import XMLRPC_test
@@ -30,6 +31,8 @@ testuser = u'tuser'
old_password = u'old_password'
new_password = u'new_password'
@pytest.mark.tier1
class test_changepw(XMLRPC_test, Unauthorized_HTTP_test):
app_uri = '/ipa/session/change_password'

View File

@@ -24,12 +24,15 @@ import os
import six
import nose
import pytest
from ipaserver.install import adtrustinstance
if six.PY3:
unicode = str
@pytest.mark.tier0
class test_adtrustinstance:
"""
Test `adtrustinstance`.

View File

@@ -22,8 +22,10 @@ Tests for the `ipaserver.service` module.
"""
from ipaserver.install import service
import pytest
@pytest.mark.tier0
def test_format_seconds():
assert service.format_seconds(0) == '0 seconds'
assert service.format_seconds(1) == '1 second'

View File

@@ -45,6 +45,8 @@ from ipapython.dn import DN
if six.PY3:
unicode = str
@pytest.mark.tier0
class test_ldap(object):
"""
Test various LDAP client bind methods.
@@ -155,6 +157,7 @@ class test_ldap(object):
assert serial is not None
@pytest.mark.tier0
class test_LDAPEntry(object):
"""
Test the LDAPEntry class

View File

@@ -29,6 +29,7 @@ from ipaserver.install.ipa_otptoken_import import PSKCDocument, ValidationError
basename = os.path.join(os.path.dirname(__file__), "data")
@pytest.mark.skipif(True, reason="Causes NSS errors. Ticket 5192")
@pytest.mark.tier1
class test_otptoken_import(object):
def teardown(self):

View File

@@ -22,6 +22,7 @@ Test the `ipaserver.rpc` module.
"""
import json
import pytest
import six
@@ -33,6 +34,7 @@ from ipaserver import rpcserver
if six.PY3:
unicode = str
pytestmark = pytest.mark.tier0
class StartResponse(object):
def __init__(self):

View File

@@ -11,6 +11,7 @@ from ipapython.dn import DN
import pytest
@pytest.mark.tier1
class TestTopologyPlugin(object):
"""
Test Topology plugin from the DS point of view

View File

@@ -30,7 +30,10 @@ from ipalib import pkcs10
from ipapython import ipautil
import nss.nss as nss
from nss.error import NSPRError
import pytest
@pytest.mark.tier0
class test_update(object):
"""
Test the PKCS#10 Parser.

View File

@@ -27,10 +27,13 @@ import six
from ipatests import util
from ipatests.util import raises, TYPE, VALUE, LEN, KEYS
import pytest
if six.PY3:
unicode = str
pytestmark = pytest.mark.tier0
class Prop(object):
def __init__(self, *ops):

View File

@@ -25,6 +25,7 @@ from ipatests.test_webui.ui_driver import UI_driver
from ipatests.test_webui.ui_driver import screenshot
import ipatests.test_webui.data_hostgroup as hostgroup
from ipatests.test_webui.test_host import host_tasks
import pytest
ENTITY = 'automember'
@@ -50,6 +51,7 @@ HOST_GROUP_DATA = {
}
@pytest.mark.tier1
class test_automember(UI_driver):
@screenshot

View File

@@ -23,6 +23,7 @@ Automount tests
from ipatests.test_webui.ui_driver import UI_driver
from ipatests.test_webui.ui_driver import screenshot
import pytest
LOC_ENTITY = 'automountlocation'
MAP_ENTITY = 'automountmap'
@@ -61,6 +62,7 @@ KEY_DATA = {
}
@pytest.mark.tier1
class test_automount(UI_driver):
@screenshot

View File

@@ -23,10 +23,12 @@ Cert tests
from ipatests.test_webui.ui_driver import UI_driver
from ipatests.test_webui.ui_driver import screenshot
import pytest
ENTITY = 'cert'
@pytest.mark.tier1
class test_cert(UI_driver):
def setup(self, *args, **kwargs):

View File

@@ -23,6 +23,7 @@ Config tests
from ipatests.test_webui.ui_driver import UI_driver
from ipatests.test_webui.ui_driver import screenshot
import pytest
ENTITY = 'config'
@@ -41,6 +42,7 @@ DATA2 = {
}
@pytest.mark.tier1
class test_config(UI_driver):
@screenshot

View File

@@ -23,6 +23,7 @@ Delegation tests
from ipatests.test_webui.ui_driver import UI_driver
from ipatests.test_webui.ui_driver import screenshot
import pytest
ENTITY = 'delegation'
PKEY = 'itest-delegation-rule'
@@ -42,6 +43,7 @@ DATA = {
}
@pytest.mark.tier1
class test_delegation(UI_driver):
@screenshot

View File

@@ -23,6 +23,7 @@ DNS tests
from ipatests.test_webui.ui_driver import UI_driver
from ipatests.test_webui.ui_driver import screenshot
import pytest
ZONE_ENTITY = 'dnszone'
FORWARD_ZONE_ENTITY = 'dnsforwardzone'
@@ -85,6 +86,7 @@ CONFIG_MOD_DATA = {
}
@pytest.mark.tier1
class test_dns(UI_driver):
def setup(self, *args, **kwargs):

View File

@@ -29,8 +29,10 @@ import ipatests.test_webui.data_netgroup as netgroup
import ipatests.test_webui.data_hbac as hbac
import ipatests.test_webui.test_rbac as rbac
import ipatests.test_webui.data_sudo as sudo
import pytest
@pytest.mark.tier1
class test_group(UI_driver):
@screenshot

View File

@@ -25,8 +25,10 @@ from ipatests.test_webui.ui_driver import UI_driver
from ipatests.test_webui.ui_driver import screenshot
import ipatests.test_webui.data_hbac as hbac
import ipatests.test_webui.data_hostgroup as hostgroup
import pytest
@pytest.mark.tier1
class test_hbac(UI_driver):
@screenshot

View File

@@ -28,10 +28,12 @@ import ipatests.test_webui.data_netgroup as netgroup
import ipatests.test_webui.data_hbac as hbac
import ipatests.test_webui.test_rbac as rbac
import ipatests.test_webui.data_sudo as sudo
import pytest
ENTITY = 'host'
@pytest.mark.tier1
class host_tasks(UI_driver):
def setup(self, *args, **kwargs):
@@ -103,6 +105,7 @@ class host_tasks(UI_driver):
return csr
@pytest.mark.tier1
class test_host(host_tasks):
@screenshot

View File

@@ -29,8 +29,10 @@ import ipatests.test_webui.data_netgroup as netgroup
import ipatests.test_webui.data_hbac as hbac
import ipatests.test_webui.test_rbac as rbac
import ipatests.test_webui.data_sudo as sudo
import pytest
@pytest.mark.tier1
class test_hostgroup(UI_driver):
@screenshot

View File

@@ -23,6 +23,7 @@ Kerberos policy tests
from ipatests.test_webui.ui_driver import UI_driver
from ipatests.test_webui.ui_driver import screenshot
import pytest
ENTITY = 'krbtpolicy'
@@ -41,6 +42,7 @@ DATA2 = {
}
@pytest.mark.tier1
class test_krbtpolicy(UI_driver):
@screenshot

View File

@@ -23,6 +23,7 @@ Basic ui tests
from ipatests.test_webui.ui_driver import UI_driver
from ipatests.test_webui.ui_driver import screenshot
import pytest
ENTITIES = [
@@ -65,6 +66,7 @@ ENTITIES = [
]
@pytest.mark.tier1
class test_navigation(UI_driver):
@screenshot

View File

@@ -28,8 +28,10 @@ import ipatests.test_webui.data_user as user
import ipatests.test_webui.data_group as group
import ipatests.test_webui.data_hostgroup as hostgroup
from ipatests.test_webui.test_host import host_tasks, ENTITY as HOST_ENTITY
import pytest
@pytest.mark.tier1
class test_netgroup(UI_driver):
@screenshot

View File

@@ -23,6 +23,7 @@ Password policy tests
from ipatests.test_webui.ui_driver import UI_driver
from ipatests.test_webui.ui_driver import screenshot
import pytest
ENTITY = 'pwpolicy'
DATA = {
@@ -44,6 +45,7 @@ DATA = {
}
@pytest.mark.tier1
class test_pwpolicy(UI_driver):
@screenshot

View File

@@ -24,11 +24,13 @@ Range tests
import ipatests.test_webui.test_trust as trust_mod
from ipatests.test_webui.ui_driver import screenshot
from ipatests.test_webui.task_range import range_tasks
import pytest
ENTITY = 'idrange'
PKEY = 'itest-range'
@pytest.mark.tier1
class test_range(range_tasks):
@screenshot

View File

@@ -23,6 +23,7 @@ RBAC tests
from ipatests.test_webui.ui_driver import UI_driver
from ipatests.test_webui.ui_driver import screenshot
import pytest
ROLE_ENTITY = 'role'
ROLE_DEF_FACET = 'member_user'
@@ -70,6 +71,7 @@ PERMISSION_DATA = {
}
@pytest.mark.tier1
class test_rbac(UI_driver):
@screenshot

View File

@@ -23,10 +23,12 @@ Realm domains tests
from ipatests.test_webui.ui_driver import UI_driver
from ipatests.test_webui.ui_driver import screenshot
import pytest
ENTITY = 'realmdomains'
@pytest.mark.tier1
class test_realmdomains(UI_driver):
@screenshot

View File

@@ -23,6 +23,7 @@ Selfservice tests
from ipatests.test_webui.ui_driver import UI_driver
from ipatests.test_webui.ui_driver import screenshot
import pytest
ENTITY = 'selfservice'
PKEY = 'itest-selfservice-rule'
@@ -39,6 +40,7 @@ DATA = {
}
@pytest.mark.tier1
class test_selfservice(UI_driver):
@screenshot

View File

@@ -27,6 +27,7 @@ import ipatests.test_webui.data_user as user
import ipatests.test_webui.data_group as group
import ipatests.test_webui.data_hostgroup as hostgroup
from ipatests.test_webui.test_host import host_tasks, ENTITY as HOST_ENTITY
import pytest
ENTITY = 'selinuxusermap'
PKEY = 'itest-selinuxusermap'
@@ -42,6 +43,7 @@ DATA = {
}
@pytest.mark.tier1
class test_selinuxusermap(UI_driver):
@screenshot

View File

@@ -23,10 +23,12 @@ Service tests
from ipatests.test_webui.ui_driver import UI_driver
from ipatests.test_webui.ui_driver import screenshot
import pytest
ENTITY = 'service'
@pytest.mark.tier1
class sevice_tasks(UI_driver):
def prep_data(self):
@@ -59,6 +61,7 @@ class sevice_tasks(UI_driver):
return pkey
@pytest.mark.tier1
class test_service(sevice_tasks):
@screenshot

View File

@@ -29,8 +29,10 @@ import ipatests.test_webui.data_user as user
import ipatests.test_webui.data_group as group
import ipatests.test_webui.data_hostgroup as hostgroup
from ipatests.test_webui.test_host import host_tasks, ENTITY as HOST_ENTITY
import pytest
@pytest.mark.tier1
class test_sudo(UI_driver):
@screenshot

View File

@@ -24,6 +24,7 @@ Trust tests
from ipatests.test_webui.ui_driver import UI_driver
from ipatests.test_webui.ui_driver import screenshot
from ipatests.test_webui.task_range import range_tasks
import pytest
ENTITY = 'trust'
CONFIG_ENTITY = 'trustconfig'
@@ -41,6 +42,7 @@ CONFIG_DATA2 = {
}
@pytest.mark.tier1
class trust_tasks(UI_driver):
def get_data(self, add_data=None):
@@ -93,6 +95,7 @@ class trust_tasks(UI_driver):
return domain.upper() + '_id_range'
@pytest.mark.tier1
class test_trust(trust_tasks):
def setup(self, *args, **kwargs):

View File

@@ -29,6 +29,7 @@ import ipatests.test_webui.data_netgroup as netgroup
import ipatests.test_webui.data_hbac as hbac
import ipatests.test_webui.test_rbac as rbac
import ipatests.test_webui.data_sudo as sudo
import pytest
try:
from selenium.webdriver.common.by import By
@@ -36,6 +37,7 @@ except ImportError:
pass
@pytest.mark.tier1
class test_user(UI_driver):
@screenshot

View File

@@ -10,8 +10,10 @@ from ipatests.util import assert_deepequal, raises
from xmlrpc_test import XMLRPC_test
from ipapython.dn import DN
from testcert import get_testcert
import pytest
@pytest.mark.tier1
class CertManipCmdTestBase(XMLRPC_test):
entity_class = ''
entity_pkey = None
@@ -270,6 +272,7 @@ class CertManipCmdTestBase(XMLRPC_test):
)
@pytest.mark.tier1
class TestCertManipCmdUser(CertManipCmdTestBase):
entity_class = 'user'
entity_pkey = u'tuser'
@@ -299,6 +302,7 @@ class TestCertManipCmdUser(CertManipCmdTestBase):
cls.default_caacl, **cls.cmd_options['caacl'])
@pytest.mark.tier1
class TestCertManipCmdHost(CertManipCmdTestBase):
entity_class = 'host'
entity_pkey = u'host.example.com'
@@ -317,6 +321,7 @@ class TestCertManipCmdHost(CertManipCmdTestBase):
cert_del_summary = u'Removed certificates from host "%s"'
@pytest.mark.tier1
class TestCertManipCmdService(CertManipCmdTestBase):
entity_class = 'service'
entity_pkey = u'testservice/%s@%s' % (TestCertManipCmdHost.entity_pkey,

View File

@@ -24,9 +24,12 @@ Test --setattr and --addattr and other attribute-specific issues
from ipalib import errors
from ipatests.test_xmlrpc.xmlrpc_test import Declarative
from ipatests.test_xmlrpc.test_user_plugin import get_user_result
import pytest
user1=u'tuser1'
@pytest.mark.tier1
class test_attr(Declarative):
cleanup_commands = [

View File

@@ -29,6 +29,7 @@ from ipatests.test_xmlrpc.xmlrpc_test import (
fuzzy_automember_message)
from ipatests.test_xmlrpc.test_user_plugin import get_user_result
import pytest
user1 = u'tuser1'
user_does_not_exist = u'does_not_exist'
@@ -66,6 +67,7 @@ hostgroup_exclude_regex2 = u'^www5'
hostgroup_exclude_regex3 = u'^webserver5'
@pytest.mark.tier1
class test_automember(Declarative):
cleanup_commands = [

View File

@@ -25,6 +25,7 @@ import sys
import textwrap
import tempfile
import shutil
import pytest
from ipalib import api
from ipalib import errors
@@ -115,6 +116,8 @@ class AutomountTest(XMLRPC_test):
# Success; delete the temporary directory
shutil.rmtree(conf_directory)
@pytest.mark.tier1
class test_automount(AutomountTest):
"""
Test the `automount` plugin.
@@ -323,6 +326,7 @@ class test_automount(AutomountTest):
api.Command['automountkey_show'](self.locname, self.mapname, **key_kw)
@pytest.mark.tier1
class test_automount_direct(AutomountTest):
"""
Test the `automount` plugin indirect map functionality.
@@ -388,6 +392,7 @@ class test_automount_direct(AutomountTest):
self.check_import_roundtrip()
@pytest.mark.tier1
class test_automount_indirect(AutomountTest):
"""
Test the `automount` plugin indirect map functionality.
@@ -486,6 +491,8 @@ class test_automount_indirect(AutomountTest):
"""
self.check_import_roundtrip()
@pytest.mark.tier1
class test_automount_indirect_no_parent(AutomountTest):
"""
Test the `automount` plugin Indirect map function.

View File

@@ -28,8 +28,10 @@ from ipapython import ipaldap
from ipalib import errors
from ipalib.plugins import baseldap
from ipatests.util import assert_deepequal
import pytest
@pytest.mark.tier0
def test_exc_wrapper():
"""Test the CallbackInterface._exc_wrapper helper method"""
handled_exceptions = []
@@ -73,6 +75,7 @@ def test_exc_wrapper():
assert handled_exceptions == [None, errors.ExecutionError]
@pytest.mark.tier0
def test_callback_registration():
class callbacktest_base(baseldap.CallbackInterface):
_callback_registry = dict(test={})
@@ -117,6 +120,7 @@ def test_callback_registration():
('Subclass registered callback', 42)]
@pytest.mark.tier0
def test_exc_callback_registration():
messages = []
class callbacktest_base(baseldap.BaseLDAPCommand):
@@ -169,6 +173,7 @@ def test_exc_callback_registration():
assert messages == ['Base exc_callback', 'Subclass registered callback']
@pytest.mark.tier0
def test_entry_to_dict():
class FakeAttributeType(object):
def __init__(self, name, syntax):

View File

@@ -27,6 +27,7 @@ from ipatests.util import assert_equal, Fuzzy, assert_deepequal
from ipatests.test_xmlrpc.xmlrpc_test import (Declarative, fuzzy_digits,
fuzzy_uuid)
from ipapython.dn import DN
import pytest
group1 = u'testgroup1'
first1 = u'John'
@@ -48,6 +49,7 @@ def deepequal_list(*expected):
return checker
@pytest.mark.tier1
class test_batch(Declarative):
cleanup_commands = [

View File

@@ -414,11 +414,13 @@ def staged_user(request):
return tracker.make_fixture(request)
@pytest.mark.tier0
class TestDefaultACL(XMLRPC_test):
def test_default_acl_present(self, default_acl):
default_acl.retrieve()
@pytest.mark.tier1
class TestCAACLbasicCRUD(XMLRPC_test):
def test_create(self, crud_acl):
crud_acl.create()
@@ -447,6 +449,7 @@ class TestCAACLbasicCRUD(XMLRPC_test):
crud_acl.find()
@pytest.mark.tier1
class TestCAACLMembers(XMLRPC_test):
def test_category_member_exclusivity(self, category_acl, default_profile):
category_acl.create()

View File

@@ -100,6 +100,7 @@ def smime_group(request):
return u'smime_users'
@pytest.mark.tier1
class TestCertSignMIME(XMLRPC_test):
def test_cert_import(self, smime_profile):
@@ -125,6 +126,7 @@ class TestCertSignMIME(XMLRPC_test):
profile_id=smime_profile.name)
@pytest.mark.tier1
class TestSignWithDisabledACL(XMLRPC_test):
def test_import_profile_and_acl(self, smime_profile, smime_acl):
@@ -162,6 +164,7 @@ class TestSignWithDisabledACL(XMLRPC_test):
principal=smime_user)
@pytest.mark.tier1
class TestSignWithoutGroupMembership(XMLRPC_test):
def test_import_profile_and_acl(self, smime_profile, smime_acl):
@@ -197,6 +200,7 @@ class TestSignWithoutGroupMembership(XMLRPC_test):
principal=smime_user)
@pytest.mark.tier1
class TestSignWithChangedProfile(XMLRPC_test):
""" Test to verify that the updated profile is used.

View File

@@ -36,6 +36,7 @@ import nose
import base64
from ipaplatform.paths import paths
from ipapython.dn import DN
import pytest
if six.PY3:
unicode = str
@@ -71,6 +72,8 @@ def is_db_configured():
# The API tested depends on the value of ~/.ipa/default/ra_plugin when
# running as the lite-server.
@pytest.mark.tier1
class test_cert(XMLRPC_test):
@classmethod
@@ -203,6 +206,8 @@ class test_cert(XMLRPC_test):
res = api.Command['service_find'](self.service_princ)
assert res['count'] == 0
@pytest.mark.tier1
class test_cert_find(XMLRPC_test):
@classmethod

View File

@@ -221,6 +221,7 @@ def xmlprofile(request):
return tracker
@pytest.mark.tier0
class TestDefaultProfile(XMLRPC_test):
def test_default_profile_present(self, default_profile):
default_profile.retrieve()
@@ -243,6 +244,7 @@ class TestDefaultProfile(XMLRPC_test):
command()
@pytest.mark.tier1
class TestProfileCRUD(XMLRPC_test):
def test_create_duplicate(self, user_profile):
msg = u'Certificate Profile with name "{}" already exists'
@@ -329,12 +331,14 @@ class TestProfileCRUD(XMLRPC_test):
command()
@pytest.mark.tier1
class TestMalformedProfile(XMLRPC_test):
def test_malformed_import(self, malformed):
with pytest.raises(errors.ExecutionError):
malformed.create()
@pytest.mark.tier1
class TestImportFromXML(XMLRPC_test):
def test_import_xml(self, xmlprofile):
with pytest.raises(errors.ExecutionError):

View File

@@ -24,7 +24,10 @@ Test the `ipalib/plugins/config.py` module.
from ipalib import errors
from ipatests.test_xmlrpc.xmlrpc_test import (Declarative, fuzzy_digits,
fuzzy_uuid)
import pytest
@pytest.mark.tier1
class test_config(Declarative):
cleanup_commands = [

View File

@@ -26,10 +26,13 @@ from ipatests.test_xmlrpc import objectclasses
from ipatests.test_xmlrpc.xmlrpc_test import (Declarative, fuzzy_digits,
fuzzy_uuid)
from ipapython.dn import DN
import pytest
delegation1 = u'testdelegation'
member1 = u'admins'
@pytest.mark.tier1
class test_delegation(Declarative):
cleanup_commands = [

View File

@@ -28,6 +28,7 @@ from ipapython.dn import DN
from ipatests.test_xmlrpc import objectclasses
from ipatests.test_xmlrpc.xmlrpc_test import (Declarative, fuzzy_digits,
fuzzy_uuid)
import pytest
try:
from ipaserver.plugins.ldap2 import ldap2
@@ -420,6 +421,7 @@ if have_ldap2:
get_nameservers_error = "No DNS servers found in LDAP"
@pytest.mark.tier1
class test_dns(Declarative):
@classmethod
@@ -3090,6 +3092,7 @@ class test_dns(Declarative):
]
@pytest.mark.tier1
class test_root_zone(Declarative):
@classmethod
@@ -3170,6 +3173,7 @@ class test_root_zone(Declarative):
]
@pytest.mark.tier1
class test_forward_zones(Declarative):
# https://fedorahosted.org/freeipa/ticket/4750
@@ -4374,6 +4378,7 @@ class test_forward_zones(Declarative):
]
@pytest.mark.tier1
class test_forward_master_zones_mutual_exlusion(Declarative):
# https://fedorahosted.org/freeipa/ticket/4750
@@ -4749,6 +4754,7 @@ class test_forward_master_zones_mutual_exlusion(Declarative):
]
@pytest.mark.tier1
class test_forwardzone_delegation_warnings(Declarative):
@classmethod
@@ -5204,6 +5210,7 @@ class test_forwardzone_delegation_warnings(Declarative):
# https://fedorahosted.org/freeipa/ticket/4746
# http://www.freeipa.org/page/V4/DNS:_Automatic_Zone_NS/SOA_Record_Maintenance
@pytest.mark.tier1
class test_dns_soa(Declarative):
@classmethod

View File

@@ -30,6 +30,7 @@ from ipapython.dn import DN
from ipapython.dnsutil import DNSName
from ipatests.test_xmlrpc import objectclasses
from ipatests.test_xmlrpc.xmlrpc_test import Declarative, fuzzy_digits
import pytest
if six.PY3:
unicode = str
@@ -88,6 +89,7 @@ def assert_realmdomain_and_txt_record_not_present(response):
return True
@pytest.mark.tier1
class test_dns_realmdomains_integration(Declarative):
cleanup_commands = [
('realmdomains_mod', [], {'associateddomain': [our_domain]}),

View File

@@ -27,6 +27,7 @@ from ipapython.dn import DN
from ipatests.test_xmlrpc import objectclasses
from ipatests.test_xmlrpc.xmlrpc_test import (Declarative, fuzzy_uuid,
fuzzy_user_or_group_sid)
import pytest
group_name = u'external_group'
group_desc = u'Test external group'
@@ -42,6 +43,7 @@ def get_trusted_group_name():
return u'%s\Domain Admins' % ad_netbios
@pytest.mark.tier1
class test_external_members(Declarative):
@classmethod
def setup_class(cls):

View File

@@ -53,6 +53,8 @@ external_sid1=u'S-1-1-123456-789-1'
def get_group_dn(cn):
return DN(('cn', cn), api.env.container_group, api.env.basedn)
@pytest.mark.tier1
class test_group(Declarative):
cleanup_commands = [
('group_del', [group1], {}),
@@ -1019,6 +1021,8 @@ class test_group(Declarative):
),
]
@pytest.mark.tier1
class test_group_remove_group_from_protected_group(Declarative):
cleanup_commands = [
('group_del', [group1], {}),
@@ -1087,6 +1091,8 @@ class test_group_remove_group_from_protected_group(Declarative):
),
]
@pytest.mark.tier1
class test_group_full_set_of_objectclass_not_available_post_detach(Declarative):
# https://fedorahosted.org/freeipa/ticket/4909#comment:1
cleanup_commands = [

View File

@@ -25,7 +25,10 @@ from nose.tools import raises, assert_raises # pylint: disable=E0611
from ipatests.test_xmlrpc.xmlrpc_test import XMLRPC_test, assert_attr_equal
from ipalib import api
from ipalib import errors
import pytest
@pytest.mark.tier1
class test_hbac(XMLRPC_test):
"""
Test the `hbacrule` plugin.

View File

@@ -25,6 +25,7 @@ from ipalib import api, errors
from ipatests.test_xmlrpc.xmlrpc_test import Declarative, fuzzy_uuid
from ipatests.test_xmlrpc import objectclasses
from ipapython.dn import DN
import pytest
hbacsvcgroup1 = u'testhbacsvcgroup1'
dn1 = DN(('cn',hbacsvcgroup1),('cn','hbacservicegroups'),('cn','hbac'),
@@ -35,6 +36,7 @@ hbacsvc_dn1 = DN(('cn',hbacsvc1),('cn','hbacservices'),('cn','hbac'),
api.env.basedn)
@pytest.mark.tier1
class test_hbacsvcgroup(Declarative):
cleanup_commands = [

View File

@@ -25,12 +25,16 @@ from ipatests.test_xmlrpc.xmlrpc_test import XMLRPC_test, assert_attr_equal
from ipalib import api
from ipalib import errors
from nose.tools import raises
import pytest
# Test strategy:
# 1. Create few allow rules: with user categories, with explicit users, with user groups, with groups, with services
# 2. Create users for test
# 3. Run detailed and non-detailed tests for explicitly specified rules, check expected result
#
@pytest.mark.tier1
class test_hbactest(XMLRPC_test):
"""
Test the `hbactest` plugin.

View File

@@ -318,6 +318,7 @@ def ipv6_fromip_host(request):
return tracker.make_fixture(request)
@pytest.mark.tier1
class TestNonexistentHost(XMLRPC_test):
def test_retrieve_nonexistent(self, host):
host.ensure_missing()
@@ -341,6 +342,7 @@ class TestNonexistentHost(XMLRPC_test):
command()
@pytest.mark.tier1
class TestCRUD(XMLRPC_test):
def test_create_duplicate(self, host):
host.ensure_exists()
@@ -461,6 +463,7 @@ class TestCRUD(XMLRPC_test):
host.check_create(result)
@pytest.mark.tier1
class TestMultipleMatches(XMLRPC_test):
def test_try_show_multiple_matches_with_shortname(self, host, lab_host):
host.ensure_exists()
@@ -471,6 +474,7 @@ class TestMultipleMatches(XMLRPC_test):
command()
@pytest.mark.tier1
class TestHostWithService(XMLRPC_test):
"""Test deletion using a non-fully-qualified hostname.
Services associated with this host should also be removed.
@@ -516,6 +520,7 @@ class TestHostWithService(XMLRPC_test):
pass
@pytest.mark.tier1
class TestManagedHosts(XMLRPC_test):
def test_managed_hosts(self, host, host2, host3):
host.ensure_exists()
@@ -580,6 +585,7 @@ class TestManagedHosts(XMLRPC_test):
), result)
@pytest.mark.tier1
class TestProtectedMaster(XMLRPC_test):
def test_try_delete_master(self, this_host):
command = this_host.make_delete_command()
@@ -596,6 +602,7 @@ class TestProtectedMaster(XMLRPC_test):
command()
@pytest.mark.tier1
class TestValidation(XMLRPC_test):
def test_try_validate_create(self, invalid_host):
command = invalid_host.make_create_command()
@@ -647,6 +654,7 @@ def keytabname(request):
os.unlink(keytabname)
@pytest.mark.tier1
class TestHostFalsePwdChange(XMLRPC_test):
def test_join_host(self, host, keytabname):
@@ -732,6 +740,7 @@ def dns_setup(host):
pass
@pytest.mark.tier1
class TestHostDNS(XMLRPC_test):
def test_add_ipv6only_host(self, dns_setup, ipv6only_host):
ipv6only_host.run_command('dnsrecord_add', dnszone,
@@ -858,6 +867,7 @@ def allowedto_context(request, host3):
description=u'Test hostgroup 1')
@pytest.mark.tier1
class TestHostAllowedTo(XMLRPC_test):
def test_user_allow_retrieve_keytab(self, allowedto_context, host):

View File

@@ -26,6 +26,7 @@ from ipalib import api, errors
from ipatests.test_xmlrpc.xmlrpc_test import Declarative, fuzzy_uuid
from ipatests.test_xmlrpc import objectclasses
from ipapython.dn import DN
import pytest
hostgroup1 = u'testhostgroup1'
dn1 = DN(('cn',hostgroup1),('cn','hostgroups'),('cn','accounts'),
@@ -42,6 +43,7 @@ host_dn1 = DN(('fqdn',fqdn1),('cn','computers'),('cn','accounts'),
invalidhostgroup1 = u'@invalid'
@pytest.mark.tier1
class test_hostgroup(Declarative):
cleanup_commands = [

View File

@@ -33,6 +33,7 @@ from ipatests.test_xmlrpc.test_user_plugin import get_user_result
from ipatests.test_xmlrpc.test_group_plugin import get_group_dn
from ipatests.util import Fuzzy
from ipapython.dn import DN
import pytest
if six.PY3:
unicode = str
@@ -122,6 +123,7 @@ def get_hostgroup_netgroup_dn(hostgroup):
api.env.basedn)
@pytest.mark.tier1
class test_idviews(Declarative):
cleanup_commands = [

View File

@@ -24,9 +24,12 @@ from ipalib import api, errors
from ipatests.test_xmlrpc.xmlrpc_test import Declarative
from ipapython.dn import DN
from ipatests.test_xmlrpc.test_user_plugin import get_user_result
import pytest
user1 = u'tuser1'
@pytest.mark.tier1
class test_krbtpolicy(Declarative):
cleanup_commands = [
('user_del', [user1], {}),
@@ -100,7 +103,7 @@ class test_krbtpolicy(Declarative):
dict(
desc='Update user ticket policy',
desc='Update user ticket policy',
command=(
'krbtpolicy_mod', [user1], dict(krbmaxticketlife=3600)
),

View File

@@ -26,6 +26,7 @@ from ipatests.test_xmlrpc.xmlrpc_test import (Declarative, fuzzy_digits,
fuzzy_uuid)
from ipapython.dn import DN
from ipatests.test_xmlrpc.test_user_plugin import get_user_result
import pytest
group1 = u'testgroup1'
group2 = u'testgroup2'
@@ -48,6 +49,7 @@ host_dn1 = DN(('fqdn',fqdn1),('cn','computers'),('cn','accounts'),
api.env.basedn)
@pytest.mark.tier1
class test_nesting(Declarative):
cleanup_commands = [
('group_del', [group1], {}),

View File

@@ -31,6 +31,7 @@ from ipatests.test_xmlrpc.xmlrpc_test import (Declarative, fuzzy_digits,
from ipatests.test_xmlrpc import objectclasses
from ipapython.dn import DN
from ipatests.test_xmlrpc.test_user_plugin import get_user_result
import pytest
# Global so we can save the value between tests
netgroup_dn = None
@@ -63,6 +64,8 @@ invalidnisdomain1=u'domain1,domain2'
invalidnisdomain2=u'+invalidnisdomain'
invalidhost=u'+invalid&host'
@pytest.mark.tier1
class test_netgroup(Declarative):
"""
Test the `netgroup` plugin.

View File

@@ -30,6 +30,7 @@ from ipatests.test_xmlrpc import objectclasses
from ipatests.test_xmlrpc.xmlrpc_test import (Declarative, fuzzy_digits,
fuzzy_uuid)
from ipapython.dn import DN
import pytest
permission1 = u'testperm'
permission1_dn = DN(('cn',permission1),
@@ -91,6 +92,8 @@ users_dn = DN(api.env.container_user, api.env.basedn)
groups_dn = DN(api.env.container_group, api.env.basedn)
hbac_dn = DN(api.env.container_hbac, api.env.basedn)
@pytest.mark.tier1
class test_old_permission(Declarative):
default_version = u'2.65'

View File

@@ -27,8 +27,10 @@ from nose.tools import assert_raises # pylint: disable=E0611
from ipatests.test_xmlrpc.xmlrpc_test import XMLRPC_test, assert_attr_equal
from ipalib import api
from ipalib import errors
import pytest
@pytest.mark.tier1
class test_passwd(XMLRPC_test):
"""
Test the `passwd` plugin.

View File

@@ -32,6 +32,7 @@ from ipatests.test_xmlrpc import objectclasses
from ipatests.test_xmlrpc.xmlrpc_test import Declarative
from ipapython.dn import DN
import inspect
import pytest
try:
from ipaserver.plugins.ldap2 import ldap2
@@ -145,6 +146,7 @@ def lineinfo(level):
return '%s:%s' % (filename, lineno)
@pytest.mark.tier1
class test_permission_negative(Declarative):
"""Make sure invalid operations fail"""
@@ -386,6 +388,7 @@ class test_permission_negative(Declarative):
]
@pytest.mark.tier1
class test_permission(Declarative):
"""Misc. tests for the permission plugin"""
cleanup_commands = [
@@ -1722,6 +1725,7 @@ class test_permission_rollback(Declarative):
] + _verifications
@pytest.mark.tier1
class test_permission_sync_attributes(Declarative):
"""Test the effects of setting permission attributes"""
cleanup_commands = [
@@ -2244,6 +2248,7 @@ class test_permission_sync_nice(Declarative):
]
@pytest.mark.tier1
class test_permission_targetfilter(Declarative):
"""Test the targetfilter options on permissions"""
cleanup_commands = [
@@ -2807,6 +2812,7 @@ def _make_permission_flag_tests(flags, expected_message):
]
@pytest.mark.tier1
class test_permission_flags(Declarative):
"""Test that permission flags are handled correctly"""
cleanup_commands = [
@@ -2852,6 +2858,8 @@ def check_legacy_results(results):
assert len(legacy_permissions) == 9, len(legacy_permissions)
return True
@pytest.mark.tier1
class test_permission_legacy(Declarative):
"""Tests for non-upgraded permissions"""
@@ -2870,6 +2878,7 @@ class test_permission_legacy(Declarative):
]
@pytest.mark.tier1
class test_permission_bindtype(Declarative):
cleanup_commands = [
('permission_del', [permission1], {'force': True}),
@@ -3159,6 +3168,7 @@ class test_permission_bindtype(Declarative):
]
@pytest.mark.tier1
class test_managed_permissions(Declarative):
cleanup_commands = [
('permission_del', [permission1], {'force': True}),
@@ -3689,6 +3699,7 @@ class test_managed_permissions(Declarative):
]
@pytest.mark.tier1
class test_permission_filters(Declarative):
"""Test multi-valued filters, type, memberof"""
cleanup_commands = [

View File

@@ -25,8 +25,10 @@ from ipalib import api, errors, messages, _
from ipatests.util import Fuzzy
from ipatests.test_xmlrpc.xmlrpc_test import Declarative
from ipapython.version import API_VERSION
import pytest
@pytest.mark.tier1
class test_ping(Declarative):
tests = [

View File

@@ -26,6 +26,7 @@ from ipatests.test_xmlrpc import objectclasses
from ipatests.test_xmlrpc.xmlrpc_test import (Declarative, fuzzy_digits,
fuzzy_uuid)
from ipapython.dn import DN
import pytest
permission1 = u'testperm'
permission1_dn = DN(('cn',permission1),
@@ -42,6 +43,7 @@ privilege1_dn = DN(('cn',privilege1),
users_dn = DN(api.env.container_user, api.env.basedn)
@pytest.mark.tier1
class test_privilege(Declarative):
cleanup_commands = [

View File

@@ -29,7 +29,10 @@ from ipapython.dn import DN
from ipatests.test_xmlrpc import objectclasses
from ipatests.test_xmlrpc.xmlrpc_test import (XMLRPC_test, assert_attr_equal,
Declarative)
import pytest
@pytest.mark.tier1
class test_pwpolicy(XMLRPC_test):
"""
Test the `pwpolicy` plugin.
@@ -245,6 +248,7 @@ class test_pwpolicy(XMLRPC_test):
api.Command['user_del'](self.user)
@pytest.mark.tier1
class test_pwpolicy_mod_cospriority(Declarative):
"""Tests for cospriority modifications"""
cleanup_commands = [

View File

@@ -25,6 +25,7 @@ from ipapython.dn import DN
from ipatests.test_xmlrpc.xmlrpc_test import Declarative
from ipatests.test_xmlrpc.test_user_plugin import get_user_result
from ipatests.test_xmlrpc import objectclasses
import pytest
if six.PY3:
unicode = str
@@ -36,6 +37,7 @@ user1 = u'tuser1'
password1 = u'very*secure123'
@pytest.mark.tier1
class test_raduisproxy(Declarative):
cleanup_commands = [

View File

@@ -29,6 +29,7 @@ from ipatests.test_xmlrpc import objectclasses
from ipatests.util import MockLDAP
from ipapython.dn import DN
from ipatests.test_xmlrpc.test_user_plugin import get_user_result
import pytest
if six.PY3:
unicode = str
@@ -388,6 +389,7 @@ group1 = u'group1'
group1_gid = id_shift + 900100
@pytest.mark.tier1
class test_range(Declarative):
@classmethod
def setup_class(cls):

View File

@@ -24,6 +24,7 @@ from ipalib import api, errors
from ipapython.dn import DN
from ipatests.test_xmlrpc import objectclasses
from ipatests.test_xmlrpc.xmlrpc_test import Declarative
import pytest
cn = u'Realm Domains'
@@ -34,6 +35,7 @@ new_domain_2 = u'example2.com'
bad_domain = u'doesnotexist.test'
@pytest.mark.tier1
class test_realmdomains(Declarative):
# Make sure your environment has sound DNS configuration where

View File

@@ -27,10 +27,12 @@ gen_modlist code.
from ipatests.test_xmlrpc.xmlrpc_test import Declarative
from ipatests.test_xmlrpc.test_user_plugin import get_user_result
import pytest
user1=u'tuser1'
@pytest.mark.tier1
class test_replace(Declarative):
cleanup_commands = [

View File

@@ -27,6 +27,7 @@ from ipatests.test_xmlrpc import objectclasses
from ipatests.test_xmlrpc.xmlrpc_test import (Declarative, fuzzy_digits,
fuzzy_uuid)
from ipapython.dn import DN
import pytest
search = u'test-role'
@@ -48,6 +49,8 @@ privilege1 = u'r,w privilege 1'
privilege1_dn = DN(('cn', privilege1), DN(api.env.container_privilege),
api.env.basedn)
@pytest.mark.tier1
class test_role(Declarative):
cleanup_commands = [

View File

@@ -25,10 +25,13 @@ from ipalib import api, errors
from ipatests.test_xmlrpc import objectclasses
from ipatests.test_xmlrpc.xmlrpc_test import (Declarative, fuzzy_digits,
fuzzy_uuid)
import pytest
selfservice1 = u'testself'
invalid_selfservice1 = u'bad+name'
@pytest.mark.tier1
class test_selfservice(Declarative):
cleanup_commands = [

View File

@@ -27,6 +27,7 @@ from ipatests.test_xmlrpc.xmlrpc_test import (Declarative, fuzzy_digits,
from ipapython.dn import DN
from ipatests.util import Fuzzy
from ipatests.test_xmlrpc.test_user_plugin import get_user_result
import pytest
rule1 = u'selinuxrule1'
selinuxuser1 = u'guest_u:s0'
@@ -55,6 +56,7 @@ fuzzy_hbacruledn = Fuzzy(
allow_all_rule_dn = api.Command['hbacrule_show'](u'allow_all')['result']['dn']
@pytest.mark.tier1
class test_selinuxusermap(Declarative):
cleanup_commands = [
('selinuxusermap_del', [rule1], {}),

View File

@@ -31,6 +31,7 @@ from ipatests.test_xmlrpc.test_user_plugin import (
get_user_result, get_user_dn, get_group_dn)
import base64
from ipapython.dn import DN
import pytest
fqdn1 = u'testhost1.%s' % api.env.domain
fqdn2 = u'testhost2.%s' % api.env.domain
@@ -60,6 +61,8 @@ hostgroup1 = u'testhostgroup1'
hostgroup1_dn = DN(('cn',hostgroup1),('cn','hostgroups'),('cn','accounts'),
api.env.basedn)
@pytest.mark.tier1
class test_service(Declarative):
cleanup_commands = [
@@ -648,6 +651,7 @@ class test_service(Declarative):
]
@pytest.mark.tier1
class test_service_in_role(Declarative):
cleanup_commands = [
('host_del', [fqdn1], {}),
@@ -771,6 +775,7 @@ class test_service_in_role(Declarative):
]
@pytest.mark.tier1
class test_service_allowed_to(Declarative):
cleanup_commands = [
('user_del', [user1], {}),

View File

@@ -9,6 +9,7 @@ from ipalib import api, errors
from ipatests.test_xmlrpc import objectclasses
from ipatests.test_xmlrpc.xmlrpc_test import Declarative
from ipapython.dn import DN
import pytest
rule1 = u'test1'
rule2 = u'test rule two'
@@ -22,6 +23,7 @@ def get_servicedelegation_dn(cn):
return DN(('cn', cn), api.env.container_s4u2proxy, api.env.basedn)
@pytest.mark.tier1
class test_servicedelegation(Declarative):
cleanup_commands = [
('servicedelegationrule_del', [rule1], {}),

View File

@@ -389,6 +389,7 @@ def user7(request):
return tracker.make_fixture_restore(request)
@pytest.mark.tier1
class TestNonexistentStagedUser(XMLRPC_test):
def test_retrieve_nonexistent(self, stageduser):
stageduser.ensure_missing()
@@ -426,6 +427,7 @@ class TestNonexistentStagedUser(XMLRPC_test):
command()
@pytest.mark.tier1
class TestStagedUser(XMLRPC_test):
def test_create_duplicate(self, stageduser):
stageduser.ensure_exists()
@@ -518,6 +520,7 @@ class TestStagedUser(XMLRPC_test):
stageduser.retrieve()
@pytest.mark.tier1
class TestCreateInvalidAttributes(XMLRPC_test):
def test_create_invalid_uid(self):
invalid = StageUserTracker(invaliduser1, u'invalid', u'user')
@@ -586,6 +589,7 @@ class TestCreateInvalidAttributes(XMLRPC_test):
command()
@pytest.mark.tier1
class TestUpdateInvalidAttributes(XMLRPC_test):
def test_update_uid_string(self, stageduser):
stageduser.ensure_exists()
@@ -620,6 +624,7 @@ class TestUpdateInvalidAttributes(XMLRPC_test):
command()
@pytest.mark.tier1
class TestActive(XMLRPC_test):
def test_delete(self, user):
user.ensure_exists()
@@ -659,6 +664,7 @@ class TestActive(XMLRPC_test):
command()
@pytest.mark.tier1
class TestPreserved(XMLRPC_test):
def test_search_preserved_invalid(self, user):
user.make_preserved_user()
@@ -752,6 +758,7 @@ class TestPreserved(XMLRPC_test):
stageduser.delete()
@pytest.mark.tier1
class TestManagers(XMLRPC_test):
def test_staged_manager(self, user, stageduser):
user.ensure_exists()
@@ -795,6 +802,7 @@ class TestManagers(XMLRPC_test):
assert False
@pytest.mark.tier1
class TestDuplicates(XMLRPC_test):
def test_active_same_as_preserved(self, user4, user5):
user4.ensure_missing()
@@ -851,6 +859,7 @@ def group(request):
return tracker.make_fixture(request)
@pytest.mark.tier1
class TestGroups(XMLRPC_test):
def test_stageduser_membership(self, stageduser, group):
stageduser.ensure_exists()

Some files were not shown because too many files have changed in this diff Show More