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