Skip to content

Commit a2b6988

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Nova net functional tests round 3"
2 parents 524b2b3 + 190711e commit a2b6988

16 files changed

Lines changed: 387 additions & 173 deletions

openstackclient/tests/functional/common/test_extension.py

Lines changed: 53 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,25 +18,66 @@
1818
from openstackclient.tests.functional import base
1919

2020

21-
class TestExtension(base.TestCase):
22-
"""Functional tests for extension."""
21+
class ExtensionTests(base.TestCase):
22+
"""Functional tests for extension"""
2323

24-
def test_extension_list(self):
25-
"""Test extension list."""
24+
@classmethod
25+
def setUpClass(cls):
26+
# super(NetworkTests, cls).setUp()
27+
cls.haz_network = base.is_service_enabled('network')
28+
29+
def test_extension_list_compute(self):
30+
"""Test compute extension list"""
2631
json_output = json.loads(self.openstack(
27-
'extension list -f json ' + '--network')
32+
'extension list -f json ' +
33+
'--compute'
34+
))
35+
name_list = [item.get('Name') for item in json_output]
36+
self.assertIn(
37+
'ImageSize',
38+
name_list,
2839
)
29-
self.assertEqual(
40+
41+
def test_extension_list_network(self):
42+
"""Test network extension list"""
43+
if not self.haz_network:
44+
self.skipTest("No Network service present")
45+
46+
json_output = json.loads(self.openstack(
47+
'extension list -f json ' +
48+
'--network'
49+
))
50+
name_list = [item.get('Name') for item in json_output]
51+
self.assertIn(
3052
'Default Subnetpools',
31-
json_output[0]['Name'],
53+
name_list,
3254
)
3355

34-
def test_extension_show(self):
35-
"""Test extension show."""
56+
# NOTE(dtroyer): Only network extensions are currently supported but
57+
# I am going to leave this here anyway as a reminder
58+
# fix that.
59+
# def test_extension_show_compute(self):
60+
# """Test compute extension show"""
61+
# json_output = json.loads(self.openstack(
62+
# 'extension show -f json ' +
63+
# 'ImageSize'
64+
# ))
65+
# self.assertEqual(
66+
# 'OS-EXT-IMG-SIZE',
67+
# json_output.get('Alias'),
68+
# )
69+
70+
def test_extension_show_network(self):
71+
"""Test network extension show"""
72+
if not self.haz_network:
73+
self.skipTest("No Network service present")
74+
3675
name = 'agent'
3776
json_output = json.loads(self.openstack(
38-
'extension show -f json ' + name)
39-
)
77+
'extension show -f json ' +
78+
name
79+
))
4080
self.assertEqual(
4181
name,
42-
json_output.get('Alias'))
82+
json_output.get('Alias'),
83+
)

openstackclient/tests/functional/compute/v2/test_server.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,18 @@
1515

1616
from tempest.lib import exceptions
1717

18+
from openstackclient.tests.functional import base
1819
from openstackclient.tests.functional.compute.v2 import common
1920
from openstackclient.tests.functional.volume.v2 import test_volume
2021

2122

2223
class ServerTests(common.ComputeTestCase):
2324
"""Functional tests for openstack server commands"""
2425

26+
@classmethod
27+
def setUpClass(cls):
28+
cls.haz_network = base.is_service_enabled('network')
29+
2530
def test_server_list(self):
2631
"""Test server list, set"""
2732
cmd_output = self.server_create()
@@ -202,6 +207,15 @@ def test_server_attach_detach_floating_ip(self):
202207
name = cmd_output['name']
203208
self.wait_for_status(name, "ACTIVE")
204209

