diff options
author | fujinhua <fu.jinhua@zte.com.cn> | 2019-04-28 11:51:51 +0800 |
---|---|---|
committer | fujinhua <fu.jinhua@zte.com.cn> | 2019-04-28 11:51:51 +0800 |
commit | b4159c4ce6a5fd66ba407fd3ed42daa25a839ffa (patch) | |
tree | 1bbe6dc24b73bda59b4bc2e72aa21175d77d2181 | |
parent | 1712c644de924290e35b7cd6109cdd3f2b584bb2 (diff) |
Add callback sample api
Change-Id: Ie0817c834512467704bbfaa244f738248bf3290b
Issue-ID: VFC-1306
Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
-rwxr-xr-x | catalog/packages/biz/vnf_pkg_subscription.py | 19 | ||||
-rw-r--r-- | catalog/samples/tests.py | 12 | ||||
-rw-r--r-- | catalog/samples/urls.py | 4 | ||||
-rw-r--r-- | catalog/samples/views.py | 9 |
4 files changed, 37 insertions, 7 deletions
diff --git a/catalog/packages/biz/vnf_pkg_subscription.py b/catalog/packages/biz/vnf_pkg_subscription.py index 3ab5235c..e0e6ff07 100755 --- a/catalog/packages/biz/vnf_pkg_subscription.py +++ b/catalog/packages/biz/vnf_pkg_subscription.py @@ -64,12 +64,17 @@ class CreateSubscription(object): "to %s" % self.callback_uri) try: response = requests.get(self.callback_uri, timeout=2) - if response.status_code not in (status.HTTP_204_NO_CONTENT, status.HTTP_200_OK): - raise VnfPkgSubscriptionException("callbackUri %s returns %s status " - "code." % (self.callback_uri, response.status_code)) + if response.status_code != status.HTTP_204_NO_CONTENT: + raise VnfPkgSubscriptionException( + "callbackUri %s returns %s status code." % ( + self.callback_uri, + response.status_code + ) + ) except Exception: - raise VnfPkgSubscriptionException("callbackUri %s didn't return 204 or 200 status" - "code." % self.callback_uri) + raise VnfPkgSubscriptionException( + "callbackUri %s didn't return 204 status code." % self.callback_uri + ) def do_biz(self): self.subscription_id = str(uuid.uuid4()) @@ -77,7 +82,9 @@ class CreateSubscription(object): self.check_valid_auth_info() self.check_valid() self.save_db() - subscription = VnfPkgSubscriptionModel.objects.get(subscription_id=self.subscription_id) + subscription = VnfPkgSubscriptionModel.objects.get( + subscription_id=self.subscription_id + ) if subscription: return subscription.toDict() diff --git a/catalog/samples/tests.py b/catalog/samples/tests.py index 9e4c0279..2be964a6 100644 --- a/catalog/samples/tests.py +++ b/catalog/samples/tests.py @@ -31,3 +31,15 @@ class SampleViewTest(unittest.TestCase): self.assertEqual(status.HTTP_200_OK, response.status_code, response.content) resp_data = json.loads(response.content) self.assertEqual({"status": "active"}, resp_data) + + +class CallbackSampleTest(unittest.TestCase): + def setUp(self): + self.client = Client() + + def tearDown(self): + pass + + def test_callback(self): + response = self.client.get("/api/catalog/v1/callback_sample") + self.assertEqual(status.HTTP_204_NO_CONTENT, response.status_code, response.content) diff --git a/catalog/samples/urls.py b/catalog/samples/urls.py index 9ab008a0..8e3483c3 100644 --- a/catalog/samples/urls.py +++ b/catalog/samples/urls.py @@ -17,4 +17,6 @@ from catalog.samples import views urlpatterns = [ url(r'^api/catalog/v1/mandb/(?P<modelName>[a-zA-Z\-]+)$', views.TablesList.as_view()), - url(r'^samples/$', views.SampleList.as_view()), ] + url(r'^api/catalog/v1/callback_sample$', views.CallbackSample.as_view()), + url(r'^samples/$', views.SampleList.as_view()) +] diff --git a/catalog/samples/views.py b/catalog/samples/views.py index 524280f3..006f0e51 100644 --- a/catalog/samples/views.py +++ b/catalog/samples/views.py @@ -31,6 +31,15 @@ class SampleList(APIView): return Response({"status": "active"}) +class CallbackSample(APIView): + """ + Callback Sample. + """ + def get(self, request, format=None): + logger.debug("Callback Sample") + return Response(data={}, status=status.HTTP_204_NO_CONTENT) + + class TablesList(APIView): def delete(self, request, modelName): logger.debug("Start delete model %s", modelName) |