Fixed a bug in the previous patch, automated 2 more testcases from http://www.freeipa.org/page/V4/Manage_replication_topology_4_4/Test_Plan
On 06/16/2016 04:46 PM, Oleg Fayans wrote: > > > -- Oleg Fayans Quality Engineer FreeIPA team RedHat.
From 2b087b1dc64500d58e72296f287aabd82cbd011c Mon Sep 17 00:00:00 2001 From: Oleg Fayans <ofay...@redhat.com> Date: Fri, 17 Jun 2016 09:38:04 +0200 Subject: [PATCH] Automated clean-ruv subcommand test https://fedorahosted.org/freeipa/ticket/5964 --- ipatests/test_integration/test_topology.py | 48 ++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/ipatests/test_integration/test_topology.py b/ipatests/test_integration/test_topology.py index e956563c27eafd84deed5786274a73d0d3594642..7a7bbfa579731410d147791d73a9e07b0fd1b271 100644 --- a/ipatests/test_integration/test_topology.py +++ b/ipatests/test_integration/test_topology.py @@ -159,3 +159,51 @@ class TestTopologyOptions(IntegrationTest): assert err == "", err returncode, error = tasks.destroy_segment(self.master, "%s-to-%s" % replicas) assert returncode == 0, error +@pytest.mark.skipif(config.domain_level == 0, reason=reasoning) +class TestCASpecificRUVs(IntegrationTest): + num_replicas = 2 + topology = 'star' + username = 'testuser' + user_firstname = 'test' + user_lastname = 'user' + + def test_ca_specific_ruvs(self): + """ + http://www.freeipa.org/page/V4/Manage_replication_topology_4_4/Test_Plan + #Test_case:_.2A-ruv_subcommands_of_ipa-replica-manage_are_extended + _to_handle_CA-specific_RUVs + """ + replica = self.replicas[0] + master = self.master + result1 = master.run_command(['ipa-replica-manage', 'list-ruv', + '-p', master.config.dirman_password]) + assert(result1.stdout_text.count(replica.hostname) == 2 and + "Certificate Server Replica Update Vectors" in result1.stdout_text), ( + "CA-specific RUVs are not displayed") + ruvid_re = re.compile(".*%s:389: (\d+).*" % replica.hostname) + replica_ruv_ids = ruvid_re.findall(result1.stdout_text) + result2 = master.run_command(['ipa-replica-manage', 'clean-ruv', + replica_ruv_ids[1], '-p', + master.config.dirman_password, '-f']) + assert(replica.hostname in result2.stdout_text), ( + "The wrong RUV was deleted") + result3 = master.run_command(['ipa-replica-manage', 'list-ruv', + '-p', master.config.dirman_password]) + assert(result3.stdout_text.count(replica.hostname) == 1), ( + "CA RUV of the replica is still displayed") + result4 = master.run_command(['ipa-replica-manage', 'clean-ruv', + replica_ruv_ids[0], '-p', + master.config.dirman_password, '-f']) + assert(replica.hostname in result4.stdout_text), ( + "The wrong RUV was deleted") + result5 = master.run_command(['ipa-replica-manage', 'list-ruv', + '-p', master.config.dirman_password]) + assert(replica.hostname not in result5.stdout_text), ( + "replica's RUV is still displayed") + master.run_command(['ipa', 'user-add', self.username, + "--first=%s" % self.user_firstname, + "--last=%s" % self.user_lastname]) + result6 = replica.run_command(['ipa', 'user-show', self.username], + raiseonerr=False) + assert(result6.returncode > 0), ( + 'Replication still works after all RUVs were deleted') -- 1.8.3.1
From 83f7fb2a88bae52fa58ef244ded0aecd2966f91e Mon Sep 17 00:00:00 2001 From: Oleg Fayans <ofay...@redhat.com> Date: Fri, 17 Jun 2016 09:40:28 +0200 Subject: [PATCH] Automated ipa-replica-manage del tests --- ipatests/test_integration/test_topology.py | 51 ++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/ipatests/test_integration/test_topology.py b/ipatests/test_integration/test_topology.py index 7a7bbfa579731410d147791d73a9e07b0fd1b271..227ed49b8b1db8f84d27dc2ea5773edbe0a1a1c2 100644 --- a/ipatests/test_integration/test_topology.py +++ b/ipatests/test_integration/test_topology.py @@ -207,3 +207,54 @@ class TestCASpecificRUVs(IntegrationTest): raiseonerr=False) assert(result6.returncode > 0), ( 'Replication still works after all RUVs were deleted') + + +class TestReplicaManageDel(IntegrationTest): + domain_level = 0 + topology = 'star' + num_replicas = 2 + + def test_replica_managed_del_domlevel0(self): + """ + http://www.freeipa.org/page/V4/Manage_replication_topology_4_4/ + Test_Plan#Test_case:_ipa-replica-manage_del_with_turned_off_replica + _under_domain_level_0_keeps_ca-related_RUVs + """ + master = self.master + replica = self.replicas[0] + replica.run_command(['poweroff']) + time.sleep(3) + master.run_command(['ipa-replica-manage', 'del', '-f', '-p', + master.config.dirman_password, replica.hostname]) + result = master.run_command(['ipa-replica-manage', 'list-ruv', + '-p', master.config.dirman_password]) + num_ruvs = result.stdout_text.count(replica.hostname) + assert(num_ruvs == 1), ("Expected to find 1 replica's RUV, found %s" % + num_ruvs) + ruvid_re = re.compile(".*%s:389: (\d+).*" % replica.hostname) + replica_ruvs = ruvid_re.findall(result.stdout_text) + master.run_command(['ipa-replica-manage', 'clean-ruv', 'f', + '-p', master.config.dirman_password, + replica_ruvs[0]]) + result2 = master.run_command(['ipa-replica-manage', 'list-ruv', + '-p', master.config.dirman_password]) + assert(replica.hostname not in result2.stdout_text), ( + "Replica's RUV was not properly removed") + + def test_replica_managed_del_domlevel1(self): + """ + http://www.freeipa.org/page/V4/Manage_replication_topology_4_4/ + Test_Plan#Test_case:_ipa-replica-manage_del_with_turned_off_replica + _under_domain_level_1_removes_ca-related_RUVs + """ + master = self.master + replica = self.replicas[1] + master.run_command(['ipa', 'domainlevel-set', '1']) + replica.run_command(['poweroff']) + time.sleep(3) + master.run_command(['ipa-replica-manage', 'del', '-f', '-p', + master.config.dirman_password, replica.hostname]) + result = master.run_command(['ipa-replica-manage', 'list-ruv', + '-p', master.config.dirman_password]) + assert(replica.hostname not in result.stdout_text), ( + "Replica's RUV was not properly removed") -- 1.8.3.1
-- Manage your subscription for the Freeipa-devel mailing list: https://www.redhat.com/mailman/listinfo/freeipa-devel Contribute to FreeIPA: http://www.freeipa.org/page/Contribute/Code