summaryrefslogtreecommitdiff
path: root/openstackclient/tests/network
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-02-18 09:58:22 +0000
committerGerrit Code Review <review@openstack.org>2016-02-18 09:58:22 +0000
commit00a1dddc2ae55daaa52653b5650c1b4e43a9c7b0 (patch)
treeccc01f74f005e56b79818bf4b1ca02eb9d1da65b /openstackclient/tests/network
parent088f2446f28c5a4989afe27dd3ebea2792626f81 (diff)
parent79fd6d3f2075ecdfdac8c856be135b3fd1260eb5 (diff)
downloadpython-openstackclient-00a1dddc2ae55daaa52653b5650c1b4e43a9c7b0.tar.gz
Merge "Subnet Pool: Add "subnet pool delete" command"
Diffstat (limited to 'openstackclient/tests/network')
-rw-r--r--openstackclient/tests/network/v2/fakes.py61
-rw-r--r--openstackclient/tests/network/v2/test_subnet_pool.py57
2 files changed, 118 insertions, 0 deletions
diff --git a/openstackclient/tests/network/v2/fakes.py b/openstackclient/tests/network/v2/fakes.py
index 8591a09a..b48cde3e 100644
--- a/openstackclient/tests/network/v2/fakes.py
+++ b/openstackclient/tests/network/v2/fakes.py
@@ -679,3 +679,64 @@ class FakeFloatingIP(object):
if floating_ips is None:
floating_ips = FakeFloatingIP.create_floating_ips(count)
return mock.MagicMock(side_effect=floating_ips)
+
+
+class FakeSubnetPool(object):
+ """Fake one or more subnet pools."""
+
+ @staticmethod
+ def create_one_subnet_pool(attrs={}, methods={}):
+ """Create a fake subnet pool.
+
+ :param Dictionary attrs:
+ A dictionary with all attributes
+ :param Dictionary methods:
+ A dictionary with all methods
+ :return:
+ A FakeResource object faking the subnet pool
+ """
+ # Set default attributes.
+ subnet_pool_attrs = {
+ 'id': 'subnet-pool-id-' + uuid.uuid4().hex,
+ 'name': 'subnet-pool-name-' + uuid.uuid4().hex,
+ }
+
+ # Overwrite default attributes.
+ subnet_pool_attrs.update(attrs)
+
+ # Set default methods.
+ subnet_pool_methods = {
+ 'keys': ['id', 'name']
+ }
+
+ # Overwrite default methods.
+ subnet_pool_methods.update(methods)
+
+ subnet_pool = fakes.FakeResource(
+ info=copy.deepcopy(subnet_pool_attrs),
+ methods=copy.deepcopy(subnet_pool_methods),
+ loaded=True
+ )
+
+ return subnet_pool
+
+ @staticmethod
+ def create_subnet_pools(attrs={}, methods={}, count=2):
+ """Create multiple fake subnet pools.
+
+ :param Dictionary attrs:
+ A dictionary with all attributes
+ :param Dictionary methods:
+ A dictionary with all methods
+ :param int count:
+ The number of subnet pools to fake
+ :return:
+ A list of FakeResource objects faking the subnet pools
+ """
+ subnet_pools = []
+ for i in range(0, count):
+ subnet_pools.append(
+ FakeSubnetPool.create_one_subnet_pool(attrs, methods)
+ )
+
+ return subnet_pools
diff --git a/openstackclient/tests/network/v2/test_subnet_pool.py b/openstackclient/tests/network/v2/test_subnet_pool.py
new file mode 100644
index 00000000..0cbfa1ee
--- /dev/null
+++ b/openstackclient/tests/network/v2/test_subnet_pool.py
@@ -0,0 +1,57 @@
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+
+import mock
+
+from openstackclient.network.v2 import subnet_pool
+from openstackclient.tests.network.v2 import fakes as network_fakes
+
+
+class TestSubnetPool(network_fakes.TestNetworkV2):
+ def setUp(self):
+ super(TestSubnetPool, self).setUp()
+
+ # Get a shortcut to the network client
+ self.network = self.app.client_manager.network
+
+
+class TestDeleteSubnetPool(TestSubnetPool):
+
+ # The subnet pool to delete.
+ _subnet_pool = network_fakes.FakeSubnetPool.create_one_subnet_pool()
+
+ def setUp(self):
+ super(TestDeleteSubnetPool, self).setUp()
+
+ self.network.delete_subnet_pool = mock.Mock(return_value=None)
+
+ self.network.find_subnet_pool = mock.Mock(
+ return_value=self._subnet_pool
+ )
+
+ # Get the command object to test
+ self.cmd = subnet_pool.DeleteSubnetPool(self.app, self.namespace)
+
+ def test_delete(self):
+ arglist = [
+ self._subnet_pool.name,
+ ]
+ verifylist = [
+ ('subnet_pool', self._subnet_pool.name),
+ ]
+ parsed_args = self.check_parser(self.cmd, arglist, verifylist)
+
+ result = self.cmd.take_action(parsed_args)
+
+ self.network.delete_subnet_pool.assert_called_with(self._subnet_pool)
+ self.assertIsNone(result)