X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=catalog%2Fpackages%2Ftests%2Ftest_nsdm_subscription.py;h=61c8ce6cabab065acc83852f8f88559c1a5811d5;hb=246df561b466d1202a40ece1c133a4bf70ab958f;hp=e5e2b830de58a57560be1d442e491dd68aa1c517;hpb=0eaa773364c415f946860fef6f69f1fcda414178;p=modeling%2Fetsicatalog.git diff --git a/catalog/packages/tests/test_nsdm_subscription.py b/catalog/packages/tests/test_nsdm_subscription.py index e5e2b83..61c8ce6 100644 --- a/catalog/packages/tests/test_nsdm_subscription.py +++ b/catalog/packages/tests/test_nsdm_subscription.py @@ -29,12 +29,11 @@ from catalog.pub.config import config as pub_config import catalog.pub.utils.timeutil from catalog.packages.tests.const import nsd_data from catalog.pub.database.models import NSPackageModel, VnfPackageModel, PnfPackageModel -from catalog.pub.config.config import CATALOG_ROOT_PATH +from catalog.pub.config.config import CATALOG_ROOT_PATH, MSB_BASE_URL from catalog.pub.utils import toscaparser class TestNsdmSubscription(TestCase): - def setUp(self): self.client = APIClient() NsdmSubscriptionModel.objects.all().delete() @@ -149,7 +148,7 @@ class TestNsdmSubscription(TestCase): response.data["callbackUri"]) @mock.patch("requests.get") - def test_nsdm_duplicate_subscription(self, mock_requests): + def test_nsdm_duplicate_filter_or_callbackuri_subscription(self, mock_requests): mock_requests.return_value.status_code = 204 mock_requests.get.return_value.status_code = 204 response = self.client.post("/api/nsd/v1/subscriptions", @@ -157,15 +156,32 @@ class TestNsdmSubscription(TestCase): self.assertEqual(201, response.status_code) self.assertEqual(self.subscription["callbackUri"], response.data["callbackUri"]) - expected_data = { - 'status': 303, - 'detail': 'Subscription has already existed with' - ' the same callbackUri and filter' - } + newsub1 = self.subscription + newsub1["callbackUri"] = "http://newcallbackuri.com" + response = self.client.post("/api/nsd/v1/subscriptions", + data=newsub1, format='json') + self.assertEqual(201, response.status_code) + newsub2 = self.subscription + newsub2["filter"]["nsdName"] = ["aaa"] + response = self.client.post("/api/nsd/v1/subscriptions", + data=newsub2, format='json') + self.assertEqual(201, response.status_code) + + @mock.patch("requests.get") + def test_nsdm_duplicate_callbackuri_filter_subscription(self, mock_requests): + mock_requests.return_value.status_code = 204 + mock_requests.get.return_value.status_code = 204 + response = self.client.post("/api/nsd/v1/subscriptions", + data=self.subscription, format='json') + self.assertEqual(201, response.status_code) + self.assertEqual(self.subscription["callbackUri"], + response.data["callbackUri"]) + subscriptionid = response.data["id"] response = self.client.post("/api/nsd/v1/subscriptions", data=self.subscription, format='json') self.assertEqual(303, response.status_code) - self.assertEqual(expected_data, response.data) + redirect_addr = "%s/%s" % (MSB_BASE_URL, os.path.join(const.NSDM_SUBSCRIPTION_ROOT_URI, subscriptionid)) + self.assertEqual(redirect_addr, response["Location"]) @mock.patch("requests.get") def test_nsdm_bad_request(self, mock_requests): @@ -466,7 +482,7 @@ class TestNsdmSubscription(TestCase): expected_data = { "status": 404, "detail": "Subscription(" + self.subscription_id + ") " - "doesn't exist" + "doesn't exist" } response = self.client.get('/api/nsd/v1/' 'subscriptions/' + self.subscription_id, @@ -608,24 +624,21 @@ class TestNsdmSubscription(TestCase): 'timeStamp': "nowtime()", 'nsdInfoId': "d0ea5ec3-0b98-438a-9bea-488230cff174", 'nsdId': "b632bddc-bccd-4180-bd8d-4e8a9578eff7", - "subscriptionId": "1111", '_links': { - 'subscription': { - 'href': 'http://%s:%s/%s%s' % (pub_config.MSB_SERVICE_IP, - pub_config.MSB_SERVICE_PORT, - const.NSDM_SUBSCRIPTION_ROOT_URI, - "1111")}, 'nsdInfo': { - 'href': 'http://%s:%s/%s/ns_descriptors/%s' % (pub_config.MSB_SERVICE_IP, - pub_config.MSB_SERVICE_PORT, - const.NSD_URL_PREFIX, - "d0ea5ec3-0b98-438a-9bea-488230cff174") - } - } + 'href': '%s/%s/ns_descriptors/%s' % (pub_config.MSB_BASE_URL, const.NSD_URL_PREFIX, "d0ea5ec3-0b98-438a-9bea-488230cff174")}, + 'subscription': { + 'href': '%s/%s%s' % (pub_config.MSB_BASE_URL, const.NSDM_SUBSCRIPTION_ROOT_URI, "1111")} + + }, + "subscriptionId": "1111" } - mock_requests_post.assert_called_with(expect_callbackuri, data=expect_notification, + mock_requests_post.assert_called_with(expect_callbackuri, data=json.dumps(expect_notification), auth=HTTPBasicAuth("username", "password"), - headers={'Connection': 'close'}) + headers={'Connection': 'close', + 'content-type': 'application/json', + 'accept': 'application/json'}, + verify=False) class NotificationTest(TestCase): @@ -660,23 +673,23 @@ class NotificationTest(TestCase): 'timeStamp': "nowtime()", 'nsdInfoId': "nsdinfoid1", 'nsdId': "nsdid1", - 'onboardingFailureDetails': "NSD(nsdid1) already exists.", - "subscriptionId": "1", '_links': { - 'subscription': { - 'href': 'http://%s:%s/%s%s' % (pub_config.MSB_SERVICE_IP, - pub_config.MSB_SERVICE_PORT, - const.NSDM_SUBSCRIPTION_ROOT_URI, - "1")}, 'nsdInfo': { - 'href': 'http://%s:%s/%s/ns_descriptors/%s' % (pub_config.MSB_SERVICE_IP, - pub_config.MSB_SERVICE_PORT, - const.NSD_URL_PREFIX, - "nsdinfoid1") - } - } + 'href': '%s/%s/ns_descriptors/%s' % (pub_config.MSB_BASE_URL, const.NSD_URL_PREFIX, "nsdinfoid1") + }, + 'subscription': { + 'href': '%s/%s%s' % (pub_config.MSB_BASE_URL, const.NSDM_SUBSCRIPTION_ROOT_URI, "1")} + }, + 'onboardingFailureDetails': "NSD(nsdid1) already exists.", + "subscriptionId": "1" } - mock_requests_post.assert_called_with(expect_callbackuri, data=expect_notification, headers={'Connection': 'close'}) + mock_requests_post.assert_called_with(expect_callbackuri, + data=json.dumps(expect_notification), + headers={'Connection': 'close', + 'content-type': 'application/json', + 'accept': 'application/json'}, + verify=False + ) @mock.patch("requests.post") @mock.patch("uuid.uuid4") @@ -696,20 +709,17 @@ class NotificationTest(TestCase): 'timeStamp': "nowtime()", 'pnfdInfoIds': "pnfdInfoIds1", 'pnfdId': "pnfdId1", - "subscriptionId": "1", '_links': { - 'subscription': { - 'href': 'http://%s:%s/%s%s' % (pub_config.MSB_SERVICE_IP, - pub_config.MSB_SERVICE_PORT, - const.NSDM_SUBSCRIPTION_ROOT_URI, - "1")}, 'pnfdInfo': { - 'href': 'http://%s:%s/%s/pnf_descriptors/%s' % (pub_config.MSB_SERVICE_IP, - pub_config.MSB_SERVICE_PORT, - const.NSD_URL_PREFIX, - "pnfdInfoIds1") - } - } + 'href': '%s/%s/pnf_descriptors/%s' % (pub_config.MSB_BASE_URL, const.NSD_URL_PREFIX, "pnfdInfoIds1") + }, + 'subscription': { + 'href': '%s/%s%s' % (pub_config.MSB_BASE_URL, const.NSDM_SUBSCRIPTION_ROOT_URI, "1")}, + }, + "subscriptionId": "1", } - mock_requests_post.assert_called_with(expect_callbackuri, data=expect_notification, - headers={'Connection': 'close'}) + mock_requests_post.assert_called_with(expect_callbackuri, data=json.dumps(expect_notification), + headers={'Connection': 'close', + 'content-type': 'application/json', + 'accept': 'application/json'}, + verify=False)