summaryrefslogtreecommitdiffstats
path: root/vio
diff options
context:
space:
mode:
Diffstat (limited to 'vio')
-rw-r--r--vio/vio/tests/test_volume_view.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/vio/vio/tests/test_volume_view.py b/vio/vio/tests/test_volume_view.py
index 88c8f59..9d8395e 100644
--- a/vio/vio/tests/test_volume_view.py
+++ b/vio/vio/tests/test_volume_view.py
@@ -176,3 +176,28 @@ class TestCreateListVolumeView(unittest.TestCase):
}"""
ret = self.view.post(req, "vmware_nova", "tenant1")
self.assertEqual(202, ret.status_code)
+
+ @mock.patch.object(OperateVolume.OperateVolume, "get_vim_volumes")
+ @mock.patch.object(OperateVolume.OperateVolume, "get_vim_volume")
+ @mock.patch.object(extsys, "get_vim_by_id")
+ def test_post_fail(self, mock_getvim, mock_getvol, mock_getvols):
+ mock_getvim.return_value = {
+ "tenant": "tenant-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_getvol.side_effect = [Exception("error")]
+ mock_getvols.return_value = [vol]
+ req = mock.Mock()
+ req.body = """{
+ "name": "vol-name"
+ }"""
+ ret = self.view.post(req, "vmware_nova", "tenant1")
+ self.assertEqual(500, ret.status_code)