diff options
author | Ethan Lynn <ethanlynnl@vmware.com> | 2018-04-11 10:36:59 +0800 |
---|---|---|
committer | Ethan Lynn <ethanlynnl@vmware.com> | 2018-04-11 10:46:01 +0800 |
commit | a95d7a201805edb593f35949bca2b50b976e3793 (patch) | |
tree | a8444d17adc556a15f46759e50011405474e494c | |
parent | bed78300674d7fc91eeca73fac25ee7ab056346b (diff) |
Add test_post_from_image for CreateListVolumeView
Add test_post_from_image
Change-Id: Ib16b35ee8f24d8913bb834168a4b1a12879223a6
Issue-ID: MULTICLOUD-199
Signed-off-by: Ethan Lynn <ethanlynnl@vmware.com>
-rw-r--r-- | vio/vio/tests/test_volume_view.py | 39 |
1 files changed, 34 insertions, 5 deletions
diff --git a/vio/vio/tests/test_volume_view.py b/vio/vio/tests/test_volume_view.py index 115cb99..88c8f59 100644 --- a/vio/vio/tests/test_volume_view.py +++ b/vio/vio/tests/test_volume_view.py @@ -16,6 +16,7 @@ import unittest from vio.pub.msapi import extsys from vio.swagger.views.volume import views from vio.pub.vim.vimapi.cinder import OperateVolume +from vio.pub.vim.vimapi.glance import OperateImage class TestGetDeleteVolumeView(unittest.TestCase): @@ -141,9 +142,37 @@ class TestCreateListVolumeView(unittest.TestCase): mock_getvol.return_value = vol mock_getvols.return_value = [vol] req = mock.Mock() - req.body = { - "vol-name" - } - ret = self.view.get( - mock.Mock(query_params=[]), "vmware_nova", "tenant1") + req.body = """{ + "name": "vol-name" + }""" + ret = self.view.post(req, "vmware_nova", "tenant1") self.assertEqual(200, ret.status_code) + + @mock.patch.object(OperateImage.OperateImage, "find_vim_image") + @mock.patch.object(OperateVolume.OperateVolume, "create_vim_volume") + @mock.patch.object(OperateVolume.OperateVolume, "get_vim_volumes") + @mock.patch.object(extsys, "get_vim_by_id") + def test_post_from_image(self, mock_getvim, mock_getvols, + mock_createvol, mock_findimg): + mock_getvim.return_value = { + "tenant": "tenant-id" + } + mock_findimg.return_value = mock.Mock(id="image-id") + vol = mock.Mock() + vol.attachments = [] + vol.id = "vol-id" + vol.name = "vol-name" + vol.created_at = "create time" + vol.status = "ok" + vol.volume_type = "vmdk" + vol.size = 1 + vol.availability_zone = "nova" + mock_createvol.return_value = vol + mock_getvols.return_value = [] + req = mock.Mock() + req.body = """{ + "name": "vol-name", + "imageId": "image-id" + }""" + ret = self.view.post(req, "vmware_nova", "tenant1") + self.assertEqual(202, ret.status_code) |