URL: https://github.com/freeipa/freeipa/pull/1276
Author: tomaskrizek
 Title: #1276: [Backport][ipa-4-6] ipatests: fix circular import for 
collect_logs
Action: opened

PR body:
"""
This PR was opened automatically because PR #1255 was pushed to master and 
backport to ipa-4-6 is required.
"""

To pull the PR as Git branch:
git remote add ghfreeipa https://github.com/freeipa/freeipa
git fetch ghfreeipa pull/1276/head:pr1276
git checkout pr1276
From 9cd0b83c64401c40aa02bba175f0d570cd4d2116 Mon Sep 17 00:00:00 2001
From: Tomas Krizek <tkri...@redhat.com>
Date: Wed, 8 Nov 2017 12:47:56 +0100
Subject: [PATCH] ipatests: fix circular import for collect_logs

Move collect_logs function from util to avoid a circular import.

Signed-off-by: Tomas Krizek <tkri...@redhat.com>
---
 ipatests/pytest_plugins/integration/tasks.py  | 16 ++++++++++++++++
 ipatests/test_integration/test_external_ca.py |  3 +--
 ipatests/util.py                              | 18 ------------------
 3 files changed, 17 insertions(+), 20 deletions(-)

diff --git a/ipatests/pytest_plugins/integration/tasks.py b/ipatests/pytest_plugins/integration/tasks.py
index 1b56120589..d5075135f5 100644
--- a/ipatests/pytest_plugins/integration/tasks.py
+++ b/ipatests/pytest_plugins/integration/tasks.py
@@ -91,6 +91,22 @@ def setup_server_logs_collecting(host):
     # setup_sssd_debugging)
 
 
+def collect_logs(func):
+    def wrapper(*args):
+        try:
+            func(*args)
+        finally:
+            if hasattr(args[0], 'master'):
+                setup_server_logs_collecting(args[0].master)
+            if hasattr(args[0], 'replicas') and args[0].replicas:
+                for replica in args[0].replicas:
+                    setup_server_logs_collecting(replica)
+            if hasattr(args[0], 'clients') and args[0].clients:
+                for client in args[0].clients:
+                    setup_server_logs_collecting(client)
+    return wrapper
+
+
 def check_arguments_are(slice, instanceof):
     """
     :param: slice - tuple of integers denoting the beginning and the end
diff --git a/ipatests/test_integration/test_external_ca.py b/ipatests/test_integration/test_external_ca.py
index 9c849e0943..e3c44100e4 100644
--- a/ipatests/test_integration/test_external_ca.py
+++ b/ipatests/test_integration/test_external_ca.py
@@ -20,14 +20,13 @@
 from ipatests.pytest_plugins.integration import tasks
 from ipatests.test_integration.base import IntegrationTest
 from ipatests.test_integration.create_external_ca import ExternalCA
-from ipatests.util import collect_logs
 
 
 class TestExternalCA(IntegrationTest):
     """
     Test of FreeIPA server installation with exernal CA
     """
-    @collect_logs
+    @tasks.collect_logs
     def test_external_ca(self):
         # Step 1 of ipa-server-install
         self.master.run_command([
diff --git a/ipatests/util.py b/ipatests/util.py
index 2564459a8e..98369ed8d9 100644
--- a/ipatests/util.py
+++ b/ipatests/util.py
@@ -43,8 +43,6 @@
 from ipalib.request import context
 from ipapython.dn import DN
 from ipapython.ipautil import run
-from ipatests.pytest_plugins.integration.tasks import (
-    setup_server_logs_collecting)
 
 
 try:
@@ -855,19 +853,3 @@ def get_group_dn(cn):
 
 def get_user_dn(uid):
     return DN(('uid', uid), api.env.container_user, api.env.basedn)
-
-
-def collect_logs(func):
-    def wrapper(*args):
-        try:
-            func(*args)
-        finally:
-            if hasattr(args[0], 'master'):
-                setup_server_logs_collecting(args[0].master)
-            if hasattr(args[0], 'replicas') and args[0].replicas:
-                for replica in args[0].replicas:
-                    setup_server_logs_collecting(replica)
-            if hasattr(args[0], 'clients') and args[0].clients:
-                for client in args[0].clients:
-                    setup_server_logs_collecting(client)
-    return wrapper
_______________________________________________
FreeIPA-devel mailing list -- freeipa-devel@lists.fedorahosted.org
To unsubscribe send an email to freeipa-devel-le...@lists.fedorahosted.org

Reply via email to