URL: https://github.com/freeipa/freeipa/pull/2638
Author: Tiboris
 Title: #2638: Fix test_ntp_options
Action: opened

PR body:
"""
On nightly tests are failing because custom client and replica install methods

Use methods:
- tasks.replica_install()
- tasks.client_isntall()
instead of custom methods.
Move ntp_pool/server to class scope.

Related to: https://pagure.io/freeipa/issue/7719
"""

To pull the PR as Git branch:
git remote add ghfreeipa https://github.com/freeipa/freeipa
git fetch ghfreeipa pull/2638/head:pr2638
git checkout pr2638
From 14907a688ebeba129320a37e15763039380872bc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tibor=20Dudl=C3=A1k?= <tdud...@redhat.com>
Date: Tue, 4 Dec 2018 12:24:30 +0100
Subject: [PATCH] Fix test_ntp_options

Use methods:
- tasks.replica_install()
- tasks.client_isntall()
instead of custom methods.
Move ntp_pool/server to class scope.
---
 ipatests/test_integration/test_ntp_options.py | 110 ++++++++----------
 1 file changed, 47 insertions(+), 63 deletions(-)

diff --git a/ipatests/test_integration/test_ntp_options.py b/ipatests/test_integration/test_ntp_options.py
index e99ce3a5c2..cbd2365420 100644
--- a/ipatests/test_integration/test_ntp_options.py
+++ b/ipatests/test_integration/test_ntp_options.py
@@ -1,7 +1,7 @@
 #
 # Copyright (C) 2018  FreeIPA Contributors see COPYING for license
 #
-
+from __future__ import absolute_import
 from ipatests.test_integration.base import IntegrationTest
 from ipatests.pytest_ipa.integration import tasks
 from ipaplatform.paths import paths
@@ -17,26 +17,15 @@ class TestNTPoptions(IntegrationTest):
     num_clients = 1
     num_replicas = 1
 
+    ntp_pool = "pool.ntp.org"
+    ntp_server1 = "1.pool.ntp.org"
+    ntp_server2 = "2.pool.ntp.org"
+
     @classmethod
     def install(cls, mh):
         cls.client = cls.clients[0]
         cls.replica = cls.replicas[0]
 
-    def install_client(self, *args):
-        cmd = ['ipa-client-install', '-U',
-               '--domain', self.client.domain.name,
-               '--realm', self.client.domain.realm,
-               '-p', self.client.config.admin_name,
-               '-w', self.client.config.admin_password,
-               '--server', self.master.hostname, *args]
-        return self.client.run_command(cmd, raiseonerr=False)
-
-    def install_replica(self, *args):
-        cmd = ['ipa-replica-install', '-w', self.master.config.admin_password,
-               '-n', self.master.domain.name, '-r', self.master.domain.realm,
-               '--server', self.master.hostname, '-U', *args]
-        return self.replica.run_command(cmd, raiseonerr=False)
-
     def test_server_client_install_without_options(self):
         """
         test to verify that ipa-server and ipa-client install uses
@@ -50,7 +39,8 @@ def test_server_client_install_without_options(self):
         assert expected_msg1 in server_install.stderr_text
         assert expected_msg2 in server_install.stdout_text
 
-        client_install = self.install_client()
+        client_install = tasks.install_client(self.master, self.client)
+
         assert expected_msg1 in client_install.stderr_text
         assert expected_msg2 in client_install.stdout_text
 
@@ -69,7 +59,8 @@ def test_server_client_install_no_ntp(self):
         assert expected_msg1 in server_install.stdout_text
         assert expected_msg2 not in server_install.stdout_text
 
-        client_install = self.install_client('--no-ntp')
+        client_install = tasks.install_client(self.master, self.client,
+                                              extra_args=['--no-ntp'])
         assert expected_msg2 not in client_install.stdout_text
 
         self.cleanup()
@@ -79,25 +70,23 @@ def test_server_client_install_with_multiple_ntp_srv(self):
         test to verify that ipa-server-install passes with multiple
         --ntp-server option used
         """
-        ntp_server1 = "1.pool.ntp.org"
-        ntp_server2 = "2.pool.ntp.org"
         expected_msg = "Configuration of chrony was changed by installer."
