From 6d3490ed7c103b1a3adbad23f63dbba2f17644d8 Mon Sep 17 00:00:00 2001 From: ArtofBugs Date: Tue, 21 Nov 2023 09:50:51 -0800 Subject: [PATCH] tests: Handle missing extensions in network tests Some tests still assume extensions are enabled; those tests are now skipped if the extension is not enabled. Change I25b8811fe09f2a4a9fc20ca5459f5a404b88a337 addressed some but not all of these. Change-Id: If36550650f143a7efe4190e60961c51a8cd20fb3 --- .../functional/network/v2/test_network_agent.py | 16 ++++++++++++++-- .../functional/network/v2/test_network_meter.py | 6 ++++++ .../network/v2/test_network_meter_rule.py | 11 +++++------ .../network/v2/test_network_qos_policy.py | 6 ++++++ .../network/v2/test_network_qos_rule_type.py | 6 ++++++ 5 files changed, 37 insertions(+), 8 deletions(-) diff --git a/openstackclient/tests/functional/network/v2/test_network_agent.py b/openstackclient/tests/functional/network/v2/test_network_agent.py index 38697905f1..c9a2ee1211 100644 --- a/openstackclient/tests/functional/network/v2/test_network_agent.py +++ b/openstackclient/tests/functional/network/v2/test_network_agent.py @@ -15,9 +15,15 @@ import uuid from openstackclient.tests.functional.network.v2 import common -class NetworkAgentTests(common.NetworkTests): +class TestAgent(common.NetworkTests): """Functional tests for network agent""" + def setUp(self): + super().setUp() + + if not self.is_extension_enabled("agent"): + self.skipTest("No agent extension present") + def test_network_agent_list_show_set(self): """Test network agent list, set, show commands @@ -79,9 +85,15 @@ class NetworkAgentTests(common.NetworkTests): ) -class NetworkAgentListTests(common.NetworkTests): +class TestAgentList(common.NetworkTests): """Functional test for network agent""" + def setUp(self): + super().setUp() + + if not self.is_extension_enabled("agent"): + self.skipTest("No agent extension present") + def test_network_dhcp_agent_list(self): """Test network agent list""" diff --git a/openstackclient/tests/functional/network/v2/test_network_meter.py b/openstackclient/tests/functional/network/v2/test_network_meter.py index 82e94c43f8..edd2c4415f 100644 --- a/openstackclient/tests/functional/network/v2/test_network_meter.py +++ b/openstackclient/tests/functional/network/v2/test_network_meter.py @@ -21,6 +21,12 @@ from openstackclient.tests.functional.network.v2 import common class TestMeter(common.NetworkTests): """Functional tests for network meter""" + def setUp(self): + super().setUp() + + if not self.is_extension_enabled("metering"): + self.skipTest("No metering extension present") + # NOTE(dtroyer): Do not normalize the setup and teardown of the resource # creation and deletion. Little is gained when each test # has its own needs and there are collisions when running diff --git a/openstackclient/tests/functional/network/v2/test_network_meter_rule.py b/openstackclient/tests/functional/network/v2/test_network_meter_rule.py index e0fdcd3f3f..8258d58318 100644 --- a/openstackclient/tests/functional/network/v2/test_network_meter_rule.py +++ b/openstackclient/tests/functional/network/v2/test_network_meter_rule.py @@ -13,6 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. +import unittest import uuid from openstackclient.tests.functional.network.v2 import common @@ -27,6 +28,10 @@ class TestMeterRule(common.NetworkTests): @classmethod def setUpClass(cls): super().setUpClass() + + if not cls.is_extension_enabled("metering"): + raise unittest.SkipTest("No metering extension present") + if cls.haz_network: cls.METER_NAME = uuid.uuid4().hex @@ -47,12 +52,6 @@ class TestMeterRule(common.NetworkTests): finally: super().tearDownClass() - def setUp(self): - super().setUp() - - if not self.is_extension_enabled("metering"): - self.skipTest("No metering extension present") - def test_meter_rule_delete(self): """test create, delete""" json_output = self.openstack( diff --git a/openstackclient/tests/functional/network/v2/test_network_qos_policy.py b/openstackclient/tests/functional/network/v2/test_network_qos_policy.py index 2662a99754..3f59ce35f2 100644 --- a/openstackclient/tests/functional/network/v2/test_network_qos_policy.py +++ b/openstackclient/tests/functional/network/v2/test_network_qos_policy.py @@ -21,6 +21,12 @@ from openstackclient.tests.functional.network.v2 import common class NetworkQosPolicyTests(common.NetworkTests): """Functional tests for QoS policy""" + def setUp(self): + super().setUp() + + if not self.is_extension_enabled("qos"): + self.skipTest("No qos extension present") + def test_qos_rule_create_delete(self): # This is to check the output of qos policy delete policy_name = uuid.uuid4().hex diff --git a/openstackclient/tests/functional/network/v2/test_network_qos_rule_type.py b/openstackclient/tests/functional/network/v2/test_network_qos_rule_type.py index a595043a30..77ce35716b 100644 --- a/openstackclient/tests/functional/network/v2/test_network_qos_rule_type.py +++ b/openstackclient/tests/functional/network/v2/test_network_qos_rule_type.py @@ -29,6 +29,12 @@ class NetworkQosRuleTypeTests(common.NetworkTests): 'minimum_packet_rate', ] + def setUp(self): + super().setUp() + + if not self.is_extension_enabled("qos"): + self.skipTest("No qos extension present") + def test_qos_rule_type_list(self): cmd_output = self.openstack( 'network qos rule type list -f json',