summaryrefslogtreecommitdiff
path: root/openstackclient/tests
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient/tests')
-rw-r--r--openstackclient/tests/functional/network/v2/test_network_flavor.py51
-rw-r--r--openstackclient/tests/unit/network/v2/test_network_flavor.py84
2 files changed, 135 insertions, 0 deletions
diff --git a/openstackclient/tests/functional/network/v2/test_network_flavor.py b/openstackclient/tests/functional/network/v2/test_network_flavor.py
index b2fc2eae..74340790 100644
--- a/openstackclient/tests/functional/network/v2/test_network_flavor.py
+++ b/openstackclient/tests/functional/network/v2/test_network_flavor.py
@@ -20,6 +20,57 @@ from openstackclient.tests.functional import base
class NetworkFlavorTests(base.TestCase):
"""Functional tests for network flavor."""
+ def test_add_remove_network_flavor_profile(self):
+ """Test add and remove network flavor to/from profile"""
+
+ # Create Flavor
+ name1 = uuid.uuid4().hex
+ cmd_output1 = json.loads(self.openstack(
+ 'network flavor create -f json --description testdescription '
+ '--enable --service-type L3_ROUTER_NAT ' + name1,
+ ))
+ flavor_id = cmd_output1.get('id')
+
+ # Create Service Flavor
+ cmd_output2 = json.loads(self.openstack(
+ 'network flavor profile create -f json --description '
+ + 'fakedescription' + ' --enable --metainfo ' + 'Extrainfo'
+ ))
+ service_profile_id = cmd_output2.get('id')
+
+ self.addCleanup(self.openstack, 'network flavor delete ' +
+ flavor_id)
+ self.addCleanup(self.openstack, 'network flavor profile delete ' +
+ service_profile_id)
+ # Add flavor to service profile
+ self.openstack(
+ 'network flavor add profile ' +
+ flavor_id + ' ' + service_profile_id
+ )
+
+ cmd_output4 = json.loads(self.openstack(
+ 'network flavor show -f json ' + flavor_id
+ ))
+ service_profile_ids1 = cmd_output4.get('service_profile_ids')
+
+ # Assert
+ self.assertIn(service_profile_id, service_profile_ids1)
+
+ # Cleanup
+ # Remove flavor from service profile
+ self.openstack(
+ 'network flavor remove profile ' +
+ flavor_id + ' ' + service_profile_id
+ )
+
+ cmd_output6 = json.loads(self.openstack(
+ 'network flavor show -f json ' + flavor_id
+ ))
+ service_profile_ids2 = cmd_output6.get('service_profile_ids')
+
+ # Assert
+ self.assertNotIn(service_profile_id, service_profile_ids2)
+
def test_network_flavor_delete(self):
"""Test create, delete multiple"""
name1 = uuid.uuid4().hex
diff --git a/openstackclient/tests/unit/network/v2/test_network_flavor.py b/openstackclient/tests/unit/network/v2/test_network_flavor.py
index 11e27841..896a1725 100644
--- a/openstackclient/tests/unit/network/v2/test_network_flavor.py
+++ b/openstackclient/tests/unit/network/v2/test_network_flavor.py
@@ -37,6 +37,48 @@ class TestNetworkFlavor(network_fakes.TestNetworkV2):
self.domains_mock = self.app.client_manager.identity.domains
+class TestAddNetworkFlavorToProfile(TestNetworkFlavor):
+
+ network_flavor = \
+ network_fakes.FakeNetworkFlavor.create_one_network_flavor()
+ service_profile = \
+ network_fakes.FakeNetworkFlavorProfile.create_one_service_profile()
+
+ def setUp(self):
+ super(TestAddNetworkFlavorToProfile, self).setUp()
+ self.network.find_flavor = mock.Mock(return_value=self.network_flavor)
+ self.network.find_service_profile = mock.Mock(
+ return_value=self.service_profile)
+ self.network.associate_flavor_with_service_profile = mock.Mock()
+
+ self.cmd = network_flavor.AddNetworkFlavorToProfile(
+ self.app, self.namespace)
+
+ def test_show_no_options(self):
+ arglist = []
+ verifylist = []
+
+ # Missing required args should bail here
+ self.assertRaises(tests_utils.ParserException, self.check_parser,
+ self.cmd, arglist, verifylist)
+
+ def test_add_flavor_to_service_profile(self):
+ arglist = [
+ self.network_flavor.id,
+ self.service_profile.id
+ ]
+ verifylist = [
+ ('flavor', self.network_flavor.id),
+ ('service_profile', self.service_profile.id),
+ ]
+
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+ self.cmd.take_action(parsed_args)
+
+ self.network.associate_flavor_with_service_profile.\
+ assert_called_once_with(self.network_flavor, self.service_profile)
+
+
class TestCreateNetworkFlavor(TestNetworkFlavor):
project = identity_fakes_v3.FakeProject.create_one_project()
@@ -281,6 +323,48 @@ class TestListNetworkFlavor(TestNetworkFlavor):
self.assertEqual(self.data, list(data))
+class TestRemoveNetworkFlavorFromProfile(TestNetworkFlavor):
+
+ network_flavor = \
+ network_fakes.FakeNetworkFlavor.create_one_network_flavor()
+ service_profile = \
+ network_fakes.FakeNetworkFlavorProfile.create_one_service_profile()
+
+ def setUp(self):
+ super(TestRemoveNetworkFlavorFromProfile, self).setUp()
+ self.network.find_flavor = mock.Mock(return_value=self.network_flavor)
+ self.network.find_service_profile = mock.Mock(
+ return_value=self.service_profile)
+ self.network.disassociate_flavor_from_service_profile = mock.Mock()
+
+ self.cmd = network_flavor.RemoveNetworkFlavorFromProfile(
+ self.app, self.namespace)
+
+ def test_show_no_options(self):
+ arglist = []
+ verifylist = []
+
+ # Missing required args should bail here
+ self.assertRaises(tests_utils.ParserException, self.check_parser,
+ self.cmd, arglist, verifylist)
+
+ def test_remove_flavor_from_service_profile(self):
+ arglist = [
+ self.network_flavor.id,
+ self.service_profile.id
+ ]
+ verifylist = [
+ ('flavor', self.network_flavor.id),
+ ('service_profile', self.service_profile.id),
+ ]
+
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+ self.cmd.take_action(parsed_args)
+
+ self.network.disassociate_flavor_from_service_profile.\
+ assert_called_once_with(self.network_flavor, self.service_profile)
+
+
class TestShowNetworkFlavor(TestNetworkFlavor):
# The network flavor to show.