Skip to content

Commit 1678f87

Browse files
committed
tests: Handle missing extensions in network tests
This is mostly a case of skipping tests where the extension is missing, but some tests are updated to remove a reliance on optional tests. Change-Id: I25b8811fe09f2a4a9fc20ca5459f5a404b88a337 Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
1 parent c251cb8 commit 1678f87

5 files changed

Lines changed: 30 additions & 24 deletions

File tree

openstackclient/tests/functional/network/v2/test_network_meter_rule.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,12 @@ def tearDownClass(cls):
4747
finally:
4848
super().tearDownClass()
4949

50+
def setUp(self):
51+
super().setUp()
52+
53+
if not self.is_extension_enabled("metering"):
54+
self.skipTest("No metering extension present")
55+
5056
def test_meter_rule_delete(self):
5157
"""test create, delete"""
5258
json_output = self.openstack(

openstackclient/tests/functional/network/v2/test_network_qos_rule.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,15 @@
1818
from openstackclient.tests.functional.network.v2 import common
1919

2020

21-
class NetworkQosRuleTestsMinimumBandwidth(common.NetworkTests):
21+
class NetworkQosTests(common.NetworkTests):
22+
def setUp(self):
23+
super().setUp()
24+
25+
if not self.is_extension_enabled("qos"):
26+
self.skipTest("No qos extension present")
27+
28+
29+
class NetworkQosRuleTestsMinimumBandwidth(NetworkQosTests):
2230
"""Functional tests for QoS minimum bandwidth rule"""
2331

2432
def setUp(self):
@@ -93,7 +101,7 @@ def test_qos_rule_set(self):
93101
self.assertEqual(7500, cmd_output['min_kbps'])
94102

95103

96-
class NetworkQosRuleTestsMinimumPacketRate(common.NetworkTests):
104+
class NetworkQosRuleTestsMinimumPacketRate(NetworkQosTests):
97105
"""Functional tests for QoS minimum packet rate rule"""
98106

99107
def setUp(self):
@@ -169,7 +177,7 @@ def test_qos_rule_set(self):
169177
self.assertEqual('any', cmd_output['direction'])
170178

171179

172-
class NetworkQosRuleTestsDSCPMarking(common.NetworkTests):
180+
class NetworkQosRuleTestsDSCPMarking(NetworkQosTests):
173181
"""Functional tests for QoS DSCP marking rule"""
174182

175183
def setUp(self):
@@ -241,7 +249,7 @@ def test_qos_rule_set(self):
241249
self.assertEqual(32, cmd_output['dscp_mark'])
242250

243251

244-
class NetworkQosRuleTestsBandwidthLimit(common.NetworkTests):
252+
class NetworkQosRuleTestsBandwidthLimit(NetworkQosTests):
245253
"""Functional tests for QoS bandwidth limit rule"""
246254

247255
def setUp(self):

openstackclient/tests/functional/network/v2/test_network_segment.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,12 @@ def tearDownClass(cls):
4444
finally:
4545
super().tearDownClass()
4646

47+
def setUp(self):
48+
super().setUp()
49+
50+
if not self.is_extension_enabled("segment"):
51+
self.skipTest("No segment extension present")
52+
4753
def test_network_segment_create_delete(self):
4854
name = uuid.uuid4().hex
4955
json_output = self.openstack(
@@ -110,12 +116,7 @@ def test_network_segment_set_show(self):
110116
)
111117
self.addCleanup(self.openstack, 'network segment delete ' + name)
112118

113-
extension_output = self.openstack(
114-
"extension list ",
115-
parse_output=True,
116-
)
117-
ext_alias = [x["Alias"] for x in extension_output]
118-
if "standard-attr-segment" in ext_alias:
119+
if self.is_extension_enabled('standard-attr-segment'):
119120
self.assertEqual(
120121
'',
121122
json_output["description"],

openstackclient/tests/functional/network/v2/test_network_trunk.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ class NetworkTrunkTests(common.NetworkTests):
2424
def setUp(self):
2525
super().setUp()
2626

27+
if not self.is_extension_enabled("trunk"):
28+
self.skipTest("No trunk extension present")
29+
2730
network_name = uuid.uuid4().hex
2831
subnet_name = uuid.uuid4().hex
2932
self.parent_port_name = uuid.uuid4().hex

openstackclient/tests/functional/network/v2/test_subnet.py

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,6 @@ def test_subnet_set_show_unset(self):
211211
+ ' --description bbbb '
212212
+ '--no-dhcp '
213213
+ '--gateway 10.10.11.1 '
214-
+ '--service-type network:floatingip_agent_gateway '
215214
+ name
216215
)
217216
self.assertOutput('', cmd_output)
@@ -236,27 +235,16 @@ def test_subnet_set_show_unset(self):
236235
'10.10.11.1',
237236
cmd_output["gateway_ip"],
238237
)
239-
self.assertEqual(
240-
['network:floatingip_agent_gateway'],
241-
cmd_output["service_types"],
242-
)
243238

244239
# Test unset
245-
cmd_output = self.openstack(
246-
'subnet unset '
247-
+ '--service-type network:floatingip_agent_gateway '
248-
+ new_name
249-
)
240+
cmd_output = self.openstack('subnet unset --gateway ' + new_name)
250241
self.assertOutput('', cmd_output)
251242

252243
cmd_output = self.openstack(
253244
'subnet show ' + new_name,
254245
parse_output=True,
255246
)
256-
self.assertEqual(
257-
[],
258-
cmd_output["service_types"],
259-
)
247+
self.assertIsNone(cmd_output["gateway_ip"])
260248

261249
def _subnet_create(self, cmd, name, is_type_ipv4=True):
262250
# Try random subnet range for subnet creating

0 commit comments

Comments
 (0)