From afd06bd904583c53f1f31d445e99702ab1813780 Mon Sep 17 00:00:00 2001 From: Ewoud Kohl van Wijngaarden Date: Fri, 15 May 2026 16:13:41 +0200 Subject: [PATCH] Only test for azure-rm and google features when enabled --- .../feature/foreman/compute_resources_test.py | 22 ++++++++++++++++--- tests/feature/foreman/plugins_test.py | 17 ++++++++++---- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/tests/feature/foreman/compute_resources_test.py b/tests/feature/foreman/compute_resources_test.py index 6ed61b1de..8e47bcb1f 100644 --- a/tests/feature/foreman/compute_resources_test.py +++ b/tests/feature/foreman/compute_resources_test.py @@ -1,9 +1,25 @@ import pytest -@pytest.mark.parametrize("compute_resource", ['AzureRm', 'EC2', 'GCE', 'Libvirt', 'Openstack', 'Vmware']) -def test_foreman_compute_resources(foremanapi, compute_resource): +# TODO: Foreman really should have a dedicated API endpoint to expose this info +@pytest.fixture +def provider_description(foremanapi): create = foremanapi.resource('compute_resources').action('create') compute_resource_param = [param for param in create.params if param.name == 'compute_resource'][0] provider = [param for param in compute_resource_param.params if param.name == 'provider'][0] - assert compute_resource in provider.description + return provider.description + + +@pytest.mark.parametrize("compute_resource", ['EC2', 'Libvirt', 'Openstack', 'Vmware']) +def test_foreman_compute_resources_built_in(provider_description, compute_resource): + assert compute_resource in provider_description + + +@pytest.mark.feature('azure-rm') +def test_foreman_compute_resources_azure_rm(provider_description): + assert 'AzureRm' in provider_description + + +@pytest.mark.feature('google') +def test_foreman_compute_resources_google(provider_description): + assert 'GCE' in provider_description diff --git a/tests/feature/foreman/plugins_test.py b/tests/feature/foreman/plugins_test.py index b2c787ccb..d6c4c2d32 100644 --- a/tests/feature/foreman/plugins_test.py +++ b/tests/feature/foreman/plugins_test.py @@ -1,7 +1,16 @@ import pytest -@pytest.mark.parametrize("foreman_plugin", ['foreman_azure_rm', 'foreman_google']) -def test_foreman_compute_resources(foremanapi, foreman_plugin): - plugins = [plugin['name'] for plugin in foremanapi.list('plugins')] - assert foreman_plugin in plugins +@pytest.fixture +def foreman_plugins(foremanapi): + return [plugin['name'] for plugin in foremanapi.list('plugins')] + + +@pytest.mark.feature('azure-rm') +def test_foreman_compute_resources_azure_rm(foreman_plugins): + assert 'foreman_azure_rm' in foreman_plugins + + +@pytest.mark.feature('google') +def test_foreman_compute_resources_google(foreman_plugins): + assert 'foreman_google' in foreman_plugins