210+
if not self.haz_network:
211+
# nova-net needs a public subnet
212+
cmd_output = json.loads(self.openstack(
213+
'network create -f json ' +
214+
'--subnet 8.6.7.5/28 ' +
215+
'public'
216+
))
217+
self.addCleanup(self.openstack, 'network delete public')
218+
205219
# attach ip
206220
cmd_output = json.loads(self.openstack(
207221
'floating ip create -f json ' +

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818

1919
class AddressScopeTests(common.NetworkTests):
20-
"""Functional tests for address scope. """
20+
"""Functional tests for address scope"""
2121

2222
# NOTE(dtroyer): Do not normalize the setup and teardown of the resource
2323
# creation and deletion. Little is gained when each test

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

Lines changed: 33 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -17,31 +17,46 @@
1717

1818

1919
class IPAvailabilityTests(common.NetworkTests):
20-
"""Functional tests for IP availability. """
20+
"""Functional tests for IP availability"""
2121

2222
@classmethod
2323
def setUpClass(cls):
2424
common.NetworkTests.setUpClass()
25-
if not cls.haz_network:
26-
common.NetworkTests.skipTest(cls, "No Network service present")
27-
28-
# Create a network for the subnet.
29-
cls.NAME = uuid.uuid4().hex
30-
cls.NETWORK_NAME = uuid.uuid4().hex
31-
cls.openstack('network create ' + cls.NETWORK_NAME)
32-
cmd_output = json.loads(cls.openstack(
33-
'subnet create -f json --network ' + cls.NETWORK_NAME +
34-
' --subnet-range 10.10.10.0/24 ' +
35-
cls.NAME
36-
))
37-
cls.assertOutput(cls.NAME, cmd_output['name'])
25+
if cls.haz_network:
26+
# Create a network for the subnet.
27+
cls.NAME = uuid.uuid4().hex
28+
cls.NETWORK_NAME = uuid.uuid4().hex
29+
cls.openstack(
30+
'network create ' +
31+
cls.NETWORK_NAME
32+
)
33+
cmd_output = json.loads(cls.openstack(
34+
'subnet create -f json ' +
35+
'--network ' + cls.NETWORK_NAME + ' ' +
36+
'--subnet-range 10.10.10.0/24 ' +
37+
cls.NAME
38+
))
39+
cls.assertOutput(cls.NAME, cmd_output['name'])
3840

3941
@classmethod
4042
def tearDownClass(cls):
41-
raw_subnet = cls.openstack('subnet delete ' + cls.NAME)
42-
raw_network = cls.openstack('network delete ' + cls.NETWORK_NAME)
43-
cls.assertOutput('', raw_subnet)
44-
cls.assertOutput('', raw_network)
43+
if cls.haz_network:
44+
raw_subnet = cls.openstack(
45+
'subnet delete ' +
46+
cls.NAME
47+
)
48+
raw_network = cls.openstack(
49+
'network delete ' +
50+
cls.NETWORK_NAME
51+
)
52+
cls.assertOutput('', raw_subnet)
53+
cls.assertOutput('', raw_network)
54+
55+
def setUp(self):
56+
super(IPAvailabilityTests, self).setUp()
57+
# Nothing in this class works with Nova Network
58+
if not self.haz_network:
59+
self.skipTest("No Network service present")
4560

4661
def test_ip_availability_list(self):
4762
"""Test ip availability list"""

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

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,17 @@
1313
import json
1414
import uuid
1515

16-
from openstackclient.tests.functional import base
16+
from openstackclient.tests.functional.network.v2 import common
1717

1818

19-
class NetworkTests(base.TestCase):
19+
class NetworkTests(common.NetworkTests):
2020
"""Functional tests for network"""
2121

22-
@classmethod
23-
def setUpClass(cls):
24-
cls.haz_network = base.is_service_enabled('network')
25-
cls.PROJECT_NAME =\
26-
cls.get_openstack_configuration_value('auth.project_name')
22+
def setUp(self):
23+
super(NetworkTests, self).setUp()
24+
# Nothing in this class works with Nova Network
25+
if not self.haz_network:
26+
self.skipTest("No Network service present")
2727

2828
def test_network_create_compute(self):
2929
"""Test Nova-net create options, delete"""

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,19 @@ def setUpClass(cls):
3131
common.NetworkTests.setUpClass()
3232
if cls.haz_network:
3333
json_output = json.loads(cls.openstack(
34-
'network meter create -f json ' + cls.METER_NAME
34+
'network meter create -f json ' +
35+
cls.METER_NAME
3536
))
3637
cls.METER_ID = json_output.get('id')
3738

3839
@classmethod
3940
def tearDownClass(cls):
4041
common.NetworkTests.tearDownClass()
4142
if cls.haz_network:
42-
raw_output = cls.openstack('network meter delete ' + cls.METER_ID)
43+
raw_output = cls.openstack(
44+
'network meter delete ' +
45+
cls.METER_ID
46+
)
4347
cls.assertOutput('', raw_output)
4448

4549
def setUp(self):

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

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,22 +27,30 @@ class NetworkQosPolicyTests(common.NetworkTests):
2727
@classmethod
2828
def setUpClass(cls):
2929
common.NetworkTests.setUpClass()
30-
opts = cls.get_opts(cls.FIELDS)
31-
raw_output = cls.openstack('network qos policy create ' + cls.NAME +
32-
opts)
33-
cls.assertOutput(cls.NAME + "\n", raw_output)
30+
if cls.haz_network:
31+
opts = cls.get_opts(cls.FIELDS)
32+
raw_output = cls.openstack(
33+
'network qos policy create ' +
34+
cls.NAME +
35+
opts
36+
)
37+
cls.assertOutput(cls.NAME + "\n", raw_output)
38+
39+
@classmethod
40+
def tearDownClass(cls):
41+
if cls.haz_network:
42+
raw_output = cls.openstack(
43+
'network qos policy delete ' +
44+
cls.NAME
45+
)
46+
cls.assertOutput('', raw_output)
3447

3548
def setUp(self):
3649
super(NetworkQosPolicyTests, self).setUp()
3750
# Nothing in this class works with Nova Network
3851
if not self.haz_network:
3952
self.skipTest("No Network service present")
4053

41-
@classmethod
42-
def tearDownClass(cls):
43-
raw_output = cls.openstack('network qos policy delete ' + cls.NAME)
44-
cls.assertOutput('', raw_output)
45-
4654
def test_qos_policy_list(self):
4755
opts = self.get_opts(self.HEADERS)
4856
raw_output = self.openstack('network qos policy list' + opts)

0 commit comments

Comments
 (0)