aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfujinhua <fu.jinhua@zte.com.cn>2019-04-28 11:51:51 +0800
committerfujinhua <fu.jinhua@zte.com.cn>2019-04-28 11:51:51 +0800
commitb4159c4ce6a5fd66ba407fd3ed42daa25a839ffa (patch)
tree1bbe6dc24b73bda59b4bc2e72aa21175d77d2181
parent1712c644de924290e35b7cd6109cdd3f2b584bb2 (diff)
Add callback sample api
Change-Id: Ie0817c834512467704bbfaa244f738248bf3290b Issue-ID: VFC-1306 Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
-rwxr-xr-xcatalog/packages/biz/vnf_pkg_subscription.py19
-rw-r--r--catalog/samples/tests.py12
-rw-r--r--catalog/samples/urls.py4
-rw-r--r--catalog/samples/views.py9
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)