freeipa/ipatests/test_ipaplatform/test_platforms.py

42 lines
1.2 KiB
Python
Raw Normal View History

#
# 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)