diff options
Diffstat (limited to 'ocata/ocata/resource/tests/tests_infra_workload.py')
-rw-r--r-- | ocata/ocata/resource/tests/tests_infra_workload.py | 329 |
1 files changed, 193 insertions, 136 deletions
diff --git a/ocata/ocata/resource/tests/tests_infra_workload.py b/ocata/ocata/resource/tests/tests_infra_workload.py index ed39da9d..c608865b 100644 --- a/ocata/ocata/resource/tests/tests_infra_workload.py +++ b/ocata/ocata/resource/tests/tests_infra_workload.py @@ -15,82 +15,99 @@ import mock import unittest -import json from rest_framework import status -from common.utils import restcall from common.msapi.helper import Helper as helper from ocata.resource.views.infra_workload import InfraWorkload from ocata.resource.views.infra_workload import APIv1InfraWorkload -MOCK_TOKEN_RESPONSE = {"access": - {"token": - {"issued_at":"2018-05-10T16:56:56.000000Z", - "expires":"2018-05-10T17:56:56.000000Z", - "id":"4a832860dd744306b3f66452933f939e", - "tenant":{"domain":{"id":"default","name":"Default"}, - "enabled":"true","id":"0e148b76ee8c42f78d37013bf6b7b1ae", - "name":"VIM"}},"serviceCatalog":[], - "user":{"domain":{"id":"default","name":"Default"}, - "id":"ba76c94eb5e94bb7bec6980e5507aae2", - "name":"demo"}}} - -MOCK_HEAT_CREATE_BODY1 = { - "generic-vnf-id":"MOCK_GENERIF_VNF_ID1", - "vf-module-id":"MOCK_VF_MODULE_ID1", - "oof_directives":{ - "directives":[ - { - "id":"MOCK_VNFC_ID1", - "type": "vnfc", - "directives":[{ - "type":"flavor_directives", - "attributes":[ - { - "attribute_name":"flavor1", - "attribute_value":"m1.hpa.medium" - } - ] - } - ] - } - ] - }, - "sdnc_directives":{}, - "template_type":"HEAT", - "template_data":{ - "files":{ }, - "disable_rollback":True, - "parameters":{ - "flavor1":"m1.heat" - }, - "stack_name":"teststack", - "template":{ - "heat_template_version":"2013-05-23", - "description":"Simple template to test heat commands", - "parameters": - { - "flavor":{ - "default":"m1.tiny", - "type":"string" - } - }, - "resources":{ - "hello_world":{ - "type":"OS::Nova::Server", - "properties":{ - "key_name":"heat_key", - "flavor":{ - "get_param":"flavor" - }, - "image":"40be8d1a-3eb9-40de-8abd-43237517384f", - "user_data":"#!/bin/bash -xv\necho \"hello world\" > /root/hello-world.txt\n" - } - } - } - }, - "timeout_mins":60 - } +MOCK_TOKEN_RESPONSE = { + "access": { + "token": { + "issued_at": "2018-05-10T16:56:56.000000Z", + "expires": "2018-05-10T17:56:56.000000Z", + "id": "4a832860dd744306b3f66452933f939e", + "tenant": { + "domain": {"id": "default", "name": "Default"}, + "enabled": "true", + "id": "0e148b76ee8c42f78d37013bf6b7b1ae", + "name": "VIM" + } + }, + "serviceCatalog": [], + "user": { + "domain": {"id": "default", "name": "Default"}, + "id": "ba76c94eb5e94bb7bec6980e5507aae2", + "name": "demo" + } + } +} + +MOCK_HEAT_CREATE_BODY1 = { + "generic-vnf-id": "MOCK_GENERIF_VNF_ID1", + "vf-module-id": "MOCK_VF_MODULE_ID1", + "oof_directives": { + "directives": [ + { + "id": "MOCK_VNFC_ID1", + "type": "vnfc", + "directives": [ + { + "type": "flavor_directives", + "attributes": [ + { + "attribute_name": "flavor1", + "attribute_value": "m1.hpa.medium" + } + ] + }, + { + "type": "sriovNetNetwork_directives", + "attributes": [ + { + "attribute_name": "physnetwork_label", + "attribute_value": "physnet1" + } + ] + } + ] + } + ] + }, + "sdnc_directives": {}, + "template_type": "HEAT", + "template_data": { + "files": {}, + "disable_rollback": True, + "parameters": { + "flavor1": "m1.heat" + }, + "stack_name": "teststack", + "template": { + "heat_template_version": "2013-05-23", + "description": "Simple template to test heat commands", + "parameters": { + "flavor": { + "default": "m1.tiny", + "type": "string" + } + }, + "resources": { + "hello_world": { + "type": "OS::Nova::Server", + "properties": { + "key_name": "heat_key", + "flavor": { + "get_param": "flavor" + }, + "image": "40be8d1a-3eb9-40de-8abd-43237517384f", + "user_data": "#!/bin/bash -xv\necho \"hello world\" > /root/hello-world.txt\n" + } + } + } + }, + "timeout_mins": 60 + } } MOCK_HEAT_CREATE_RESPONSE1 = { @@ -102,51 +119,51 @@ MOCK_HEAT_CREATE_RESPONSE1 = { MOCK_HEAT_LIST_RESPONSE1 = { 'stacks': [ { - 'stack_status':"CREATE_IN_PROCESS" + 'stack_status': "CREATE_IN_PROCESS" } ] } -MOCK_HEAT_CREATE_BODY2 = { - "generic-vnf-id":"MOCK_GENERIF_VNF_ID1", - "vf-module-id":"MOCK_VF_MODULE_ID1", - "template_type":"HEAT", - "template_data":{ - "files":{ }, - "disable_rollback":True, - "parameters":{ - "flavor1":"m1.heat" - }, - "stack_name":"teststack", - "template":{ - "heat_template_version":"2013-05-23", - "description":"Simple template to test heat commands", - "parameters": - { - "flavor":{ - "default":"m1.tiny", - "type":"string" - } - }, - "resources":{ - "hello_world":{ - "type":"OS::Nova::Server", - "properties":{ - "key_name":"heat_key", - "flavor":{ - "get_param":"flavor" - }, - "image":"40be8d1a-3eb9-40de-8abd-43237517384f", - "user_data":"#!/bin/bash -xv\necho \"hello world\" > /root/hello-world.txt\n" - } - } - } - }, - "timeout_mins":60 - } +MOCK_HEAT_CREATE_BODY2 = { + "generic-vnf-id": "MOCK_GENERIF_VNF_ID1", + "vf-module-id": "MOCK_VF_MODULE_ID1", + "template_type": "HEAT", + "template_data": { + "files": {}, + "disable_rollback": True, + "parameters": { + "flavor1": "m1.heat" + }, + "stack_name": "teststack", + "template": { + "heat_template_version": "2013-05-23", + "description": "Simple template to test heat commands", + "parameters": { + "flavor": { + "default": "m1.tiny", + "type": "string" + } + }, + "resources": { + "hello_world": { + "type": "OS::Nova::Server", + "properties": { + "key_name": "heat_key", + "flavor": { + "get_param": "flavor" + }, + "image": "40be8d1a-3eb9-40de-8abd-43237517384f", + "user_data": "#!/bin/bash -xv\necho \"hello world\" > /root/hello-world.txt\n" + } + } + } + }, + "timeout_mins": 60 + } } + class InfraWorkloadTest(unittest.TestCase): def setUp(self): self._InfraWorkload = InfraWorkload() @@ -157,18 +174,18 @@ class InfraWorkloadTest(unittest.TestCase): @mock.patch.object(helper, 'MultiCloudServiceHelper') @mock.patch.object(helper, 'MultiCloudIdentityHelper') - def test_post(self, mock_MultiCloudIdentityHelper, mock_MultiCloudServiceHelper): + def test_post(self, mock_MultiCloudIdentityHelper, mock_MultiCloudServiceHelper): mock_request = mock.Mock() mock_request.META = {"testkey": "testvalue"} mock_request.data = MOCK_HEAT_CREATE_BODY1 - mock_MultiCloudIdentityHelper.side_effect= [ + mock_MultiCloudIdentityHelper.side_effect = [ (0, MOCK_TOKEN_RESPONSE, status.HTTP_201_CREATED) - ] + ] - mock_MultiCloudServiceHelper.side_effect= [ + mock_MultiCloudServiceHelper.side_effect = [ (0, MOCK_HEAT_CREATE_RESPONSE1, status.HTTP_201_CREATED) - ] + ] vimid = "CloudOwner_Region1" @@ -176,21 +193,20 @@ class InfraWorkloadTest(unittest.TestCase): self.assertEqual(response.status_code, status.HTTP_201_CREATED) pass - @mock.patch.object(helper, 'MultiCloudServiceHelper') @mock.patch.object(helper, 'MultiCloudIdentityHelper') - def test_post_wo_oof_directive(self, mock_MultiCloudIdentityHelper, mock_MultiCloudServiceHelper): + def test_post_wo_oof_directive(self, mock_MultiCloudIdentityHelper, mock_MultiCloudServiceHelper): mock_request = mock.Mock() mock_request.META = {"testkey": "testvalue"} mock_request.data = MOCK_HEAT_CREATE_BODY2 - mock_MultiCloudIdentityHelper.side_effect= [ + mock_MultiCloudIdentityHelper.side_effect = [ (0, MOCK_TOKEN_RESPONSE, status.HTTP_201_CREATED) - ] + ] - mock_MultiCloudServiceHelper.side_effect= [ + mock_MultiCloudServiceHelper.side_effect = [ (0, MOCK_HEAT_CREATE_RESPONSE1, status.HTTP_201_CREATED) - ] + ] vimid = "CloudOwner_Region1" @@ -200,17 +216,17 @@ class InfraWorkloadTest(unittest.TestCase): @mock.patch.object(helper, 'MultiCloudServiceHelper') @mock.patch.object(helper, 'MultiCloudIdentityHelper') - def test_get(self, mock_MultiCloudIdentityHelper, mock_MultiCloudServiceHelper): + def test_get(self, mock_MultiCloudIdentityHelper, mock_MultiCloudServiceHelper): mock_request = mock.Mock() mock_request.META = {"testkey": "testvalue"} - mock_MultiCloudIdentityHelper.side_effect= [ + mock_MultiCloudIdentityHelper.side_effect = [ (0, MOCK_TOKEN_RESPONSE, status.HTTP_201_CREATED) - ] + ] - mock_MultiCloudServiceHelper.side_effect= [ + mock_MultiCloudServiceHelper.side_effect = [ (0, MOCK_HEAT_LIST_RESPONSE1, status.HTTP_200_OK) - ] + ] vimid = "CloudOwner_Region1" mock_stack_id = "MOCKED_HEAT_STACK_ID1" @@ -219,6 +235,27 @@ class InfraWorkloadTest(unittest.TestCase): self.assertEqual(response.status_code, status.HTTP_200_OK) pass + @mock.patch.object(helper, 'MultiCloudServiceHelper') + @mock.patch.object(helper, 'MultiCloudIdentityHelper') + def test_delete(self, mock_MultiCloudIdentityHelper, mock_MultiCloudServiceHelper): + mock_request = mock.Mock() + mock_request.META = {"testkey": "testvalue"} + + mock_MultiCloudIdentityHelper.side_effect = [ + (0, MOCK_TOKEN_RESPONSE, status.HTTP_201_CREATED) + ] + + mock_MultiCloudServiceHelper.side_effect = [ + (0, MOCK_HEAT_LIST_RESPONSE1, status.HTTP_200_OK) + ] + + vimid = "CloudOwner_Region1" + mock_stack_id = "MOCKED_HEAT_STACK_ID1" + + response = self._InfraWorkload.delete(mock_request, vimid, mock_stack_id) + self.assertEqual(response.status_code, status.HTTP_200_OK) + pass + class APIv1InfraWorkloadTest(unittest.TestCase): def setUp(self): @@ -230,18 +267,18 @@ class APIv1InfraWorkloadTest(unittest.TestCase): @mock.patch.object(helper, 'MultiCloudServiceHelper') @mock.patch.object(helper, 'MultiCloudIdentityHelper') - def test_post(self, mock_MultiCloudIdentityHelper, mock_MultiCloudServiceHelper): + def test_post(self, mock_MultiCloudIdentityHelper, mock_MultiCloudServiceHelper): mock_request = mock.Mock() mock_request.META = {"testkey": "testvalue"} mock_request.data = MOCK_HEAT_CREATE_BODY1 - mock_MultiCloudIdentityHelper.side_effect= [ + mock_MultiCloudIdentityHelper.side_effect = [ (0, MOCK_TOKEN_RESPONSE, status.HTTP_201_CREATED) - ] + ] - mock_MultiCloudServiceHelper.side_effect= [ + mock_MultiCloudServiceHelper.side_effect = [ (0, MOCK_HEAT_CREATE_RESPONSE1, status.HTTP_201_CREATED) - ] + ] cloud_owner = "CloudOwner" cloud_region_id = "Region1" @@ -250,21 +287,19 @@ class APIv1InfraWorkloadTest(unittest.TestCase): self.assertEqual(response.status_code, status.HTTP_201_CREATED) pass - @mock.patch.object(helper, 'MultiCloudServiceHelper') @mock.patch.object(helper, 'MultiCloudIdentityHelper') - def test_get(self, mock_MultiCloudIdentityHelper, mock_MultiCloudServiceHelper): + def test_get(self, mock_MultiCloudIdentityHelper, mock_MultiCloudServiceHelper): mock_request = mock.Mock() mock_request.META = {"testkey": "testvalue"} - mock_MultiCloudIdentityHelper.side_effect= [ + mock_MultiCloudIdentityHelper.side_effect = [ (0, MOCK_TOKEN_RESPONSE, status.HTTP_201_CREATED) - ] + ] - mock_MultiCloudServiceHelper.side_effect= [ + mock_MultiCloudServiceHelper.side_effect = [ (0, MOCK_HEAT_LIST_RESPONSE1, status.HTTP_200_OK) - ] - + ] cloud_owner = "CloudOwner" cloud_region_id = "Region1" @@ -273,3 +308,25 @@ class APIv1InfraWorkloadTest(unittest.TestCase): response = self._APIv1InfraWorkload.get(mock_request, cloud_owner, cloud_region_id, mock_stack_id) self.assertEqual(response.status_code, status.HTTP_200_OK) pass + + @mock.patch.object(helper, 'MultiCloudServiceHelper') + @mock.patch.object(helper, 'MultiCloudIdentityHelper') + def test_delete(self, mock_MultiCloudIdentityHelper, mock_MultiCloudServiceHelper): + mock_request = mock.Mock() + mock_request.META = {"testkey": "testvalue"} + + mock_MultiCloudIdentityHelper.side_effect = [ + (0, MOCK_TOKEN_RESPONSE, status.HTTP_201_CREATED) + ] + + mock_MultiCloudServiceHelper.side_effect = [ + (0, MOCK_HEAT_LIST_RESPONSE1, status.HTTP_200_OK) + ] + + cloud_owner = "CloudOwner" + cloud_region_id = "Region1" + mock_stack_id = "MOCKED_HEAT_STACK_ID1" + + response = self._APIv1InfraWorkload.delete(mock_request, cloud_owner, cloud_region_id, mock_stack_id) + self.assertEqual(response.status_code, status.HTTP_200_OK) + pass |