summaryrefslogtreecommitdiffstats
path: root/newton/newton/requests/tests/test_flavor.py
diff options
context:
space:
mode:
Diffstat (limited to 'newton/newton/requests/tests/test_flavor.py')
-rw-r--r--newton/newton/requests/tests/test_flavor.py148
1 files changed, 75 insertions, 73 deletions
diff --git a/newton/newton/requests/tests/test_flavor.py b/newton/newton/requests/tests/test_flavor.py
index 7ddb1122..26e3f381 100644
--- a/newton/newton/requests/tests/test_flavor.py
+++ b/newton/newton/requests/tests/test_flavor.py
@@ -13,54 +13,67 @@
# limitations under the License.
import mock
+import unittest
from rest_framework import status
from newton.requests.tests import mock_info
from newton.requests.tests import test_base
+from newton.requests.tests.test_base import AbstractTestResource
from newton.requests.views.flavor import Flavors
from newton.requests.views.util import VimDriverUtils
-MOCK_GET_FLAVORS_RESPONSE = {
- "flavors": [
- {"id": "uuid_1", "name": "flavor_1"},
- {"id": "uuid_2", "name": "flavor_2"}
- ]
-}
+class TestFlavorsNewton(unittest.TestCase, AbstractTestResource):
-MOCK_GET_FLAVOR_RESPONSE = {
- "flavor": {
- "id": "uuid_1",
- "name": "flavor_1"
- }
-}
+ def setUp(self):
+ AbstractTestResource.__init__(self)
-MOCK_GET_EXTRA_SPECS = {
- "extra_specs": {
- "key": "test"
- }
-}
+ self.url += "flavors"
-MOCK_POST_FLAVOR_REQUEST = {
- "id": "uuid_3",
- "name": "flavor_3"
-}
+ self.MOCK_GET_RESOURCES_RESPONSE = {
+ "flavors": [
+ {"id": "uuid_1", "name": "flavor_1"},
+ {"id": "uuid_2", "name": "flavor_2"}
+ ]
+ }
-MOCK_POST_FLAVOR_REQUEST_EXISTING = {
- "id": "uuid_1",
- "name": "flavor_1"
-}
+ self.MOCK_GET_RESOURCE_RESPONSE = {
+ "flavor": {
+ "id": "uuid_1",
+ "name": "flavor_1"
+ }
+ }
-MOCK_POST_FLAVOR_RESPONSE = {
- "flavor": {
- "id": "uuid_3",
- "name": "flavor_3"
- }
-}
+ self.MOCK_GET_RESOURCE_RESPONSE_NOT_FOUND = {}
+ self.MOCK_POST_RESOURCE_REQUEST = {
+ "id": "uuid_3",
+ "name": "flavor_3"
+ }
-class TestFlavors(test_base.TestRequest):
+ self.MOCK_POST_RESOURCE_REQUEST_EXISTING = {
+ "id": "uuid_1",
+ "name": "flavor_1"
+ }
+
+ self.MOCK_POST_RESOURCE_RESPONSE = {
+ "flavor": {
+ "id": "uuid_3",
+ "name": "flavor_3"
+ }
+ }
+
+ self.MOCK_GET_EXTRA_SPECS = {
+ "extra_specs": {
+ "key": "test"
+ }
+ }
+
+ self.assert_keys = "flavors"
+ self.assert_key = "flavor"
+
+ self.HTTP_not_found = status.HTTP_404_NOT_FOUND
@mock.patch.object(Flavors, '_get_flavor_extra_specs')
@mock.patch.object(VimDriverUtils, 'get_session')
@@ -69,7 +82,7 @@ class TestFlavors(test_base.TestRequest):
mock_get_flavor_extra_specs):
mock_get_session.side_effect = [
test_base.get_mock_session(
- ["get"], {"get": {"content": MOCK_GET_FLAVORS_RESPONSE}}),
+ ["get"], {"get": {"content": self.MOCK_GET_RESOURCES_RESPONSE}}),
]
mock_extra_specs = mock.Mock(spec=test_base.MockResponse)
@@ -86,7 +99,7 @@ class TestFlavors(test_base.TestRequest):
self.assertEquals(status.HTTP_200_OK, response.status_code)
self.assertIsNotNone(context['flavors'])
- self.assertEqual(MOCK_GET_FLAVORS_RESPONSE["flavors"],
+ self.assertEqual(self.MOCK_GET_RESOURCES_RESPONSE["flavors"],
context['flavors'])
@mock.patch.object(Flavors, '_get_flavor_extra_specs')
@@ -97,7 +110,7 @@ class TestFlavors(test_base.TestRequest):
mock_get_session.side_effect = [
test_base.get_mock_session(
["get"],
- {"get": {"content": MOCK_GET_FLAVOR_RESPONSE}}),
+ {"get": {"content": self.MOCK_GET_RESOURCE_RESPONSE}}),
]
mock_extra_specs = mock.Mock(spec=test_base.MockResponse)
@@ -113,7 +126,7 @@ class TestFlavors(test_base.TestRequest):
context = response.json()
self.assertEquals(status.HTTP_200_OK, response.status_code)
- self.assertEqual(MOCK_GET_FLAVOR_RESPONSE["id"], context["id"])
+ self.assertEqual(self.MOCK_GET_RESOURCE_RESPONSE["id"], context["id"])
@mock.patch.object(Flavors, '_get_flavor_extra_specs')
@mock.patch.object(VimDriverUtils, 'get_session')
@@ -149,9 +162,9 @@ class TestFlavors(test_base.TestRequest):
mock_get_session.side_effect = [
test_base.get_mock_session(
["get", "post"], {
- "get": {"content": MOCK_GET_FLAVORS_RESPONSE},
+ "get": {"content": self.MOCK_GET_RESOURCES_RESPONSE},
"post": {
- "content": MOCK_POST_FLAVOR_RESPONSE,
+ "content": self.MOCK_POST_RESOURCE_RESPONSE,
"status_code": status.HTTP_202_ACCEPTED,
}
}
@@ -162,7 +175,7 @@ class TestFlavors(test_base.TestRequest):
response = self.client.post(
("/api/multicloud-newton/v0/windriver-hudson-dc_RegionOne"
"/fcca3cc49d5e42caae15459e27103efc/flavors"),
- MOCK_POST_FLAVOR_REQUEST,
+ self.MOCK_POST_RESOURCE_REQUEST,
HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)
context = response.json()
@@ -171,7 +184,6 @@ class TestFlavors(test_base.TestRequest):
self.assertIsNotNone(context['id'])
self.assertEqual(1, context['returnCode'])
-
@mock.patch.object(Flavors, '_get_flavor_extra_specs')
@mock.patch.object(VimDriverUtils, 'get_session')
@mock.patch.object(VimDriverUtils, 'get_vim_info')
@@ -181,9 +193,9 @@ class TestFlavors(test_base.TestRequest):
mock_get_session.side_effect = [
test_base.get_mock_session(
["get", "post"], {
- "get": {"content": MOCK_GET_FLAVORS_RESPONSE},
+ "get": {"content": self.MOCK_GET_RESOURCES_RESPONSE},
"post": {
- "content": MOCK_POST_FLAVOR_RESPONSE,
+ "content": self.MOCK_POST_RESOURCE_RESPONSE,
"status_code": status.HTTP_202_ACCEPTED,
}
}),
@@ -197,7 +209,7 @@ class TestFlavors(test_base.TestRequest):
response = self.client.post(
("/api/multicloud-newton/v0/windriver-hudson-dc_RegionOne/"
"fcca3cc49d5e42caae15459e27103efc/flavors"),
- MOCK_POST_FLAVOR_REQUEST_EXISTING,
+ self.MOCK_POST_RESOURCE_REQUEST_EXISTING,
HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)
context = response.json()
@@ -207,42 +219,13 @@ class TestFlavors(test_base.TestRequest):
@mock.patch.object(VimDriverUtils, 'get_session')
@mock.patch.object(VimDriverUtils, 'get_vim_info')
- def test_create_empty_flavor(
- self, mock_get_vim_info,mock_get_session):
- mock_get_session.side_effect = [
- test_base.get_mock_session(
- ["get", "post"],
- {
- "get": {"content": MOCK_GET_FLAVORS_RESPONSE},
- "post": {
- "content": MOCK_POST_FLAVOR_RESPONSE,
- "status_code": status.HTTP_202_ACCEPTED
- }
- })
- ]
- mock_extra_specs = mock.Mock(spec=test_base.MockResponse)
- mock_extra_specs.json.return_value = {"extra_specs": {}}
-
- mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO
- response = self.client.post(
- ("/api/multicloud-newton/v0/windriver-hudson-dc_RegionOne/"
- "fcca3cc49d5e42caae15459e27103efc/flavors"),
- {}, HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID)
-
- context = response.json()
- self.assertIn('error', context)
- self.assertEquals(status.HTTP_500_INTERNAL_SERVER_ERROR,
- response.status_code)
-
- @mock.patch.object(VimDriverUtils, 'get_session')
- @mock.patch.object(VimDriverUtils, 'get_vim_info')
def test_delete_flavor(self, mock_get_vim_info, mock_get_session):
mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO
mock_get_session.side_effect = [
test_base.get_mock_session(
["get", "delete"],
{
- "get": { "content": MOCK_GET_EXTRA_SPECS },
+ "get": { "content": self.MOCK_GET_EXTRA_SPECS },
"delete": {"status_code": status.HTTP_204_NO_CONTENT }
}),
]
@@ -255,3 +238,22 @@ class TestFlavors(test_base.TestRequest):
self.assertEqual(status.HTTP_204_NO_CONTENT,
response.status_code)
self.assertIsNone(response.data)
+
+ # Overridden methods from test base to not make it run for current test case.
+ def test_get_resources_list(self):
+ pass
+
+ def test_get_resource_info(self):
+ pass
+
+ def test_get_resource_not_found(self):
+ pass
+
+ def test_post_resource(self):
+ pass
+
+ def test_post_resource_existing(self):
+ pass
+
+ def test_delete_resource(self):
+ pass