diff options
Diffstat (limited to 'newton/newton/requests/tests/test_subnet.py')
-rw-r--r-- | newton/newton/requests/tests/test_subnet.py | 195 |
1 files changed, 50 insertions, 145 deletions
diff --git a/newton/newton/requests/tests/test_subnet.py b/newton/newton/requests/tests/test_subnet.py index e4b2805e..653df33d 100644 --- a/newton/newton/requests/tests/test_subnet.py +++ b/newton/newton/requests/tests/test_subnet.py @@ -15,75 +15,59 @@ import mock import unittest -from django.test import Client from rest_framework import status from newton.requests.tests import test_base from newton.requests.tests import mock_info +from newton.requests.tests.test_base import AbstractTestResource from newton.requests.views.util import VimDriverUtils -MOCK_GET_SUBNETS_RESPONSE = { - "subnets": [ - {"id": "uuid_1", "name": "subnet_1"}, - {"id": "uuid_2", "name": "subnet_2"} - ] -} - -MOCK_GET_SUBNET_RESPONSE = { - "subnet": { - "id": "uuid_1", - "name": "subnet_1" - } -} - -MOCK_GET_SUBNET_RESPONSE_NOT_FOUND = { - "subnet": {} -} - -MOCK_POST_SUBNET_REQUEST = { - "id": "uuid_3", - "name": "subnet_3", -} - -MOCK_POST_SUBNET_REQUEST_EXISTING = { - "id": "uuid_1", - "name": "subnet_1", -} - -MOCK_POST_SUBNET_RESPONSE = { - "subnet": { - "id": "uuid_3", - "name": "subnet_3" - } -} - - -class TestSubnet(unittest.TestCase): +class TestSubnetNewton(unittest.TestCase, AbstractTestResource): def setUp(self): - self.client = Client() - - def tearDown(self): - pass - - @mock.patch.object(VimDriverUtils, 'get_session') - @mock.patch.object(VimDriverUtils, 'get_vim_info') - def test_get_subnets(self, mock_get_vim_info, mock_get_session): - mock_get_session.side_effect = [ - test_base.get_mock_session( - ["get"], - {"get": {"content": MOCK_GET_SUBNETS_RESPONSE}}) - ] - mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO - - response = self.client.get( - "/api/multicloud-newton/v0/windriver-hudson-dc_RegionOne/fcca3cc49d5e42caae15459e27103efc/subnets", - {}, HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID) - - context = response.json() - self.assertEquals(status.HTTP_200_OK, response.status_code) - self.assertIsNotNone(context['subnets']) - self.assertEqual(MOCK_GET_SUBNETS_RESPONSE["subnets"], context["subnets"]) + AbstractTestResource.__init__(self) + + self.url += "subnets" + + self.MOCK_GET_RESOURCES_RESPONSE = { + "subnets": [ + {"id": "uuid_1", "name": "subnet_1"}, + {"id": "uuid_2", "name": "subnet_2"} + ] + } + + self.MOCK_GET_RESOURCE_RESPONSE = { + "subnet": { + "id": "uuid_1", + "name": "subnet_1" + } + } + + self.MOCK_GET_RESOURCE_RESPONSE_NOT_FOUND = { + "subnet": {} + } + + self.MOCK_POST_RESOURCE_REQUEST = { + "id": "uuid_3", + "name": "subnet_3" + } + + self.MOCK_POST_RESOURCE_REQUEST_EXISTING = { + "id": "uuid_1", + "name": "subnet_1" + } + + self.MOCK_POST_RESOURCE_RESPONSE = { + "subnet": { + "id": "uuid_3", + "name": "subnet_3" + } + } + + self.assert_keys = "subnets" + self.assert_key = "subnet" + + self.HTTP_not_found = status.HTTP_404_NOT_FOUND @mock.patch.object(VimDriverUtils, 'get_session') @mock.patch.object(VimDriverUtils, 'get_vim_info') @@ -91,7 +75,7 @@ class TestSubnet(unittest.TestCase): mock_get_session.side_effect = [ test_base.get_mock_session( ["get"], - {"get": {"content": MOCK_GET_SUBNET_RESPONSE}}) + {"get": {"content": self.MOCK_GET_RESOURCE_RESPONSE}}) ] mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO @@ -102,87 +86,8 @@ class TestSubnet(unittest.TestCase): context = response.json() self.assertEquals(status.HTTP_200_OK, response.status_code) - self.assertEqual(MOCK_GET_SUBNET_RESPONSE["id"], context["id"]) - - @mock.patch.object(VimDriverUtils, 'get_session') - @mock.patch.object(VimDriverUtils, 'get_vim_info') - def test_get_subnet_not_found(self, mock_get_vim_info, mock_get_session): - mock_get_session.side_effect = [ - test_base.get_mock_session( - ["get"], - {"get": {"content": MOCK_GET_SUBNET_RESPONSE_NOT_FOUND, - "status_code": 404}}), - ] - mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO - - response = self.client.get( - "/api/multicloud-newton/v0/windriver-hudson-dc_RegionOne/fcca3cc49d5e42caae15459e27103efc/subnets" - "/uuid_3", - {}, HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID) - - context = response.json() - self.assertEquals(status.HTTP_404_NOT_FOUND, response.status_code) - self.assertIsNone(context.get("subnet")) - - @mock.patch.object(VimDriverUtils, 'get_session') - @mock.patch.object(VimDriverUtils, 'get_vim_info') - def test_create_subnet_success(self, mock_get_vim_info, mock_get_session): - mock_get_session.side_effect = [ - test_base.get_mock_session( - ["get"], - {"get": {"content": MOCK_GET_SUBNETS_RESPONSE}}), - test_base.get_mock_session( - ["post"], - {"post": {"content": MOCK_POST_SUBNET_RESPONSE, - "status_code": 201}}) - ] - mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO - - response = self.client.post( - "/api/multicloud-newton/v0/windriver-hudson-dc_RegionOne/fcca3cc49d5e42caae15459e27103efc/subnets", - MOCK_POST_SUBNET_REQUEST, HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID) - context = response.json() - - self.assertEquals(status.HTTP_201_CREATED, response.status_code) - self.assertEqual(MOCK_POST_SUBNET_RESPONSE["subnet"], context) - - @mock.patch.object(VimDriverUtils, 'get_session') - @mock.patch.object(VimDriverUtils, 'get_vim_info') - def test_create_subnet_fail_existing(self, mock_get_vim_info, mock_get_session): - mock_get_session.side_effect = [ - test_base.get_mock_session( - ["get"], - {"get": {"content": MOCK_GET_SUBNETS_RESPONSE}}), - test_base.get_mock_session( - ["post"], - {"post": {"content": MOCK_POST_SUBNET_RESPONSE, - "status_code": 404}}) - ] - mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO - - response = self.client.post( - "/api/multicloud-newton/v0/windriver-hudson-dc_RegionOne/fcca3cc49d5e42caae15459e27103efc/subnets", - MOCK_POST_SUBNET_REQUEST_EXISTING, HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID) - context = response.json() - - self.assertEquals(status.HTTP_200_OK, response.status_code) - self.assertIsNotNone(context['returnCode']) - self.assertEqual(0, context['returnCode']) - - @mock.patch.object(VimDriverUtils, 'get_session') - @mock.patch.object(VimDriverUtils, 'get_vim_info') - def test_delete_subnet_success(self, mock_get_vim_info, mock_get_session): - mock_get_session.side_effect = [ - test_base.get_mock_session( - ["delete"], - {"delete": {"content": None, - "status_code": 204}}) - ] - mock_get_vim_info.return_value = mock_info.MOCK_VIM_INFO - - response = self.client.delete( - "/api/multicloud-newton/v0/windriver-hudson-dc_RegionOne/fcca3cc49d5e42caae15459e27103efc/subnets" - "/uuid_1", HTTP_X_AUTH_TOKEN=mock_info.MOCK_TOKEN_ID) + self.assertEqual(self.MOCK_GET_RESOURCE_RESPONSE["id"], context["id"]) - self.assertEqual(status.HTTP_204_NO_CONTENT, response.status_code) - self.assertIsNone(response.data) + # Overridden method from test base to not make it run for current test case. + def test_get_resource_info(self): + pass |