X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=lcm%2Flcm%2Fnf%2Ftests%2Ftest_subscribe_notification.py;h=70a309b8545e89d24a8235b8d4ad4d6dd0042328;hb=f7f380ab656da359a3e3f9cf34982e5e86a93289;hp=66389a5296359c3299d130076b61dd1989e5b734;hpb=1d3f6ac2d988b7b5b41062c44d0869fedc248c6c;p=vfc%2Fgvnfm%2Fvnflcm.git diff --git a/lcm/lcm/nf/tests/test_subscribe_notification.py b/lcm/lcm/nf/tests/test_subscribe_notification.py index 66389a52..70a309b8 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): @@ -95,7 +95,8 @@ class TestSubscription(TestCase): mock_requests.return_value.status_code = 204 mock_requests.get.return_value.status_code = 204 expected_data = { - 'error': 'Auth type should be BASIC' + 'detail': 'Auth type should be BASIC', + 'status': 500 } response = self.client.post("/api/vnflcm/v1/subscriptions", data=dummy_subscription, format='json') self.assertEqual(500, response.status_code) @@ -118,39 +119,58 @@ class TestSubscription(TestCase): mock_requests.return_value.status_code = 204 mock_requests.get.return_value.status_code = 204 expected_data = { - 'error': 'If you are setting operationTypes,then ' + - 'notificationTypes must be VnfLcmOperationOccurrenceNotification' + 'detail': 'If you are setting operationTypes,then ' + + 'notificationTypes must be VnfLcmOperationOccurrenceNotification', + 'status': 500 } response = self.client.post("/api/vnflcm/v1/subscriptions", data=dummy_subscription, format='json') 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) + + @mock.patch("requests.get") + @mock.patch.object(uuid, 'uuid4') + def test_badreq_subscription(self, mock_uuid4, mock_requests): + temp_uuid = str(uuid.uuid4()) + miss_callbackUri_subscription = { + "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=miss_callbackUri_subscription, format='json') + self.assertEqual(400, response.status_code) + self.assertEqual({'callbackUri': ['This field is required.']}, response.data['detail'])