From f37e69e59d05edf620b81945a6c9a564ec4dffba Mon Sep 17 00:00:00 2001 From: yangyan Date: Tue, 19 Mar 2019 16:42:31 +0800 Subject: fix the test bug of vnflcm Change-Id: I8657dcf45e88ee0857299c33a147cc8022a079c6 Issue-ID: VFC-1305 Signed-off-by: yangyan --- lcm/lcm/nf/tests/test_query_subscriptions.py | 240 ++++++++++++------------ lcm/lcm/nf/tests/test_subscribe_notification.py | 148 +++++++-------- 2 files changed, 194 insertions(+), 194 deletions(-) diff --git a/lcm/lcm/nf/tests/test_query_subscriptions.py b/lcm/lcm/nf/tests/test_query_subscriptions.py index fd949af9..f67ac272 100644 --- a/lcm/lcm/nf/tests/test_query_subscriptions.py +++ b/lcm/lcm/nf/tests/test_query_subscriptions.py @@ -53,67 +53,67 @@ class TestQuerySubscriptions(TestCase): def tearDown(self): pass - # def test_get_subscriptions(self): - # vnf_instance_filter = { - # "vnfdIds": [], - # "vnfInstanceIds": [self.vnf_instance_id], - # "vnfInstanceNames": [], - # "vnfProductsFromProviders": { - # "vnfProvider": "vendor" - # } - # } - # links = { - # "self": { - # "href": "/api/v1/subscriptions/99442b18-a5c7-11e8-998c-bf1755941f16" - # } - # } - # SubscriptionModel(subscription_id=self.subscription_id, callback_uri="http://aurl.com", - # auth_info="{}", notification_types="['VnfLcmOperationOccurrenceNotification']", - # operation_types="['INSTANTIATE']", - # operation_states="['STARTING']", - # links=json.dumps(links), - # vnf_instance_filter=json.dumps(vnf_instance_filter)).save() - # response = self.client.get("/api/vnflcm/v1/subscriptions", format='json') - # self.assertEqual(response.status_code, status.HTTP_200_OK) - # self.assertEqual([self.test_single_subscription], response.data) + def test_get_subscriptions(self): + vnf_instance_filter = { + "vnfdIds": [], + "vnfInstanceIds": [self.vnf_instance_id], + "vnfInstanceNames": [], + "vnfProductsFromProviders": { + "vnfProvider": "vendor" + } + } + links = { + "self": { + "href": "/api/v1/subscriptions/99442b18-a5c7-11e8-998c-bf1755941f16" + } + } + SubscriptionModel(subscription_id=self.subscription_id, callback_uri="http://aurl.com", + auth_info="{}", notification_types="['VnfLcmOperationOccurrenceNotification']", + operation_types="['INSTANTIATE']", + operation_states="['STARTING']", + links=json.dumps(links), + vnf_instance_filter=json.dumps(vnf_instance_filter)).save() + response = self.client.get("/api/vnflcm/v1/subscriptions", format='json') + self.assertEqual(response.status_code, status.HTTP_200_OK) + self.assertEqual([self.test_single_subscription], response.data) + + def test_get_subscriptions_with_vnf_instance_id(self): + vnf_instance_filter = { + "vnfdIds": [], + "vnfInstanceIds": [self.vnf_instance_id], + "vnfInstanceNames": [], + "vnfProductsFromProviders": { + "vnfProvider": "vendor" + } + } + links = { + "self": { + "href": "/api/v1/subscriptions/99442b18-a5c7-11e8-998c-bf1755941f16" + } + } + SubscriptionModel(subscription_id=self.subscription_id, callback_uri="http://aurl.com", + auth_info="{}", notification_types="['VnfLcmOperationOccurrenceNotification']", + operation_types="['INSTANTIATE']", + operation_states="['STARTING']", + links=json.dumps(links), + vnf_instance_filter=json.dumps(vnf_instance_filter)).save() + dummy_vnf_id = "584b35e2-b2a2-11e8-8e11-645106374fd3" + dummy_subscription_id = "947dcd2c-b2a2-11e8-b365-645106374fd4" + vnf_instance_filter["vnfInstanceIds"].append(dummy_vnf_id) + SubscriptionModel(subscription_id=dummy_subscription_id, callback_uri="http://aurl.com", + auth_info="{}", notification_types="['VnfLcmOperationOccurrenceNotification']", + operation_types="['INSTANTIATE']", + operation_states="['STARTING']", + links=json.dumps(links), + vnf_instance_filter=json.dumps(vnf_instance_filter)).save() - # def test_get_subscriptions_with_vnf_instance_id(self): - # vnf_instance_filter = { - # "vnfdIds": [], - # "vnfInstanceIds": [self.vnf_instance_id], - # "vnfInstanceNames": [], - # "vnfProductsFromProviders": { - # "vnfProvider": "vendor" - # } - # } - # links = { - # "self": { - # "href": "/api/v1/subscriptions/99442b18-a5c7-11e8-998c-bf1755941f16" - # } - # } - # SubscriptionModel(subscription_id=self.subscription_id, callback_uri="http://aurl.com", - # auth_info="{}", notification_types="['VnfLcmOperationOccurrenceNotification']", - # operation_types="['INSTANTIATE']", - # operation_states="['STARTING']", - # links=json.dumps(links), - # vnf_instance_filter=json.dumps(vnf_instance_filter)).save() - # dummy_vnf_id = "584b35e2-b2a2-11e8-8e11-645106374fd3" - # dummy_subscription_id = "947dcd2c-b2a2-11e8-b365-645106374fd4" - # vnf_instance_filter["vnfInstanceIds"].append(dummy_vnf_id) - # SubscriptionModel(subscription_id=dummy_subscription_id, callback_uri="http://aurl.com", - # auth_info="{}", notification_types="['VnfLcmOperationOccurrenceNotification']", - # operation_types="['INSTANTIATE']", - # operation_states="['STARTING']", - # links=json.dumps(links), - # vnf_instance_filter=json.dumps(vnf_instance_filter)).save() - # - # response = self.client.get("/api/vnflcm/v1/subscriptions?vnfInstanceId=" + dummy_vnf_id, format='json') - # expected_response = self.test_single_subscription.copy() - # expected_response["id"] = dummy_subscription_id - # expected_response["filter"]["vnfInstanceSubscriptionFilter"]["vnfInstanceIds"] = \ - # vnf_instance_filter["vnfInstanceIds"] - # self.assertEqual(response.status_code, status.HTTP_200_OK) - # self.assertEqual([expected_response], response.data) + response = self.client.get("/api/vnflcm/v1/subscriptions?vnfInstanceId=" + dummy_vnf_id, format='json') + expected_response = self.test_single_subscription.copy() + expected_response["id"] = dummy_subscription_id + expected_response["filter"]["vnfInstanceSubscriptionFilter"]["vnfInstanceIds"] = \ + vnf_instance_filter["vnfInstanceIds"] + self.assertEqual(response.status_code, status.HTTP_200_OK) + self.assertEqual([expected_response], response.data) def test_get_subscriptions_with_unknown_vnf_instance_id(self): vnf_instance_filter = { @@ -138,64 +138,64 @@ class TestQuerySubscriptions(TestCase): response = self.client.get("/api/vnflcm/v1/subscriptions?vnfInstanceId=dummy", format='json') self.assertEqual(response.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR) - # def test_get_subscriptions_with_invalid_filter(self): - # vnf_instance_filter = { - # "vnfdIds": [], - # "vnfInstanceIds": [self.vnf_instance_id], - # "vnfInstanceNames": [], - # "vnfProductsFromProviders": { - # "vnfProvider": "vendor" - # } - # } - # links = { - # "self": { - # "href": "/api/v1/subscriptions/99442b18-a5c7-11e8-998c-bf1755941f16" - # } - # } - # SubscriptionModel(subscription_id=self.subscription_id, callback_uri="http://aurl.com", - # auth_info="{}", notification_types="['VnfLcmOperationOccurrenceNotification']", - # operation_types="['INSTANTIATE']", - # operation_states="['STARTING']", - # links=json.dumps(links), - # vnf_instance_filter=json.dumps(vnf_instance_filter)).save() - # response = self.client.get("/api/vnflcm/v1/subscriptions?dummy=dummy", format='json') - # self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) + def test_get_subscriptions_with_invalid_filter(self): + vnf_instance_filter = { + "vnfdIds": [], + "vnfInstanceIds": [self.vnf_instance_id], + "vnfInstanceNames": [], + "vnfProductsFromProviders": { + "vnfProvider": "vendor" + } + } + links = { + "self": { + "href": "/api/v1/subscriptions/99442b18-a5c7-11e8-998c-bf1755941f16" + } + } + SubscriptionModel(subscription_id=self.subscription_id, callback_uri="http://aurl.com", + auth_info="{}", notification_types="['VnfLcmOperationOccurrenceNotification']", + operation_types="['INSTANTIATE']", + operation_states="['STARTING']", + links=json.dumps(links), + vnf_instance_filter=json.dumps(vnf_instance_filter)).save() + response = self.client.get("/api/vnflcm/v1/subscriptions?dummy=dummy", format='json') + self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) + + def test_get_subscriptions_with_operation_type_filter(self): + vnf_instance_filter = { + "vnfdIds": [], + "vnfInstanceIds": [self.vnf_instance_id], + "vnfInstanceNames": [], + "vnfProductsFromProviders": { + "vnfProvider": "vendor" + } + } + links = { + "self": { + "href": "/api/v1/subscriptions/99442b18-a5c7-11e8-998c-bf1755941f16" + } + } + SubscriptionModel(subscription_id=self.subscription_id, callback_uri="http://aurl.com", + auth_info="{}", notification_types="['VnfLcmOperationOccurrenceNotification']", + operation_types="['INSTANTIATE']", + operation_states="['STARTING']", + links=json.dumps(links), + vnf_instance_filter=json.dumps(vnf_instance_filter)).save() + dummy_vnf_id = "584b35e2-b2a2-11e8-8e11-645106374fd3" + dummy_subscription_id = "947dcd2c-b2a2-11e8-b365-645106374fd4" + vnf_instance_filter["vnfInstanceIds"].append(dummy_vnf_id) + SubscriptionModel(subscription_id=dummy_subscription_id, callback_uri="http://aurl.com", + auth_info="{}", notification_types="['VnfLcmOperationOccurrenceNotification']", + operation_types="['SCALE']", + operation_states="['STARTING']", + links=json.dumps(links), + vnf_instance_filter=json.dumps(vnf_instance_filter)).save() - # def test_get_subscriptions_with_operation_type_filter(self): - # vnf_instance_filter = { - # "vnfdIds": [], - # "vnfInstanceIds": [self.vnf_instance_id], - # "vnfInstanceNames": [], - # "vnfProductsFromProviders": { - # "vnfProvider": "vendor" - # } - # } - # links = { - # "self": { - # "href": "/api/v1/subscriptions/99442b18-a5c7-11e8-998c-bf1755941f16" - # } - # } - # SubscriptionModel(subscription_id=self.subscription_id, callback_uri="http://aurl.com", - # auth_info="{}", notification_types="['VnfLcmOperationOccurrenceNotification']", - # operation_types="['INSTANTIATE']", - # operation_states="['STARTING']", - # links=json.dumps(links), - # vnf_instance_filter=json.dumps(vnf_instance_filter)).save() - # dummy_vnf_id = "584b35e2-b2a2-11e8-8e11-645106374fd3" - # dummy_subscription_id = "947dcd2c-b2a2-11e8-b365-645106374fd4" - # vnf_instance_filter["vnfInstanceIds"].append(dummy_vnf_id) - # SubscriptionModel(subscription_id=dummy_subscription_id, callback_uri="http://aurl.com", - # auth_info="{}", notification_types="['VnfLcmOperationOccurrenceNotification']", - # operation_types="['SCALE']", - # operation_states="['STARTING']", - # links=json.dumps(links), - # vnf_instance_filter=json.dumps(vnf_instance_filter)).save() - # - # response = self.client.get("/api/vnflcm/v1/subscriptions?operationTypes=SCALE", format='json') - # expected_response = self.test_single_subscription.copy() - # expected_response["id"] = dummy_subscription_id - # expected_response["filter"]["vnfInstanceSubscriptionFilter"]["vnfInstanceIds"] = \ - # vnf_instance_filter["vnfInstanceIds"] - # expected_response["filter"]["operationTypes"] = ["SCALE"] - # self.assertEqual(response.status_code, status.HTTP_200_OK) - # self.assertEqual([expected_response], response.data) + response = self.client.get("/api/vnflcm/v1/subscriptions?operationTypes=SCALE", format='json') + expected_response = self.test_single_subscription.copy() + expected_response["id"] = dummy_subscription_id + expected_response["filter"]["vnfInstanceSubscriptionFilter"]["vnfInstanceIds"] = \ + vnf_instance_filter["vnfInstanceIds"] + expected_response["filter"]["operationTypes"] = ["SCALE"] + self.assertEqual(response.status_code, status.HTTP_200_OK) + self.assertEqual([expected_response], response.data) diff --git a/lcm/lcm/nf/tests/test_subscribe_notification.py b/lcm/lcm/nf/tests/test_subscribe_notification.py index 66389a52..8aeab63f 100644 --- a/lcm/lcm/nf/tests/test_subscribe_notification.py +++ b/lcm/lcm/nf/tests/test_subscribe_notification.py @@ -15,7 +15,7 @@ import mock from django.test import TestCase from rest_framework.test import APIClient -# import uuid +import uuid class TestSubscription(TestCase): @@ -25,51 +25,51 @@ class TestSubscription(TestCase): def tearDown(self): pass - # @mock.patch("requests.get") - # @mock.patch.object(uuid, 'uuid4') - # def test_subscribe_notification_simple(self, mock_uuid4, mock_requests): - # temp_uuid = "99442b18-a5c7-11e8-998c-bf1755941f13" - # dummy_subscription = { - # "callbackUri": "http://aurl.com" - # } - # mock_requests.return_value.status_code = 204 - # mock_requests.get.status_code = 204 - # mock_uuid4.return_value = temp_uuid - # response = self.client.post("/api/vnflcm/v1/subscriptions", data=dummy_subscription, format='json') - # self.assertEqual(201, response.status_code) - # self.assertEqual(dummy_subscription["callbackUri"], response.data["callbackUri"]) - # self.assertEqual(temp_uuid, response.data["id"]) + @mock.patch("requests.get") + @mock.patch.object(uuid, 'uuid4') + def test_subscribe_notification_simple(self, mock_uuid4, mock_requests): + temp_uuid = "99442b18-a5c7-11e8-998c-bf1755941f13" + dummy_subscription = { + "callbackUri": "http://aurl.com" + } + mock_requests.return_value.status_code = 204 + mock_requests.get.status_code = 204 + mock_uuid4.return_value = temp_uuid + response = self.client.post("/api/vnflcm/v1/subscriptions", data=dummy_subscription, format='json') + self.assertEqual(201, response.status_code) + self.assertEqual(dummy_subscription["callbackUri"], response.data["callbackUri"]) + self.assertEqual(temp_uuid, response.data["id"]) - # @mock.patch("requests.get") - # @mock.patch.object(uuid, 'uuid4') - # def test_subscribe_notification(self, mock_uuid4, mock_requests): - # temp_uuid = "99442b18-a5c7-11e8-998c-bf1755941f13" - # dummy_subscription = { - # "callbackUri": "http://aurl.com", - # "authentication": { - # "authType": ["BASIC"], - # "paramsBasic": { - # "username": "username", - # "password": "password" - # } - # }, - # "filter": { - # "notificationTypes": ["VnfLcmOperationOccurrenceNotification"], - # "operationTypes": [ - # "INSTANTIATE" - # ], - # "operationStates": [ - # "STARTING" - # ], - # } - # } - # mock_requests.return_value.status_code = 204 - # mock_requests.get.return_value.status_code = 204 - # mock_uuid4.return_value = temp_uuid - # response = self.client.post("/api/vnflcm/v1/subscriptions", data=dummy_subscription, format='json') - # self.assertEqual(201, response.status_code) - # self.assertEqual(dummy_subscription["callbackUri"], response.data["callbackUri"]) - # self.assertEqual(temp_uuid, response.data["id"]) + @mock.patch("requests.get") + @mock.patch.object(uuid, 'uuid4') + def test_subscribe_notification(self, mock_uuid4, mock_requests): + temp_uuid = "99442b18-a5c7-11e8-998c-bf1755941f13" + dummy_subscription = { + "callbackUri": "http://aurl.com", + "authentication": { + "authType": ["BASIC"], + "paramsBasic": { + "username": "username", + "password": "password" + } + }, + "filter": { + "notificationTypes": ["VnfLcmOperationOccurrenceNotification"], + "operationTypes": [ + "INSTANTIATE" + ], + "operationStates": [ + "STARTING" + ], + } + } + mock_requests.return_value.status_code = 204 + mock_requests.get.return_value.status_code = 204 + mock_uuid4.return_value = temp_uuid + response = self.client.post("/api/vnflcm/v1/subscriptions", data=dummy_subscription, format='json') + self.assertEqual(201, response.status_code) + self.assertEqual(dummy_subscription["callbackUri"], response.data["callbackUri"]) + self.assertEqual(temp_uuid, response.data["id"]) @mock.patch("requests.get") def test_invalid_auth_subscription(self, mock_requests): @@ -125,32 +125,32 @@ class TestSubscription(TestCase): self.assertEqual(500, response.status_code) self.assertEqual(expected_data, response.data) - # @mock.patch("requests.get") - # @mock.patch.object(uuid, 'uuid4') - # def test_duplicate_subscription(self, mock_uuid4, mock_requests): - # temp_uuid = str(uuid.uuid4()) - # dummy_subscription = { - # "callbackUri": "http://aurl.com", - # "filter": { - # "notificationTypes": ["VnfLcmOperationOccurrenceNotification"], - # "operationTypes": [ - # "INSTANTIATE" - # ], - # "operationStates": [ - # "STARTING" - # ] - # } - # } - # mock_requests.return_value.status_code = 204 - # mock_requests.get.return_value.status_code = 204 - # mock_uuid4.return_value = temp_uuid - # response = self.client.post("/api/vnflcm/v1/subscriptions", data=dummy_subscription, format='json') - # self.assertEqual(201, response.status_code) - # self.assertEqual(dummy_subscription["callbackUri"], response.data["callbackUri"]) - # self.assertEqual(temp_uuid, response.data["id"]) - # response = self.client.post("/api/vnflcm/v1/subscriptions", data=dummy_subscription, format='json') - # self.assertEqual(303, response.status_code) - # expected_data = { - # "error": "Already Subscription exists with the same callbackUri and filter" - # } - # self.assertEqual(expected_data, response.data) + @mock.patch("requests.get") + @mock.patch.object(uuid, 'uuid4') + def test_duplicate_subscription(self, mock_uuid4, mock_requests): + temp_uuid = str(uuid.uuid4()) + dummy_subscription = { + "callbackUri": "http://aurl.com", + "filter": { + "notificationTypes": ["VnfLcmOperationOccurrenceNotification"], + "operationTypes": [ + "INSTANTIATE" + ], + "operationStates": [ + "STARTING" + ] + } + } + mock_requests.return_value.status_code = 204 + mock_requests.get.return_value.status_code = 204 + mock_uuid4.return_value = temp_uuid + response = self.client.post("/api/vnflcm/v1/subscriptions", data=dummy_subscription, format='json') + self.assertEqual(201, response.status_code) + self.assertEqual(dummy_subscription["callbackUri"], response.data["callbackUri"]) + self.assertEqual(temp_uuid, response.data["id"]) + response = self.client.post("/api/vnflcm/v1/subscriptions", data=dummy_subscription, format='json') + self.assertEqual(303, response.status_code) + expected_data = { + "error": "Already Subscription exists with the same callbackUri and filter" + } + self.assertEqual(expected_data, response.data) -- cgit 1.2.3-korg