Rebase framework to py36
[multicloud/framework.git] / multivimbroker / multivimbroker / tests / test_check_capacity.py
index 0a852e8..ba1f97e 100644 (file)
@@ -38,12 +38,13 @@ class CheckCapacityTest(unittest.TestCase):
         }"""
         req.get_full_path.return_value = ("http://msb.onap.org/api/multicloud"
                                           "/v0/check_vim_capacity")
+        req.META.items.return_value = [("Project", "projectname1")]
         with mock.patch.object(self.view, "send") as send:
             plugin_resp = mock.Mock()
-            plugin_resp.body = """{
+            plugin_resp.content = """{
                 "result": true
             }"""
-            plugin_resp.status_code = status.HTTP_200_OK
+            plugin_resp.status_code = str(status.HTTP_200_OK)
             send.return_value = plugin_resp
 
             resp = self.view.post(req)
@@ -52,3 +53,45 @@ class CheckCapacityTest(unittest.TestCase):
             }
             self.assertEqual(status.HTTP_200_OK, resp.status_code)
             self.assertDictEqual(expect_body, resp.data)
+
+    def test_check_capacity_no_suitable_vim(self):
+        req = mock.Mock()
+        req.body = """
+        {
+            "vCPU": 1,
+            "Memory": 1,
+            "Storage": 500,
+            "VIMs": ["openstack_RegionOne"]
+        }"""
+        req.get_full_path.return_value = ("http://msb.onap.org/api/multicloud"
+                                          "/v0/check_vim_capacity")
+        req.META.items.return_value = [("Project", "projectname1")]
+
+        with mock.patch.object(self.view, "send") as send:
+            plugin_resp = mock.Mock()
+            plugin_resp.content = """{
+                "result": false
+            }"""
+            plugin_resp.status_code = str(status.HTTP_200_OK)
+            send.return_value = plugin_resp
+
+            resp = self.view.post(req)
+            expect_body = {
+                "VIMs": []
+            }
+            self.assertEqual(status.HTTP_200_OK, resp.status_code)
+            self.assertDictEqual(expect_body, resp.data)
+
+    def test_check_capacity_invalid_input(self):
+        req = mock.Mock()
+        req.body = "hello world"
+        req.get_full_path.return_value = ("http://msb.onap.org/api/multicloud"
+                                          "/v0/check_vim_capacity")
+        req.META.items.return_value = [("Project", "projectname1")]
+        # expect_body = {
+        #     "error": ("Invalidate request body "
+        #               "No JSON object could be decoded.")
+        # }
+        resp = self.view.post(req)
+        self.assertEqual(status.HTTP_400_BAD_REQUEST, resp.status_code)
+        # self.assertDictEqual(expect_body, resp.data)