+        args = ['--ntp-server=%s' % self.ntp_server1,
+                '--ntp-server=%s' % self.ntp_server2]
 
-        server_install = tasks.install_master(
-            self.master, setup_dns=False,
-            extra_args=['--ntp-server=%s' % ntp_server1,
-                        '--ntp-server=%s' % ntp_server2])
+        server_install = tasks.install_master(self.master, setup_dns=False,
+                                              extra_args=args)
         assert expected_msg in server_install.stderr_text
         cmd = self.master.run_command(['cat', paths.CHRONY_CONF])
-        assert ntp_server1 in cmd.stdout_text
-        assert ntp_server2 in cmd.stdout_text
+        assert self.ntp_server1 in cmd.stdout_text
+        assert self.ntp_server2 in cmd.stdout_text
 
-        client_install = self.install_client('--ntp-server=%s' % ntp_server1,
-                                             '--ntp-server=%s' % ntp_server2)
+        client_install = tasks.install_client(self.master, self.client,
+                                              extra_args=args)
         assert expected_msg in client_install.stderr_text
         cmd = self.client.run_command(['cat', paths.CHRONY_CONF])
-        assert ntp_server1 in cmd.stdout_text
-        assert ntp_server2 in cmd.stdout_text
+        assert self.ntp_server1 in cmd.stdout_text
+        assert self.ntp_server2 in cmd.stdout_text
 
         self.cleanup()
 
@@ -106,32 +95,29 @@ def test_server_replica_client_install_with_pool_and_srv(self):
         test to verify that ipa-server, ipa-replica and ipa-client install
         passes with options --ntp-pool and --ntp-server together
         """
-        ntp_pool = "pool.ntp.org"
-        ntp_server = "1.pool.ntp.org"
         expected_msg = "Configuration of chrony was changed by installer."
-
-        server_install = tasks.install_master(
-            self.master, setup_dns=False,
-            extra_args=['--ntp-pool=%s' % ntp_pool,
-                        '--ntp-server=%s' % ntp_server])
+        args = ['--ntp-pool=%s' % self.ntp_pool,
+                '--ntp-server=%s' % self.ntp_server1]
+        server_install = tasks.install_master(self.master, setup_dns=False,
+                                              extra_args=args)
         assert expected_msg in server_install.stderr_text
         cmd = self.master.run_command(['cat', paths.CHRONY_CONF])
-        assert ntp_pool in cmd.stdout_text
-        assert ntp_server in cmd.stdout_text
+        assert self.ntp_pool in cmd.stdout_text
+        assert self.ntp_server1 in cmd.stdout_text
 
-        replica_install = self.install_replica('--ntp-pool=%s' % ntp_pool,
-                                               '--ntp-server=%s' % ntp_server)
+        replica_install = tasks.install_replica(self.master, self.client,
+                                                extra_args=args)
         assert expected_msg in replica_install.stderr_text
         cmd = self.replica.run_command(['cat', paths.CHRONY_CONF])
-        assert ntp_pool in cmd.stdout_text
-        assert ntp_server in cmd.stdout_text
+        assert self.ntp_pool in cmd.stdout_text
+        assert self.ntp_server1 in cmd.stdout_text
 
-        client_install = self.install_client('--ntp-pool=%s' % ntp_pool,
-                                             '--ntp-server=%s' % ntp_server)
+        client_install = tasks.install_client(self.master, self.client,
+                                              extra_args=args)
         assert expected_msg in client_install.stderr_text
         cmd = self.client.run_command(['cat', paths.CHRONY_CONF])
-        assert ntp_pool in cmd.stdout_text
-        assert ntp_server in cmd.stdout_text
+        assert self.ntp_pool in cmd.stdout_text
+        assert self.ntp_server1 in cmd.stdout_text
         tasks.uninstall_master(self.replica)
 
         self.cleanup()
@@ -139,26 +125,27 @@ def test_server_replica_client_install_with_pool_and_srv(self):
     def test_server_client_install_mixed_options(self):
         """
         test to verify that ipa-server and ipa-client install with
