Fix for v3 volume unit tests

This patch is mainly to specify the APIversion for FakeClient used in
different volume resources' unit tests.

Change-Id: I18eb9b57434061e95c909907e6ba263b9091a446
This commit is contained in:
jeremy.zhang 2018-01-25 15:56:09 +08:00
parent d00b068170
commit 18f7dff64d
6 changed files with 47 additions and 33 deletions

@ -14,15 +14,15 @@
# License for the specific language governing permissions and limitations
# under the License.
from cinderclient import api_versions
from cinderclient.tests.unit import utils
from cinderclient.tests.unit.v3 import fakes
cs = fakes.FakeClient()
class AttachmentsTest(utils.TestCase):
def test_create_attachment(self):
cs = fakes.FakeClient(api_versions.APIVersion('3.27'))
att = cs.attachments.create(
'e84fda45-4de4-4ce4-8f39-fc9d3b0aa05e',
{},
@ -31,6 +31,6 @@ class AttachmentsTest(utils.TestCase):
self.assertEqual(fakes.fake_attachment['attachment'], att)
def test_complete_attachment(self):
att = cs.attachments.complete(
'a232e9ae')
cs = fakes.FakeClient(api_versions.APIVersion('3.44'))
att = cs.attachments.complete('a232e9ae')
self.assertTrue(att.ok)

@ -16,11 +16,11 @@
import ddt
from cinderclient import api_versions
from cinderclient.tests.unit import utils
from cinderclient.tests.unit.v3 import fakes
cs = fakes.FakeClient()
cs = fakes.FakeClient(api_versions.APIVersion('3.14'))
@ddt.ddt

@ -16,10 +16,11 @@
import ddt
from cinderclient import api_versions
from cinderclient.tests.unit import utils
from cinderclient.tests.unit.v3 import fakes
cs = fakes.FakeClient()
cs = fakes.FakeClient(api_versions.APIVersion('3.13'))
@ddt.ddt
@ -123,6 +124,7 @@ class GroupsTest(utils.TestCase):
self._assert_request_id(grp)
def test_create_group_from_src_snap(self):
cs = fakes.FakeClient(api_versions.APIVersion('3.14'))
grp = cs.groups.create_from_src('5678', None, name='group')
expected = {
'create-from-src': {
@ -140,6 +142,7 @@ class GroupsTest(utils.TestCase):
self._assert_request_id(grp)
def test_create_group_from_src_group_(self):
cs = fakes.FakeClient(api_versions.APIVersion('3.14'))
grp = cs.groups.create_from_src(None, '5678', name='group')
expected = {
'create-from-src': {
@ -157,6 +160,7 @@ class GroupsTest(utils.TestCase):
self._assert_request_id(grp)
def test_enable_replication_group(self):
cs = fakes.FakeClient(api_versions.APIVersion('3.38'))
expected = {'enable_replication': {}}
g0 = cs.groups.list()[0]
grp = g0.enable_replication()
@ -170,6 +174,7 @@ class GroupsTest(utils.TestCase):
cs.assert_called('POST', '/groups/1234/action', body=expected)
def test_disable_replication_group(self):
cs = fakes.FakeClient(api_versions.APIVersion('3.38'))
expected = {'disable_replication': {}}
g0 = cs.groups.list()[0]
grp = g0.disable_replication()
@ -183,6 +188,7 @@ class GroupsTest(utils.TestCase):
cs.assert_called('POST', '/groups/1234/action', body=expected)
def test_failover_replication_group(self):
cs = fakes.FakeClient(api_versions.APIVersion('3.38'))
expected = {'failover_replication':
{'allow_attached_volume': False,
'secondary_backend_id': None}}
@ -198,6 +204,7 @@ class GroupsTest(utils.TestCase):
cs.assert_called('POST', '/groups/1234/action', body=expected)
def test_list_replication_targets(self):
cs = fakes.FakeClient(api_versions.APIVersion('3.38'))
expected = {'list_replication_targets': {}}
g0 = cs.groups.list()[0]
grp = g0.list_replication_targets()

@ -13,16 +13,16 @@
import ddt
from six.moves.urllib import parse
from cinderclient import api_versions
from cinderclient.tests.unit import utils
from cinderclient.tests.unit.v3 import fakes
cs = fakes.FakeClient()
@ddt.ddt
class MessagesTest(utils.TestCase):
def test_list_messages(self):
cs = fakes.FakeClient(api_versions.APIVersion('3.3'))
cs.messages.list()
cs.assert_called('GET', '/messages')
@ -30,26 +30,31 @@ class MessagesTest(utils.TestCase):
'resource_uuid', 'message_level', 'guaranteed_until',
'request_id')
def test_list_messages_with_sort(self, sort_string):
cs = fakes.FakeClient(api_versions.APIVersion('3.5'))
cs.messages.list(sort=sort_string)
cs.assert_called('GET', '/messages?sort=%s' % parse.quote(sort_string))
@ddt.data('id', 'resource_type', 'event_id', 'resource_uuid',
'message_level', 'guaranteed_until', 'request_id')
def test_list_messages_with_filters(self, filter_string):
cs = fakes.FakeClient(api_versions.APIVersion('3.5'))
cs.messages.list(search_opts={filter_string: 'value'})
cs.assert_called('GET', '/messages?%s=value' % parse.quote(
filter_string))
@ddt.data('fake', 'fake:asc', 'fake:desc')
def test_list_messages_with_invalid_sort(self, sort_string):
cs = fakes.FakeClient(api_versions.APIVersion('3.5'))
self.assertRaises(ValueError, cs.messages.list, sort=sort_string)
def test_get_messages(self):
cs = fakes.FakeClient(api_versions.APIVersion('3.3'))
fake_id = '1234'
cs.messages.get(fake_id)
cs.assert_called('GET', '/messages/%s' % fake_id)
def test_delete_messages(self):
cs = fakes.FakeClient(api_versions.APIVersion('3.3'))
fake_id = '1234'
cs.messages.delete(fake_id)
cs.assert_called('DELETE', '/messages/%s' % fake_id)

@ -12,10 +12,11 @@
import ddt
from cinderclient import api_versions
from cinderclient.tests.unit import utils
from cinderclient.tests.unit.v3 import fakes
cs = fakes.FakeClient()
cs = fakes.FakeClient(api_versions.APIVersion('3.33'))
@ddt.ddt
@ -24,7 +25,7 @@ class ResourceFilterTests(utils.TestCase):
{'resource': 'volume', 'query_url': '?resource=volume'},
{'resource': 'group', 'query_url': '?resource=group'})
@ddt.unpack
def test_list_messages(self, resource, query_url):
def test_list_resource_filters(self, resource, query_url):
cs.resource_filters.list(resource)
url = '/resource_filters'
if resource is not None:

@ -26,9 +26,6 @@ from cinderclient.v3 import volumes
from six.moves.urllib import parse
cs = fakes.FakeClient()
cs3 = fakes.FakeClient(api_versions.APIVersion('3.16'))
@ddt.ddt
class VolumesTest(utils.TestCase):
@ -74,6 +71,7 @@ class VolumesTest(utils.TestCase):
fake_volume.revert_to_snapshot, fake_snapshot)
def test_create_volume(self):
cs = fakes.FakeClient(api_versions.APIVersion('3.13'))
vol = cs.volumes.create(1, group_id='1234', volume_type='5678')
expected = {'volume': {'status': 'creating',
'description': None,
@ -159,32 +157,35 @@ class VolumesTest(utils.TestCase):
self._assert_request_id(vol)
def test_migrate_host(self):
v = cs3.volumes.get('1234')
cs = fakes.FakeClient(api_versions.APIVersion('3.0'))
v = cs.volumes.get('1234')
self._assert_request_id(v)
vol = cs3.volumes.migrate_volume(v, 'host_dest', False, False)
cs3.assert_called('POST', '/volumes/1234/action',
{'os-migrate_volume': {'host': 'host_dest',
'force_host_copy': False,
'lock_volume': False}})
vol = cs.volumes.migrate_volume(v, 'host_dest', False, False)
cs.assert_called('POST', '/volumes/1234/action',
{'os-migrate_volume': {'host': 'host_dest',
'force_host_copy': False,
'lock_volume': False}})
self._assert_request_id(vol)
def test_migrate_with_lock_volume(self):
v = cs3.volumes.get('1234')
cs = fakes.FakeClient(api_versions.APIVersion('3.0'))
v = cs.volumes.get('1234')
self._assert_request_id(v)
vol = cs3.volumes.migrate_volume(v, 'dest', False, True)
cs3.assert_called('POST', '/volumes/1234/action',
{'os-migrate_volume': {'host': 'dest',
'force_host_copy': False,
'lock_volume': True}})
vol = cs.volumes.migrate_volume(v, 'dest', False, True)
cs.assert_called('POST', '/volumes/1234/action',
{'os-migrate_volume': {'host': 'dest',
'force_host_copy': False,
'lock_volume': True}})
self._assert_request_id(vol)
def test_migrate_cluster(self):
v = cs3.volumes.get('fake')
cs = fakes.FakeClient(api_versions.APIVersion('3.16'))
v = cs.volumes.get('fake')
self._assert_request_id(v)
vol = cs3.volumes.migrate_volume(v, 'host_dest', False, False,
'cluster_dest')
cs3.assert_called('POST', '/volumes/fake/action',
{'os-migrate_volume': {'cluster': 'cluster_dest',
'force_host_copy': False,
'lock_volume': False}})
vol = cs.volumes.migrate_volume(v, 'host_dest', False, False,
'cluster_dest')
cs.assert_called('POST', '/volumes/fake/action',
{'os-migrate_volume': {'cluster': 'cluster_dest',
'force_host_copy': False,
'lock_volume': False}})
self._assert_request_id(vol)