aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhongyuzhao <zhao.hongyu@zte.com.cn>2019-12-14 13:29:36 +0800
committerhongyuzhao <zhao.hongyu@zte.com.cn>2019-12-14 13:56:40 +0800
commit0409420992ea31df6cbaa28e5cbd0ff6ecd03b36 (patch)
treee3fc8e4618c2dd4895d8130b679d27605a660e85
parent5f632e314dcb48bcf30596ef2a2c0af60e836c3c (diff)
Modify notification endpoint interface definition in swagger
Change-Id: I4e31d2ad533a5971e748931240e4eac9e43ed96d Issue-ID: MODELING-288 Signed-off-by: hongyuzhao <zhao.hongyu@zte.com.cn>
-rw-r--r--catalog/packages/biz/notificationsutil.py8
-rw-r--r--catalog/packages/biz/vnf_pkg_subscription.py2
-rw-r--r--catalog/packages/serializers/vnf_pkg_notifications.py3
-rw-r--r--catalog/packages/tests/const.py4
-rw-r--r--catalog/packages/tests/test_vnf_pkg_subscription.py2
-rw-r--r--catalog/packages/urls.py2
6 files changed, 12 insertions, 9 deletions
diff --git a/catalog/packages/biz/notificationsutil.py b/catalog/packages/biz/notificationsutil.py
index 4fa8e79..8a653b4 100644
--- a/catalog/packages/biz/notificationsutil.py
+++ b/catalog/packages/biz/notificationsutil.py
@@ -25,6 +25,7 @@ from catalog.pub.config import config as pub_config
import traceback
from django.db.models import Q
+
logger = logging.getLogger(__name__)
@@ -108,8 +109,6 @@ def prepare_vnfpkg_notification(vnf_pkg_id, notification_type, pkg_change_type,
'timeStamp': catalog.pub.utils.timeutil.now_time(),
'vnfPkgId': vnf_pkg_id,
'vnfdId': vnfd_id,
- 'changeType': pkg_change_type,
- 'operationalState': operational_state,
'_links': {
'vnfPackage': {
'href': 'http://%s:%s/%s/vnf_packages/%s' % (pub_config.MSB_SERVICE_IP,
@@ -119,6 +118,11 @@ def prepare_vnfpkg_notification(vnf_pkg_id, notification_type, pkg_change_type,
}
}
}
+
+ if notification_type == "VnfPackageChangeNotification":
+ notification_content['changeType'] = pkg_change_type
+ notification_content['operationalState'] = operational_state
+
return notification_content
diff --git a/catalog/packages/biz/vnf_pkg_subscription.py b/catalog/packages/biz/vnf_pkg_subscription.py
index 29ef92e..69ce2e8 100644
--- a/catalog/packages/biz/vnf_pkg_subscription.py
+++ b/catalog/packages/biz/vnf_pkg_subscription.py
@@ -57,7 +57,7 @@ class CreateSubscription(object):
self.vnfd_id = ignore_case_get(self.filter, "vnfdId", [])
self.vnf_pkg_id = ignore_case_get(self.filter, "vnfPkgId", [])
self.vnf_products_from_provider = \
- ignore_case_get(self.filter, "vnfProductsFromProviders", {})
+ ignore_case_get(self.filter, "vnfProductsFromProviders", [])
def check_callbackuri_connection(self):
logger.debug("SubscribeNotification-post::> Sending GET request "
diff --git a/catalog/packages/serializers/vnf_pkg_notifications.py b/catalog/packages/serializers/vnf_pkg_notifications.py
index 0c1b395..2a73aa3 100644
--- a/catalog/packages/serializers/vnf_pkg_notifications.py
+++ b/catalog/packages/serializers/vnf_pkg_notifications.py
@@ -77,7 +77,8 @@ class PkgmNotificationsFilter(serializers.Serializer):
allow_null=False,
required=False
)
- vnfProductsFromProviders = vnfProductsProvidersSerializer(
+ vnfProductsFromProviders = serializers.ListField(
+ child=vnfProductsProvidersSerializer(),
help_text="Match VNF packages that contain "
"VNF products from certain providers.",
allow_null=False,
diff --git a/catalog/packages/tests/const.py b/catalog/packages/tests/const.py
index 233f3ee..a67dbef 100644
--- a/catalog/packages/tests/const.py
+++ b/catalog/packages/tests/const.py
@@ -559,7 +559,7 @@ vnf_subscription_data = {
"notificationTypes": [
"VnfPackageOnboardingNotification"
],
- "vnfProductsFromProviders": {
+ "vnfProductsFromProviders": [{
"vnfProvider": "string",
"vnfProducts": {
"vnfProductName": "string",
@@ -570,7 +570,7 @@ vnf_subscription_data = {
]
}
}
- },
+ }],
"vnfdId": [
"00342b18-a5c7-11e8-998c-bf1755941f12"
],
diff --git a/catalog/packages/tests/test_vnf_pkg_subscription.py b/catalog/packages/tests/test_vnf_pkg_subscription.py
index e78e1ca..f00e2ac 100644
--- a/catalog/packages/tests/test_vnf_pkg_subscription.py
+++ b/catalog/packages/tests/test_vnf_pkg_subscription.py
@@ -229,8 +229,6 @@ class TestNfPackageSubscription(TestCase):
'timeStamp': "nowtime()",
'vnfPkgId': uuid_vnfPackageId,
'vnfdId': uuid_vnfdid,
- 'changeType': const.PKG_CHANGE_TYPE.OP_STATE_CHANGE,
- 'operationalState': None,
"subscriptionId": uuid_subscriptid,
'_links': {
'subscription': {
diff --git a/catalog/packages/urls.py b/catalog/packages/urls.py
index 26a5fa9..410df80 100644
--- a/catalog/packages/urls.py
+++ b/catalog/packages/urls.py
@@ -62,7 +62,7 @@ urlpatterns = [
url(r'^api/vnfpkgm/v1/subscriptions/(?P<subscriptionId>[0-9a-zA-Z\-\_]+)$', QueryTerminateSubscriptionView.as_view(), name='subscriptions_query_terminate'),
url(r'^api/vnfpkgm/v1/vnf_packages/(?P<vnfPkgId>[0-9a-zA-Z\-\_]+)/artifacts/(?P<artifactPath>[0-9a-zA-Z\-\_]+)$', FetchVnfPkgmArtifactsView.as_view(), name="fetch_vnf_artifacts"),
url(r'^URI-is-provided-by-the-client-when-creating-the-subscription-VnfPackageOnboardingNotification$', PkgOnboardingNotificationView.as_view()),
- url(r'^URI-is-provided-by-the-client-when-creating-the-sbuscription-VnfPackageChangeNotification$', PkgChangeNotificationView.as_view()),
+ url(r'^URI-is-provided-by-the-client-when-creating-the-subscription-VnfPackageChangeNotification$', PkgChangeNotificationView.as_view()),
# health check
url(r'^api/vnfpkgm/v1/health_check$', HealthCheckView.as_view()),