Files
python-manilaclient/manilaclient/tests/unit/v2/test_share_servers.py
melissaml 5deccf50b8 Modify use of assertTrue(A in B)
Developers should use assertIn(A, B) instead of assertTrue(A in B).

TrivialFix

Change-Id: Ia323beba77aaf255881b6f695ac12342c9995d75
2016-09-16 12:24:32 +08:00

132 lines
4.9 KiB
Python

# Copyright 2014 OpenStack Foundation.
# All Rights Reserved.
#
# 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 manilaclient.tests.unit import utils
from manilaclient.tests.unit.v2 import fakes
from manilaclient.v2 import share_servers
class FakeShareServer(object):
_info = {
"backend_details": {
"fake_key1": "fake_value1",
"fake_key2": "fake_value2",
}
}
class ShareServerTest(utils.TestCase):
def setUp(self):
super(ShareServerTest, self).setUp()
self.share_server_id = 'foo'
self.share_network = 'bar'
info = {
'id': self.share_server_id,
'share_network_name': self.share_network,
}
self.resource_class = share_servers.ShareServer(
manager=self, info=info)
def test_get_repr_of_share_server(self):
self.assertIn(
'ShareServer: %s' % self.share_server_id,
repr(self.resource_class),
)
def test_get_share_network_attr(self):
# We did not set 'share_network' attr within instance, it is expected
# that attr 'share_network_name' will be reused.
self.assertEqual(self.resource_class.share_network, self.share_network)
def test_get_nonexistent_share_network_name(self):
resource_class = share_servers.ShareServer(manager=self, info={})
try:
# We expect AttributeError instead of endless loop of getattr
resource_class.share_network_name
except AttributeError:
pass
else:
raise Exception("Expected exception 'AttributeError' "
"has not been raised.")
class ShareServerManagerTest(utils.TestCase):
def setUp(self):
super(ShareServerManagerTest, self).setUp()
self.manager = share_servers.ShareServerManager(api=fakes.FakeClient())
def test_list(self):
with mock.patch.object(self.manager, '_list',
mock.Mock(return_value=None)):
self.manager.list()
self.manager._list.assert_called_once_with(
share_servers.RESOURCES_PATH,
share_servers.RESOURCES_NAME)
def test_list_with_one_search_opt(self):
host = 'fake_host'
query_string = "?host=%s" % host
with mock.patch.object(self.manager, '_list',
mock.Mock(return_value=None)):
self.manager.list({'host': host})
self.manager._list.assert_called_once_with(
share_servers.RESOURCES_PATH + query_string,
share_servers.RESOURCES_NAME,
)
def test_list_with_two_search_opts(self):
host = 'fake_host'
status = 'fake_status'
query_string = "?host=%s&status=%s" % (host, status)
with mock.patch.object(self.manager, '_list',
mock.Mock(return_value=None)):
self.manager.list({'host': host, 'status': status})
self.manager._list.assert_called_once_with(
share_servers.RESOURCES_PATH + query_string,
share_servers.RESOURCES_NAME,
)
def test_delete(self):
share_server_id = 'fake_share_server_id'
with mock.patch.object(self.manager, '_delete', mock.Mock()):
self.manager.delete(share_server_id)
self.manager._delete.assert_called_once_with(
share_servers.RESOURCE_PATH % share_server_id)
def test_get(self):
server = FakeShareServer()
with mock.patch.object(self.manager, '_get',
mock.Mock(return_value=server)):
share_server_id = 'fake_share_server_id'
self.manager.get(share_server_id)
self.manager._get.assert_called_once_with(
"%s/%s" % (share_servers.RESOURCES_PATH, share_server_id),
share_servers.RESOURCE_NAME)
for key in ["details:fake_key1", "details:fake_key2"]:
self.assertIn(key, list(server._info))
def test_details(self):
with mock.patch.object(self.manager, '_get',
mock.Mock(return_value=None)):
share_server_id = 'fake_share_server_id'
self.manager.details(share_server_id)
self.manager._get.assert_called_once_with(
"%s/%s/details" % (share_servers.RESOURCES_PATH,
share_server_id), 'details')