diff options
| author | Jenkins <jenkins@review.openstack.org> | 2014-07-08 17:42:11 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2014-07-08 17:42:11 +0000 |
| commit | e7bfabc886f9b132de2d2705f40b746cf052c7dd (patch) | |
| tree | fe339087f0c22d95363b785763c48e1848905262 /openstackclient/tests | |
| parent | ba15646cf8729b461e54233205f9324abf0fa960 (diff) | |
| parent | a065dd09e4e649186710435f93a1ad0734601476 (diff) | |
| download | python-openstackclient-e7bfabc886f9b132de2d2705f40b746cf052c7dd.tar.gz | |
Merge "Allow network find to use alternate name"
Diffstat (limited to 'openstackclient/tests')
| -rw-r--r-- | openstackclient/tests/network/test_common.py | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/openstackclient/tests/network/test_common.py b/openstackclient/tests/network/test_common.py new file mode 100644 index 00000000..b30fdfcb --- /dev/null +++ b/openstackclient/tests/network/test_common.py @@ -0,0 +1,72 @@ +# 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.common import exceptions +from openstackclient.network import common +from openstackclient.tests import utils + +RESOURCE = 'resource' +RESOURCES = 'resources' +NAME = 'matrix' +ID = 'Fishburne' + + +class TestFind(utils.TestCase): + def setUp(self): + super(TestFind, self).setUp() + self.mock_client = mock.Mock() + self.list_resources = mock.Mock() + self.mock_client.list_resources = self.list_resources + self.matrix = {'id': ID} + + def test_name(self): + self.list_resources.return_value = {RESOURCES: [self.matrix]} + + result = common.find(self.mock_client, RESOURCE, RESOURCES, NAME) + + self.assertEqual(ID, result) + self.list_resources.assert_called_with(fields='id', name=NAME) + + def test_id(self): + self.list_resources.side_effect = [{RESOURCES: []}, + {RESOURCES: [self.matrix]}] + + result = common.find(self.mock_client, RESOURCE, RESOURCES, NAME) + + self.assertEqual(ID, result) + self.list_resources.assert_called_with(fields='id', id=NAME) + + def test_nameo(self): + self.list_resources.return_value = {RESOURCES: [self.matrix]} + + result = common.find(self.mock_client, RESOURCE, RESOURCES, NAME, + name_attr='nameo') + + self.assertEqual(ID, result) + self.list_resources.assert_called_with(fields='id', nameo=NAME) + + def test_dups(self): + dup = {'id': 'Larry'} + self.list_resources.return_value = {RESOURCES: [self.matrix, dup]} + + self.assertRaises(exceptions.CommandError, common.find, + self.mock_client, RESOURCE, RESOURCES, NAME) + + def test_nada(self): + self.list_resources.side_effect = [{RESOURCES: []}, + {RESOURCES: []}] + + self.assertRaises(exceptions.CommandError, common.find, + self.mock_client, RESOURCE, RESOURCES, NAME) |
