diff --git a/ipatests/pytest_ipa/integration/tasks.py b/ipatests/pytest_ipa/integration/tasks.py old mode 100644 new mode 100755 index 32ddb0532..0a6a55d84 --- a/ipatests/pytest_ipa/integration/tasks.py +++ b/ipatests/pytest_ipa/integration/tasks.py @@ -1461,13 +1461,18 @@ def install_kra(host, domain_level=None, first_instance=False, raiseonerr=True): return result -def install_ca(host, domain_level=None, first_instance=False, - external_ca=False, cert_files=None, raiseonerr=True): +def install_ca( + host, domain_level=None, first_instance=False, external_ca=False, + cert_files=None, raiseonerr=True, extra_args=() +): if domain_level is None: domain_level = domainlevel(host) check_domain_level(domain_level) command = ["ipa-ca-install", "-U", "-p", host.config.dirman_password, "-P", 'admin', "-w", host.config.admin_password] + if not isinstance(extra_args, (tuple, list)): + raise TypeError("extra_args must be tuple or list") + command.extend(extra_args) # First step of ipa-ca-install --external-ca if external_ca: command.append('--external-ca') diff --git a/ipatests/test_integration/test_installation.py b/ipatests/test_integration/test_installation.py index 1e0a68fcd..43dee0ebf 100644 --- a/ipatests/test_integration/test_installation.py +++ b/ipatests/test_integration/test_installation.py @@ -227,6 +227,34 @@ class TestInstallWithCA2(InstallTestBase2): super(TestInstallWithCA2, self).test_replica2_ipa_kra_install() +class TestInstallCA(IntegrationTest): + """ + Tests for CA installation on a replica + """ + + num_replicas = 2 + + @classmethod + def install(cls, mh): + tasks.install_master(cls.master, setup_dns=False) + + def test_replica_ca_install_with_no_host_dns(self): + """ + Test for ipa-ca-install --no-host-dns on a replica + """ + + tasks.install_replica(self.master, self.replicas[0], setup_ca=False) + tasks.install_ca(self.replicas[0], extra_args=["--no-host-dns"]) + + def test_replica_ca_install_with_skip_schema_check(self): + """ + Test for ipa-ca-install --skip-schema-check on a replica + """ + + tasks.install_replica(self.master, self.replicas[1], setup_ca=False) + tasks.install_ca(self.replicas[1], extra_args=["--skip-schema-check"]) + + class TestInstallWithCA_KRA1(InstallTestBase1): @classmethod