-         --ntp-server and -N options would fail
+        --ntp-server and -N options would fail
         """
-        ntp_server = "1.pool.ntp.org"
         exp_str = ("error: --ntp-server cannot be used"
                    " together with --no-ntp")
         exp_pool_str = ("error: --ntp-pool cannot be used"
                         " together with --no-ntp")
 
-        args1 = ['ipa-server-install', '-N', '--ntp-server=%s' % ntp_server]
+        args1 = ['ipa-server-install', '-N',
+                 '--ntp-server=%s' % self.ntp_server1]
         server_install = self.master.run_command(args1, raiseonerr=False)
         assert server_install.returncode == 2
         assert exp_str in server_install.stderr_text
 
-        args2 = ['ipa-client-install', '-N', '--ntp-server=%s' % ntp_server]
+        args2 = ['ipa-client-install', '--no-ntp',
+                 '--ntp-server=%s' % self.ntp_server2]
         client_install = self.client.run_command(args2, raiseonerr=False)
         assert client_install.returncode == 2
         assert exp_str in client_install.stderr_text
 
         args3 = ['ipa-client-install', '-N',
-                 '--ntp-pool=%s' % ntp_server.lstrip('1.')]
+                 '--ntp-pool=%s' % self.ntp_pool]
         client_install = self.client.run_command(args3, raiseonerr=False)
         assert client_install.returncode == 2
         assert exp_pool_str in client_install.stderr_text
@@ -166,10 +153,8 @@ def test_server_client_install_mixed_options(self):
     def test_replica_promotion_with_ntp_options(self):
         """
         test to verify that replica promotion with ntp --ntp-server,
-         --ntp-pool and -N or --no-ntp option would fail
+        --ntp-pool and -N or --no-ntp option would fail
         """
-        ntp_server = "1.pool.ntp.org"
-        ntp_pool = "pool.ntp.org"
         exp_str = "NTP configuration cannot be updated during promotion"
 
         tasks.install_master(self.master, setup_dns=False)
@@ -177,18 +162,18 @@ def test_replica_promotion_with_ntp_options(self):
 
         try:
             replica_install = self.replica.run_command(
-                ['ipa-replica-install', '-N'], raiseonerr=False)
+                ['ipa-replica-install', '--no-ntp'], raiseonerr=False)
             assert replica_install.returncode == 1
             assert exp_str in replica_install.stderr_text
 
             replica_install = self.replica.run_command(
-                ['ipa-replica-install', '--ntp-server=%s' % ntp_server],
+                ['ipa-replica-install', '--ntp-server=%s' % self.ntp_server1],
                 raiseonerr=False)
             assert replica_install.returncode == 1
             assert exp_str in replica_install.stderr_text
 
             replica_install = self.replica.run_command(
-                ['ipa-replica-install', '--ntp-pool=%s' % ntp_pool],
+                ['ipa-replica-install', '--ntp-pool=%s' % self.ntp_pool],
                 raiseonerr=False)
             assert replica_install.returncode == 1
             assert exp_str in replica_install.stderr_text
@@ -200,22 +185,21 @@ def test_replica_promotion_with_ntp_options(self):
     def test_replica_promotion_without_ntp(self):
         """
         test to verify that replica promotion without ntp options
-         - ipa-client install with ntp option
-         - ipa-replica without ntp option
+        - ipa-client-install with ntp option
+        - ipa-replica-install without ntp option
         will be successful
         """
-        ntp_pool = "pool.ntp.org"
         exp_str = "ipa-replica-install command was successful"
 
         tasks.install_master(self.master, setup_dns=False)
         tasks.install_client(self.master, self.replica,
-                             extra_args=['--ntp-pool=%s' % ntp_pool])
+                             extra_args=['--ntp-pool=%s' % self.ntp_pool])
 
         replica_install = self.replica.run_command(
             ['ipa-replica-install'], raiseonerr=False)
         assert exp_str in replica_install.stderr_text
         cmd = self.replica.run_command(['cat', paths.CHRONY_CONF])
-        assert ntp_pool in cmd.stdout_text
+        assert self.ntp_pool in cmd.stdout_text
 
         tasks.uninstall_master(self.replica)
 
_______________________________________________
FreeIPA-devel mailing list -- freeipa-devel@lists.fedorahosted.org
To unsubscribe send an email to freeipa-devel-le...@lists.fedorahosted.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedorahosted.org/archives/list/freeipa-devel@lists.fedorahosted.org

Reply via email to