Hi Martin, Thanks for the review. The updated patch is attached
On 07/01/2016 04:09 PM, Martin Basti wrote: > > > On 01.07.2016 14:38, Oleg Fayans wrote: >> Hi Martin. Now I have this client installation thing sorted out. The >> test works as expected >> >> On 06/30/2016 02:57 PM, Martin Basti wrote: >>> >>> On 30.06.2016 14:40, Oleg Fayans wrote: >>>> Hi Martin, >>>> >>>> Attached is a new version of the patch with two test cases separated. >>>> >>>> On 06/29/2016 12:23 PM, Martin Basti wrote: >>>>> On 29.06.2016 10:56, Oleg Fayans wrote: >>>>> Hello, >>>>> >>>>> + assert_error(result, >>>>> + "Failed to verify that %s is an IPA Server" % >>>>> + self.master.hostname) >>>>> >>>>> >>>>> I would expect this error there: >>>>> >>>>> "Cannot promote this client to a replica. Local domain '{local}' does >>>>> not match IPA domain '{ipadomain}'. " >>>> Right, that's what this ticket is about: >>>> https://fedorahosted.org/freeipa/ticket/6006 >>>> >>>> Once these changes are implemented, we can update this test >>> Wat? >>> >>> You get exactly the right message from ipa-replica-install, tested, >>> reviewed by several people. >>>>> You should not use random REALM, in this case you don't test >>>>> domains but >>>>> realms. You can leave the test with incorrect realm there, but as >>>>> separated testcase >>>> Oh, ok. But it does not seem possible to setup client providing only >>>> --realm without --domain: installer would not do it. >>>> >>> Try to read again: "should not use *random* REALM". Nothing prevents you >>> to use, --realm=TEST.REALM --domain=random-blah-domain >>>>> Martin^2 >>>>> >>>>> >>>> >>> NACK >>> >>> + domain_name = 'exxample.test' >>> + realm_name = domain_name.upper() >>> >>> you still use random realm name, and you still don't test >>> ipa-replica-install, that ticket has nothing related to domain in >>> ipa-client-install, it is related to replica promotion >>> >>> Martin^2 > > I have a few comments: > > 1) > This is unused and should not be there > + realm_name = domain_name.upper() Done > > 2) > teardown_method > shouldn't be more robust, what happens if client uninstall raises an error? Agree. Done > > 3) in both tests > + '-w', self.master.config.dirman_password, > > -w means admin password (ipa-client-install --help), so you should use > admin not directory manager password Fixed > > 4) > + result = client.run_command(['ipa-client-install', '-U', > '--domain', > + self.master.domain.realm, '-w', > > did you mean: '--domain', self.master.domain.name.upper() Yes. Fixed. > -- Oleg Fayans Quality Engineer FreeIPA team RedHat.
From 28740cad2c6a1a8da80617579db1983bb35114d4 Mon Sep 17 00:00:00 2001 From: Oleg Fayans <ofay...@redhat.com> Date: Fri, 1 Jul 2016 16:52:22 +0200 Subject: [PATCH] Test for incorrect client domain https://fedorahosted.org/freeipa/ticket/5976 --- .../test_integration/test_replica_promotion.py | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/ipatests/test_integration/test_replica_promotion.py b/ipatests/test_integration/test_replica_promotion.py index 1f683b6d5c067ec526b307eea1460cafbadb80cb..7bc1d5281880221578df3c269a3d7715777bb8e0 100644 --- a/ipatests/test_integration/test_replica_promotion.py +++ b/ipatests/test_integration/test_replica_promotion.py @@ -377,3 +377,55 @@ class TestOldReplicaWorksAfterDomainUpgrade(IntegrationTest): result1 = self.master.run_command(['ipa', 'user-show', self.username], raiseonerr=False) assert_error(result1, "%s: user not found" % self.username, 2) + + +class TestWrongClientDomain(IntegrationTest): + topology = "star" + num_clients = 1 + domain_name = 'exxample.test' + + @classmethod + def install(cls, mh): + tasks.install_master(cls.master, domain_level=cls.domain_level) + + def teardown_method(self, method): + self.clients[0].run_command(['ipa-client-install', + '--uninstall', '-U'], + raiseonerr=False) + tasks.kinit_admin(self.master) + self.master.run_command(['ipa', 'host-del', + self.clients[0].hostname], + raiseonerr=False) + + def test_wrong_client_domain(self): + client = self.clients[0] + client.run_command(['ipa-client-install', '-U', + '--domain', self.domain_name, + '--realm', self.master.domain.realm, + '-p', 'admin', + '-w', self.master.config.admin_password, + '--server', self.master.hostname, + '--force-join']) + result = client.run_command(['ipa-replica-install', '-U', '-w', + self.master.config.dirman_password], + raiseonerr=False) + assert_error(result, + "Cannot promote this client to a replica. Local domain " + "'%s' does not match IPA domain " + "'%s'" % (self.domain_name, self.master.domain.name)) + + def test_upcase_client_domain(self): + client = self.clients[0] + result = client.run_command(['ipa-client-install', '-U', '--domain', + self.master.domain.name.upper(), '-w', + self.master.config.admin_password, + '-p', 'admin', + '--server', self.master.hostname, + '--force-join'], raiseonerr=False) + assert(result.returncode == 0), ( + 'Failed to setup client with the upcase domain name') + result1 = client.run_command(['ipa-replica-install', '-U', '-w', + self.master.config.dirman_password], + raiseonerr=False) + assert(result1.returncode == 0), ( + 'Failed to promote the client installed with the upcase domain name') -- 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