URL: https://github.com/freeipa/freeipa/pull/5161 Author: tiran Title: #5161: Add missing fedora_container platform members Action: opened
PR body: """ The fedora_container platform was missing User and Group members. Add test case to verify that all known platforms define correct module API. Fixes: https://pagure.io/freeipa/issue/8519 Signed-off-by: Christian Heimes <chei...@redhat.com> """ To pull the PR as Git branch: git remote add ghfreeipa https://github.com/freeipa/freeipa git fetch ghfreeipa pull/5161/head:pr5161 git checkout pr5161
From 5a041c32c010d340d9c61fff9336e55ed1c88049 Mon Sep 17 00:00:00 2001 From: Christian Heimes <chei...@redhat.com> Date: Tue, 29 Sep 2020 10:30:42 +0200 Subject: [PATCH] Add missing fedora_container platform members The fedora_container platform was missing User and Group members. Add test case to verify that all known platforms define correct module API. Fixes: https://pagure.io/freeipa/issue/8519 Signed-off-by: Christian Heimes <chei...@redhat.com> --- ipaplatform/fedora_container/constants.py | 5 ++- ipatests/test_ipaplatform/test_platforms.py | 41 +++++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 ipatests/test_ipaplatform/test_platforms.py diff --git a/ipaplatform/fedora_container/constants.py b/ipaplatform/fedora_container/constants.py index 21f04c4feb..0427f91a77 100644 --- a/ipaplatform/fedora_container/constants.py +++ b/ipaplatform/fedora_container/constants.py @@ -3,7 +3,10 @@ # """Fedora container constants """ -from ipaplatform.fedora.constants import FedoraConstantsNamespace +from ipaplatform.fedora.constants import FedoraConstantsNamespace, User, Group + + +__all__ = ("constants", "User", "Group") class FedoraContainerConstantsNamespace(FedoraConstantsNamespace): diff --git a/ipatests/test_ipaplatform/test_platforms.py b/ipatests/test_ipaplatform/test_platforms.py new file mode 100644 index 0000000000..87d1121a20 --- /dev/null +++ b/ipatests/test_ipaplatform/test_platforms.py @@ -0,0 +1,41 @@ +# +# Copyright (C) 2020 FreeIPA Contributors see COPYING for license +# +"""Test import and basic properties of platforms +""" +from importlib import import_module + +import pytest + +from ipaplatform.base.constants import BaseConstantsNamespace, User, Group +from ipaplatform.base.paths import BasePathNamespace +from ipaplatform.base.services import KnownServices +from ipaplatform.base.tasks import BaseTaskNamespace + +PLATFORMS = [ + "debian", + "fedora", + "fedora_container", + "rhel", + "rhel_container", + "suse", +] + + +@pytest.mark.parametrize("name", PLATFORMS) +def test_import_platform(name): + constants = import_module(f"ipaplatform.{name}.constants") + assert isinstance(constants.constants, BaseConstantsNamespace) + assert issubclass(constants.User, User) + assert issubclass(constants.Group, Group) + + paths = import_module(f"ipaplatform.{name}.paths") + assert isinstance(paths.paths, BasePathNamespace) + + services = import_module(f"ipaplatform.{name}.services") + assert isinstance(services.knownservices, KnownServices) + assert isinstance(services.timedate_services, list) + assert callable(services.service) + + tasks = import_module(f"ipaplatform.{name}.tasks") + assert isinstance(tasks.tasks, BaseTaskNamespace)
_______________________________________________ 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://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/freeipa-devel@lists.fedorahosted.org