summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Heimes <cheimes@redhat.com>2017-03-21 16:33:34 +0100
committerTomas Krizek <tkrizek@redhat.com>2017-03-22 13:42:04 +0100
commit24161a619049e0fb3b954592f64ee6d561320d2c (patch)
treeab17ea01c2f8bec7bc6dd2e2773e7b6934e77d46
parent5587a37e2345de4e76813e00f4b2751d24c618fc (diff)
downloadfreeipa-24161a619049e0fb3b954592f64ee6d561320d2c.tar.gz
freeipa-24161a619049e0fb3b954592f64ee6d561320d2c.tar.xz
freeipa-24161a619049e0fb3b954592f64ee6d561320d2c.zip
Move remaining util functions to tasks module
https://pagure.io/freeipa/issue/6798 Signed-off-by: Christian Heimes <cheimes@redhat.com> Reviewed-By: Milan Kubik <mkubik@redhat.com>
-rw-r--r--ipatests/pytest_plugins/integration/tasks.py37
-rw-r--r--ipatests/test_integration/test_sudo.py7
-rw-r--r--ipatests/test_integration/test_trust.py5
-rw-r--r--ipatests/test_integration/util.py50
4 files changed, 38 insertions, 61 deletions
diff --git a/ipatests/pytest_plugins/integration/tasks.py b/ipatests/pytest_plugins/integration/tasks.py
index 3e06c85b6..382028a74 100644
--- a/ipatests/pytest_plugins/integration/tasks.py
+++ b/ipatests/pytest_plugins/integration/tasks.py
@@ -36,12 +36,14 @@ from ipapython import ipautil
from ipaplatform.paths import paths
from ipapython.dn import DN
from ipapython.ipa_log_manager import log_mgr
-from ipatests.pytest_plugins.integration.env_config import env_to_script
-from ipatests.pytest_plugins.integration.host import Host
from ipalib import errors
from ipalib.util import get_reverse_zone_default, verify_host_resolvable
-from ipalib.constants import DOMAIN_SUFFIX_NAME
-from ipalib.constants import DOMAIN_LEVEL_0
+from ipalib.constants import (
+ DEFAULT_CONFIG, DOMAIN_SUFFIX_NAME, DOMAIN_LEVEL_0)
+
+from .env_config import env_to_script
+from .host import Host
+
log = log_mgr.get_logger(__name__)
@@ -1285,3 +1287,30 @@ def run_repeatedly(host, command, assert_zero_rc=True, test=None,
.format(cmd=' '.join(command),
times=timeout // time_step,
timeout=timeout))
+
+
+def get_host_ip_with_hostmask(host):
+ """
+ Detects the IP of the host including the hostmask.
+
+ Returns None if the IP could not be detected.
+ """
+
+ ip = host.ip
+ result = host.run_command(['ip', 'addr'])
+ full_ip_regex = r'(?P<full_ip>%s/\d{1,2}) ' % re.escape(ip)
+ match = re.search(full_ip_regex, result.stdout_text)
+
+ if match:
+ return match.group('full_ip')
+
+
+def ldappasswd_user_change(user, oldpw, newpw, master):
+ container_user = dict(DEFAULT_CONFIG)['container_user']
+ basedn = master.domain.basedn
+
+ userdn = "uid={},{},{}".format(user, container_user, basedn)
+
+ args = [paths.LDAPPASSWD, '-D', userdn, '-w', oldpw, '-a', oldpw,
+ '-s', newpw, '-x']
+ master.run_command(args)
diff --git a/ipatests/test_integration/test_sudo.py b/ipatests/test_integration/test_sudo.py
index 37d0df8ae..aa4f11c76 100644
--- a/ipatests/test_integration/test_sudo.py
+++ b/ipatests/test_integration/test_sudo.py
@@ -21,8 +21,7 @@ import pytest
from ipatests.test_integration.base import IntegrationTest
from ipatests.pytest_plugins.integration.tasks import (
- clear_sssd_cache, modify_sssd_conf)
-from ipatests.test_integration import util
+ clear_sssd_cache, get_host_ip_with_hostmask, modify_sssd_conf)
class TestSudo(IntegrationTest):
@@ -299,7 +298,7 @@ class TestSudo(IntegrationTest):
def test_sudo_rule_restricted_to_one_hostmask_setup(self):
# We need to detect the hostmask first
- full_ip = util.get_host_ip_with_hostmask(self.client)
+ full_ip = get_host_ip_with_hostmask(self.client)
# Make a note for the next test, which needs to be skipped
# if hostmask detection failed
@@ -342,7 +341,7 @@ class TestSudo(IntegrationTest):
raise pytest.skip("Hostmask could not be detected")
# Detect the hostmask first to delete the hostmask based rule
- full_ip = util.get_host_ip_with_hostmask(self.client)
+ full_ip = get_host_ip_with_hostmask(self.client)
# Remove the client's hostmask from the rule
self.master.run_command(['ipa', '-n', 'sudorule-remove-host',
diff --git a/ipatests/test_integration/test_trust.py b/ipatests/test_integration/test_trust.py
index 6a5dda8aa..f5648ec53 100644
--- a/ipatests/test_integration/test_trust.py
+++ b/ipatests/test_integration/test_trust.py
@@ -22,7 +22,6 @@ import re
from ipatests.test_integration.base import IntegrationTest
from ipatests.pytest_plugins.integration import tasks
-from ipatests.test_integration import util
from ipaplatform.paths import paths
@@ -189,8 +188,8 @@ class TestBasicADTrust(ADTrustBase):
stdin_text=original_passwd)
# change password for the user to be able to kinit
- util.ldappasswd_user_change(ipauser, original_passwd, new_passwd,
- self.master)
+ tasks.ldappasswd_user_change(ipauser, original_passwd, new_passwd,
+ self.master)
# try to kinit as ipauser
self.master.run_command(
diff --git a/ipatests/test_integration/util.py b/ipatests/test_integration/util.py
deleted file mode 100644
index b42111ec1..000000000
--- a/ipatests/test_integration/util.py
+++ /dev/null
@@ -1,50 +0,0 @@
-# Authors:
-# Tomas Babej <tbabej@redhat.com>
-#
-# Copyright (C) 2013 Red Hat
-# see file 'COPYING' for use and warranty information
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-import re
-
-from ipaplatform.paths import paths
-from ipalib.constants import DEFAULT_CONFIG
-
-
-def get_host_ip_with_hostmask(host):
- """
- Detects the IP of the host including the hostmask.
-
- Returns None if the IP could not be detected.
- """
-
- ip = host.ip
- result = host.run_command(['ip', 'addr'])
- full_ip_regex = r'(?P<full_ip>%s/\d{1,2}) ' % re.escape(ip)
- match = re.search(full_ip_regex, result.stdout_text)
-
- if match:
- return match.group('full_ip')
-
-
-def ldappasswd_user_change(user, oldpw, newpw, master):
- container_user = dict(DEFAULT_CONFIG)['container_user']
- basedn = master.domain.basedn
-
- userdn = "uid={},{},{}".format(user, container_user, basedn)
-
- args = [paths.LDAPPASSWD, '-D', userdn, '-w', oldpw, '-a', oldpw,
- '-s', newpw, '-x']
- master.run_command(args)