aboutsummaryrefslogtreecommitdiffstats
path: root/genericparser/packages
diff options
context:
space:
mode:
Diffstat (limited to 'genericparser/packages')
-rw-r--r--genericparser/packages/biz/nsdm_subscription.py24
-rw-r--r--genericparser/packages/biz/pnf_descriptor.py6
-rw-r--r--genericparser/packages/biz/sdc_ns_package.py14
-rw-r--r--genericparser/packages/biz/sdc_service_package.py4
-rw-r--r--genericparser/packages/biz/sdc_vnf_package.py22
-rw-r--r--genericparser/packages/biz/vnf_package.py11
-rw-r--r--genericparser/packages/biz/vnf_pkg_artifacts.py2
-rw-r--r--genericparser/packages/biz/vnf_pkg_subscription.py2
-rw-r--r--genericparser/packages/serializers/nsd_info.py4
-rw-r--r--genericparser/packages/serializers/nsd_infos.py2
-rw-r--r--genericparser/packages/serializers/nsdm_subscription.py6
-rw-r--r--genericparser/packages/serializers/pnfd_info.py4
-rw-r--r--genericparser/packages/serializers/pnfd_infos.py2
-rw-r--r--genericparser/packages/serializers/vnf_pkg_artifact_info.py2
-rw-r--r--genericparser/packages/serializers/vnf_pkg_info.py8
-rw-r--r--genericparser/packages/serializers/vnf_pkg_infos.py2
-rw-r--r--genericparser/packages/serializers/vnf_pkg_software_image_info.py2
-rw-r--r--genericparser/packages/tests/test_ns_descriptor.py20
-rw-r--r--genericparser/packages/tests/test_nsdm_subscription.py4
-rw-r--r--genericparser/packages/tests/test_pnf_descriptor.py18
-rw-r--r--genericparser/packages/tests/test_service_descriptor.py2
-rw-r--r--genericparser/packages/tests/test_servicepackage.py12
-rw-r--r--genericparser/packages/tests/test_vnf_package.py24
-rw-r--r--genericparser/packages/views/catalog_views.py18
-rw-r--r--genericparser/packages/views/common.py38
-rw-r--r--genericparser/packages/views/nsdm_subscription_views.py6
26 files changed, 130 insertions, 129 deletions
diff --git a/genericparser/packages/biz/nsdm_subscription.py b/genericparser/packages/biz/nsdm_subscription.py
index 9bfe5aa..dfcd2ec 100644
--- a/genericparser/packages/biz/nsdm_subscription.py
+++ b/genericparser/packages/biz/nsdm_subscription.py
@@ -73,7 +73,7 @@ class NsdmSubscription:
query_data = {}
logger.debug("Start QueryMultiSubscriptions get --> "
"Check for filters in query params" % self.params)
- for query, value in self.params.iteritems():
+ for query, value in list(self.params.items()):
if query in const.NSDM_NOTIFICATION_FILTERS and value:
query_data[query + '__icontains'] = json.dumps(list(set(value)))
# Query the database with filters if the request
@@ -103,8 +103,9 @@ class NsdmSubscription:
def fill_resp_data(self, subscription):
subscription_filter = dict()
for filter_type in const.NSDM_NOTIFICATION_FILTERS:
- subscription_filter[filter_type] = \
- ast.literal_eval(subscription.__dict__[filter_type])
+ if subscription.__dict__[filter_type]:
+ subscription_filter[filter_type] = \
+ ast.literal_eval(subscription.__dict__[filter_type])
resp_data = {
'id': subscription.subscriptionid,
'callbackUri': subscription.callback_uri,
@@ -156,17 +157,17 @@ class NsdmSubscription:
raise NsdmBadRequestException('Auth type should '
'be ' + const.OAUTH2_CLIENT_CREDENTIALS)
if const.BASIC in self.authentication.get("authType", '') and \
- "paramsBasic" in self.authentication.keys() and \
- not is_filter_type_equal(PARAMSBASICKEYS,
- self.authentication.get("paramsBasic").keys()):
+ "paramsBasic" in list(self.authentication.keys()) and \
+ not is_filter_type_equal(PARAMSBASICKEYS, list(
+ self.authentication.get("paramsBasic").keys())):
raise NsdmBadRequestException('userName and password needed '
'for ' + const.BASIC)
if const.OAUTH2_CLIENT_CREDENTIALS in \
self.authentication.get("authType", '') and \
"paramsOauth2ClientCredentials" in \
- self.authentication.keys() and \
- not is_filter_type_equal(PARAMSOAUTH2CLIENTCREDENTIALSKEYS,
- self.authentication.get("paramsOauth2ClientCredentials").keys()):
+ list(self.authentication.keys()) and \
+ not is_filter_type_equal(PARAMSOAUTH2CLIENTCREDENTIALSKEYS, list(
+ self.authentication.get("paramsOauth2ClientCredentials").keys())):
raise NsdmBadRequestException('clientId, clientPassword and '
'tokenEndpoint required '
'for ' + const.OAUTH2_CLIENT_CREDENTIALS)
@@ -210,7 +211,8 @@ class NsdmSubscription:
"links": json.dumps(links)
}
for filter_type in const.NSDM_NOTIFICATION_FILTERS:
- subscription_save_db[filter_type] = json.dumps(
- list(set(self.filter.get(filter_type, []))))
+ if self.filter:
+ subscription_save_db[filter_type] = json.dumps(
+ list(set(self.filter.get(filter_type, []))))
NsdmSubscriptionModel.objects.create(**subscription_save_db)
logger.debug('Create Subscription[%s] success', self.subscription_id)
diff --git a/genericparser/packages/biz/pnf_descriptor.py b/genericparser/packages/biz/pnf_descriptor.py
index d29a2ad..561c8fa 100644
--- a/genericparser/packages/biz/pnf_descriptor.py
+++ b/genericparser/packages/biz/pnf_descriptor.py
@@ -221,8 +221,8 @@ class PnfDescriptor(object):
csar_path = pnf_pkg[0].localFilePath
ret = {"model": toscaparsers.parse_pnfd(csar_path, inputs)}
except GenericparserException as e:
- return [1, e.message]
+ return [1, e.args[0]]
except Exception as e:
- logger.error(e.message)
- return [1, e.message]
+ logger.error(e.args[0])
+ return [1, e.args[0]]
return [0, ret]
diff --git a/genericparser/packages/biz/sdc_ns_package.py b/genericparser/packages/biz/sdc_ns_package.py
index 42346ff..63a077f 100644
--- a/genericparser/packages/biz/sdc_ns_package.py
+++ b/genericparser/packages/biz/sdc_ns_package.py
@@ -43,7 +43,7 @@ def ns_on_distribute(csar_id):
ret = NsPackage().on_distribute(csar_id)
except GenericparserException as e:
NsPackage().delete_csar(csar_id)
- return fmt_ns_pkg_rsp(STATUS_FAILED, e.message)
+ return fmt_ns_pkg_rsp(STATUS_FAILED, e.args[0])
except:
logger.error(traceback.format_exc())
NsPackage().delete_csar(csar_id)
@@ -58,7 +58,7 @@ def ns_delete_csar(csar_id):
try:
ret = NsPackage().delete_csar(csar_id)
except GenericparserException as e:
- return fmt_ns_pkg_rsp(STATUS_FAILED, e.message)
+ return fmt_ns_pkg_rsp(STATUS_FAILED, e.args[0])
except:
logger.error(traceback.format_exc())
return fmt_ns_pkg_rsp(STATUS_FAILED, str(sys.exc_info()))
@@ -70,7 +70,7 @@ def ns_get_csars():
try:
ret = NsPackage().get_csars()
except GenericparserException as e:
- return [1, e.message]
+ return [1, e.args[0]]
except:
logger.error(traceback.format_exc())
return [1, str(sys.exc_info())]
@@ -82,9 +82,9 @@ def ns_get_csar(csar_id):
try:
ret = NsPackage().get_csar(csar_id)
except GenericparserException as e:
- return [1, e.message]
+ return [1, e.args[0]]
except Exception as e:
- logger.error(e.message)
+ logger.error(e.args[0])
logger.error(traceback.format_exc())
return [1, str(sys.exc_info())]
return ret
@@ -99,9 +99,9 @@ def parse_nsd(csar_id, inputs):
csar_path = ns_pkg[0].localFilePath
ret = {"model": toscaparsers.parse_nsd(csar_path, inputs)}
except GenericparserException as e:
- return [1, e.message]
+ return [1, e.args[0]]
except Exception as e:
- logger.error(e.message)
+ logger.error(e.args[0])
logger.error(traceback.format_exc())
return [1, str(sys.exc_info())]
return [0, ret]
diff --git a/genericparser/packages/biz/sdc_service_package.py b/genericparser/packages/biz/sdc_service_package.py
index 0390b5c..281dd17 100644
--- a/genericparser/packages/biz/sdc_service_package.py
+++ b/genericparser/packages/biz/sdc_service_package.py
@@ -106,9 +106,9 @@ class ServicePackage(object):
ret = {"model": toscaparsers.parse_sd(csar_path, inputs)}
return ret
except GenericparserException as e:
- logger.error(e.message)
+ logger.error(e.args[0])
raise e
except Exception as e:
- logger.error(e.message)
+ logger.error(e.args[0])
logger.error(traceback.format_exc())
raise e
diff --git a/genericparser/packages/biz/sdc_vnf_package.py b/genericparser/packages/biz/sdc_vnf_package.py
index 5028709..3a271b7 100644
--- a/genericparser/packages/biz/sdc_vnf_package.py
+++ b/genericparser/packages/biz/sdc_vnf_package.py
@@ -39,9 +39,9 @@ def nf_get_csars():
try:
ret = NfPackage().get_csars()
except GenericparserException as e:
- return [1, e.message]
+ return [1, e.args[0]]
except Exception as e:
- logger.error(e.message)
+ logger.error(e.args[0])
logger.error(traceback.format_exc())
return [1, str(sys.exc_info())]
return ret
@@ -52,9 +52,9 @@ def nf_get_csar(csar_id):
try:
ret = NfPackage().get_csar(csar_id)
except GenericparserException as e:
- return [1, e.message]
+ return [1, e.args[0]]
except Exception as e:
- logger.error(e.message)
+ logger.error(e.args[0])
logger.error(traceback.format_exc())
return [1, str(sys.exc_info())]
return ret
@@ -69,9 +69,9 @@ def parse_vnfd(csar_id, inputs):
csar_path = nf_pkg[0].localFilePath
ret = {"model": toscaparsers.parse_vnfd(csar_path, inputs)}
except GenericparserException as e:
- return [1, e.message]
+ return [1, e.args[0]]
except Exception as e:
- logger.error(e.message)
+ logger.error(e.args[0])
logger.error(traceback.format_exc())
return [1, str(sys.exc_info())]
return [0, ret]
@@ -96,9 +96,9 @@ class NfDistributeThread(threading.Thread):
self.on_distribute()
except GenericparserException as e:
self.rollback_distribute()
- JobUtil.add_job_status(self.job_id, JOB_ERROR, e.message)
+ JobUtil.add_job_status(self.job_id, JOB_ERROR, e.args[0])
except Exception as e:
- logger.error(e.message)
+ logger.error(e.args[0])
logger.error(traceback.format_exc())
logger.error(str(sys.exc_info()))
self.rollback_distribute()
@@ -162,7 +162,7 @@ class NfDistributeThread(threading.Thread):
VnfPackageModel.objects.filter(vnfPackageId=self.csar_id).delete()
fileutil.delete_dirs(self.csar_save_path)
except Exception as e:
- logger.error(e.message)
+ logger.error(e.args[0])
logger.error(traceback.format_exc())
logger.error(str(sys.exc_info()))
@@ -181,9 +181,9 @@ class NfPkgDeleteThread(threading.Thread):
try:
self.delete_csar()
except GenericparserException as e:
- JobUtil.add_job_status(self.job_id, JOB_ERROR, e.message)
+ JobUtil.add_job_status(self.job_id, JOB_ERROR, e.args[0])
except Exception as e:
- logger.error(e.message)
+ logger.error(e.args[0])
logger.error(traceback.format_exc())
logger.error(str(sys.exc_info()))
JobUtil.add_job_status(self.job_id, JOB_ERROR, "Failed to delete CSAR(%s)" % self.csar_id)
diff --git a/genericparser/packages/biz/vnf_package.py b/genericparser/packages/biz/vnf_package.py
index 7186082..cf67a76 100644
--- a/genericparser/packages/biz/vnf_package.py
+++ b/genericparser/packages/biz/vnf_package.py
@@ -18,7 +18,7 @@ import os
import sys
import threading
import traceback
-import urllib2
+import urllib
import uuid
from genericparser.packages.biz.common import parse_file_range, read, save
@@ -139,9 +139,9 @@ class VnfPkgUploadThread(threading.Thread):
self.upload_vnf_pkg_from_uri()
parse_vnfd_and_save(self.vnf_pkg_id, self.upload_file_name)
except GenericparserException as e:
- logger.error(e.message)
+ logger.error(e.args[0])
except Exception as e:
- logger.error(e.message)
+ logger.error(e.args[0])
logger.error(traceback.format_exc())
logger.error(str(sys.exc_info()))
@@ -154,14 +154,13 @@ class VnfPkgUploadThread(threading.Thread):
vnf_pkg.update(onboardingState=PKG_STATUS.UPLOADING)
uri = ignore_case_get(self.data, "addressInformation")
- request = urllib2.Request(uri)
- response = urllib2.urlopen(request)
+ response = urllib.request.urlopen(uri)
local_file_dir = os.path.join(GENERICPARSER_ROOT_PATH, self.vnf_pkg_id)
self.upload_file_name = os.path.join(local_file_dir, os.path.basename(uri))
if not os.path.exists(local_file_dir):
fileutil.make_dirs(local_file_dir)
- with open(self.upload_file_name, "wb") as local_file:
+ with open(self.upload_file_name, "wt") as local_file:
local_file.write(response.read())
response.close()
logger.info('VNF packge(%s) has been uploaded.' % self.vnf_pkg_id)
diff --git a/genericparser/packages/biz/vnf_pkg_artifacts.py b/genericparser/packages/biz/vnf_pkg_artifacts.py
index 3a54f02..0cec274 100644
--- a/genericparser/packages/biz/vnf_pkg_artifacts.py
+++ b/genericparser/packages/biz/vnf_pkg_artifacts.py
@@ -36,7 +36,7 @@ class FetchVnfPkgArtifact(object):
artifact_path = fileutil.get_artifact_path(vnf_extract_path, artifactPath)
if not artifact_path:
raise ArtifactNotFoundException("Couldn't artifact %s" % artifactPath)
- with open(artifact_path, 'rb') as f:
+ with open(artifact_path, 'rt') as f:
file_content = f.read()
else:
raise ArtifactNotFoundException("NF Package format is not csar or zip")
diff --git a/genericparser/packages/biz/vnf_pkg_subscription.py b/genericparser/packages/biz/vnf_pkg_subscription.py
index 29f202f..8da82ad 100644
--- a/genericparser/packages/biz/vnf_pkg_subscription.py
+++ b/genericparser/packages/biz/vnf_pkg_subscription.py
@@ -152,7 +152,7 @@ class QuerySubscription(object):
query_data = {}
logger.debug("QuerySubscription--get--multi--subscriptions--biz::> Check "
"for filters in query params %s" % params)
- for query, value in params.iteritems():
+ for query, value in list(params.items()):
if query in ROOT_FILTERS:
query_data[ROOT_FILTERS[query] + '__icontains'] = value
# Query the database with filters if the request has fields in request params, else fetch all records
diff --git a/genericparser/packages/serializers/nsd_info.py b/genericparser/packages/serializers/nsd_info.py
index 2206f46..9450582 100644
--- a/genericparser/packages/serializers/nsd_info.py
+++ b/genericparser/packages/serializers/nsd_info.py
@@ -13,8 +13,8 @@
# limitations under the License.
from rest_framework import serializers
-from problem_details import ProblemDetailsSerializer
-from link import LinkSerializer
+from .problem_details import ProblemDetailsSerializer
+from .link import LinkSerializer
class _LinkSerializer(serializers.Serializer):
diff --git a/genericparser/packages/serializers/nsd_infos.py b/genericparser/packages/serializers/nsd_infos.py
index f8ad029..d63c332 100644
--- a/genericparser/packages/serializers/nsd_infos.py
+++ b/genericparser/packages/serializers/nsd_infos.py
@@ -13,7 +13,7 @@
# limitations under the License.
from rest_framework import serializers
-from nsd_info import NsdInfoSerializer
+from .nsd_info import NsdInfoSerializer
class NsdInfosSerializer(serializers.ListSerializer):
diff --git a/genericparser/packages/serializers/nsdm_subscription.py b/genericparser/packages/serializers/nsdm_subscription.py
index dabd606..87aa48d 100644
--- a/genericparser/packages/serializers/nsdm_subscription.py
+++ b/genericparser/packages/serializers/nsdm_subscription.py
@@ -14,9 +14,9 @@
from rest_framework import serializers
-from link import LinkSerializer
-from subscription_auth_data import SubscriptionAuthenticationSerializer
-from nsdm_filter_data import NsdmNotificationsFilter
+from .link import LinkSerializer
+from .subscription_auth_data import SubscriptionAuthenticationSerializer
+from .nsdm_filter_data import NsdmNotificationsFilter
class NsdmSubscriptionLinkSerializer(serializers.Serializer):
diff --git a/genericparser/packages/serializers/pnfd_info.py b/genericparser/packages/serializers/pnfd_info.py
index c49ce38..f9f4b6b 100644
--- a/genericparser/packages/serializers/pnfd_info.py
+++ b/genericparser/packages/serializers/pnfd_info.py
@@ -13,8 +13,8 @@
# limitations under the License.
from rest_framework import serializers
-from problem_details import ProblemDetailsSerializer
-from link import LinkSerializer
+from .problem_details import ProblemDetailsSerializer
+from .link import LinkSerializer
class _LinkSerializer(serializers.Serializer):
diff --git a/genericparser/packages/serializers/pnfd_infos.py b/genericparser/packages/serializers/pnfd_infos.py
index 4509fc2..0874c9e 100644
--- a/genericparser/packages/serializers/pnfd_infos.py
+++ b/genericparser/packages/serializers/pnfd_infos.py
@@ -13,7 +13,7 @@
# limitations under the License.
from rest_framework import serializers
-from pnfd_info import PnfdInfoSerializer
+from .pnfd_info import PnfdInfoSerializer
class PnfdInfosSerializer(serializers.ListSerializer):
diff --git a/genericparser/packages/serializers/vnf_pkg_artifact_info.py b/genericparser/packages/serializers/vnf_pkg_artifact_info.py
index d5592ec..c63b3c2 100644
--- a/genericparser/packages/serializers/vnf_pkg_artifact_info.py
+++ b/genericparser/packages/serializers/vnf_pkg_artifact_info.py
@@ -13,7 +13,7 @@
# limitations under the License.
from rest_framework import serializers
-from checksum import ChecksumSerializer
+from .checksum import ChecksumSerializer
class VnfPackageArtifactInfoSerializer(serializers.Serializer):
diff --git a/genericparser/packages/serializers/vnf_pkg_info.py b/genericparser/packages/serializers/vnf_pkg_info.py
index 0251bed..3fa4b17 100644
--- a/genericparser/packages/serializers/vnf_pkg_info.py
+++ b/genericparser/packages/serializers/vnf_pkg_info.py
@@ -13,10 +13,10 @@
# limitations under the License.
from rest_framework import serializers
-from checksum import ChecksumSerializer
-from vnf_pkg_software_image_info import VnfPackageSoftwareImageInfoSerializer
-from vnf_pkg_artifact_info import VnfPackageArtifactInfoSerializer
-from link import LinkSerializer
+from .checksum import ChecksumSerializer
+from .vnf_pkg_software_image_info import VnfPackageSoftwareImageInfoSerializer
+from .vnf_pkg_artifact_info import VnfPackageArtifactInfoSerializer
+from .link import LinkSerializer
class _LinkSerializer(serializers.Serializer):
diff --git a/genericparser/packages/serializers/vnf_pkg_infos.py b/genericparser/packages/serializers/vnf_pkg_infos.py
index d4cbc65..9ffd6f0 100644
--- a/genericparser/packages/serializers/vnf_pkg_infos.py
+++ b/genericparser/packages/serializers/vnf_pkg_infos.py
@@ -13,7 +13,7 @@
# limitations under the License.
from rest_framework import serializers
-from vnf_pkg_info import VnfPkgInfoSerializer
+from .vnf_pkg_info import VnfPkgInfoSerializer
class VnfPkgInfosSerializer(serializers.ListSerializer):
diff --git a/genericparser/packages/serializers/vnf_pkg_software_image_info.py b/genericparser/packages/serializers/vnf_pkg_software_image_info.py
index 7723ec0..790c61e 100644
--- a/genericparser/packages/serializers/vnf_pkg_software_image_info.py
+++ b/genericparser/packages/serializers/vnf_pkg_software_image_info.py
@@ -13,7 +13,7 @@
# limitations under the License.
from rest_framework import serializers
-from checksum import ChecksumSerializer
+from .checksum import ChecksumSerializer
class VnfPackageSoftwareImageInfoSerializer(serializers.Serializer):
diff --git a/genericparser/packages/tests/test_ns_descriptor.py b/genericparser/packages/tests/test_ns_descriptor.py
index 743e181..36933ac 100644
--- a/genericparser/packages/tests/test_ns_descriptor.py
+++ b/genericparser/packages/tests/test_ns_descriptor.py
@@ -177,9 +177,9 @@ class TestNsDescriptor(TestCase):
userDefinedData=user_defined_data_json,
).save()
- with open('nsd_content.txt', 'wb') as fp:
+ with open('nsd_content.txt', 'wt') as fp:
fp.write('test')
- with open('nsd_content.txt', 'rb') as fp:
+ with open('nsd_content.txt', 'rt') as fp:
resp = self.client.put(
"/api/nsd/v1/ns_descriptors/22/nsd_content",
{'file': fp},
@@ -197,9 +197,9 @@ class TestNsDescriptor(TestCase):
os.remove('nsd_content.txt')
def test_nsd_content_upload_failure(self):
- with open('nsd_content.txt', 'wb') as fp:
+ with open('nsd_content.txt', 'wt') as fp:
fp.write('test')
- with open('nsd_content.txt', 'rb') as fp:
+ with open('nsd_content.txt', 'rt') as fp:
response = self.client.put(
"/api/nsd/v1/ns_descriptors/22/nsd_content",
{'file': fp},
@@ -207,7 +207,7 @@ class TestNsDescriptor(TestCase):
self.assertEqual(response.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR)
def test_nsd_content_download_normal(self):
- with open('nsd_content.txt', 'wb') as fp:
+ with open('nsd_content.txt', 'wt') as fp:
fp.writelines('test1')
fp.writelines('test2')
NSPackageModel.objects.create(
@@ -222,7 +222,7 @@ class TestNsDescriptor(TestCase):
for data in response.streaming_content:
file_content = '%s%s' % (file_content, data)
self.assertEqual(response.status_code, status.HTTP_200_OK)
- self.assertEqual('test1test2', file_content)
+ self.assertEqual("b'test1test2'", file_content)
os.remove('nsd_content.txt')
def test_nsd_content_download_when_ns_not_exist(self):
@@ -239,7 +239,7 @@ class TestNsDescriptor(TestCase):
self.assertEqual(response.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR)
def test_nsd_content_partial_download_normal(self):
- with open('nsd_content.txt', 'wb') as fp:
+ with open('nsd_content.txt', 'wt') as fp:
fp.writelines('test1')
fp.writelines('test2')
NSPackageModel(
@@ -257,7 +257,7 @@ class TestNsDescriptor(TestCase):
for data in response.streaming_content:
partial_file_content = '%s%s' % (partial_file_content, data)
self.assertEqual(response.status_code, status.HTTP_200_OK)
- self.assertEqual('test2', partial_file_content)
+ self.assertEqual("b'test2'", partial_file_content)
os.remove('nsd_content.txt')
@mock.patch.object(NsDescriptor, 'create')
@@ -288,9 +288,9 @@ class TestNsDescriptor(TestCase):
@mock.patch.object(NsDescriptor, 'upload')
def test_upload_when_catch_exception(self, mock_upload):
mock_upload.side_effect = TypeError("integer type")
- with open('nsd_content.txt', 'wb') as fp:
+ with open('nsd_content.txt', 'wt') as fp:
fp.write('test')
- with open('nsd_content.txt', 'rb') as fp:
+ with open('nsd_content.txt', 'rt') as fp:
response = self.client.put("/api/nsd/v1/ns_descriptors/22/nsd_content", {'file': fp})
self.assertEqual(response.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR)
os.remove('nsd_content.txt')
diff --git a/genericparser/packages/tests/test_nsdm_subscription.py b/genericparser/packages/tests/test_nsdm_subscription.py
index 151e8af..c6c194e 100644
--- a/genericparser/packages/tests/test_nsdm_subscription.py
+++ b/genericparser/packages/tests/test_nsdm_subscription.py
@@ -30,7 +30,6 @@ class TestNsdmSubscription(TestCase):
NsdmSubscriptionModel.objects.all().delete()
self.subscription_id = str(uuid.uuid4())
self.subscription = {
- "filter": {},
"callbackUri": "http://callbackuri.com",
"authentication": {
"authType": ["BASIC"],
@@ -38,6 +37,9 @@ class TestNsdmSubscription(TestCase):
"userName": "username",
"password": "password"
}
+ },
+ "filter": {
+ "nsdId": ["b632bddc-abcd-4180-bd8d-4e8a9578eff7"],
}
}
self.links = {
diff --git a/genericparser/packages/tests/test_pnf_descriptor.py b/genericparser/packages/tests/test_pnf_descriptor.py
index 13645e8..770d74b 100644
--- a/genericparser/packages/tests/test_pnf_descriptor.py
+++ b/genericparser/packages/tests/test_pnf_descriptor.py
@@ -150,10 +150,10 @@ class TestPnfDescriptor(TestCase):
userDefinedData=user_defined_data_json,
).save()
mock_parse_pnfd.return_value = json.JSONEncoder().encode(pnfd_data)
- with open('pnfd_content.txt', 'wb') as fp:
+ with open('pnfd_content.txt', 'wt') as fp:
fp.write('test')
- with open('pnfd_content.txt', 'rb') as fp:
+ with open('pnfd_content.txt', 'rt') as fp:
resp = self.client.put(
"/api/nsd/v1/pnf_descriptors/22/pnfd_content",
{'file': fp},
@@ -166,10 +166,10 @@ class TestPnfDescriptor(TestCase):
os.remove('pnfd_content.txt')
def test_pnfd_content_upload_when_pnf_not_exist(self):
- with open('pnfd_content.txt', 'wb') as fp:
+ with open('pnfd_content.txt', 'wt') as fp:
fp.write('test')
- with open('pnfd_content.txt', 'rb') as fp:
+ with open('pnfd_content.txt', 'rt') as fp:
resp = self.client.put(
"/api/nsd/v1/pnf_descriptors/22/pnfd_content",
{'file': fp},
@@ -178,7 +178,7 @@ class TestPnfDescriptor(TestCase):
@mock.patch.object(toscaparsers, "parse_pnfd")
def test_pnfd_content_upload_when_pnfd_exist(self, mock_parse_pnfd):
- with open('pnfd_content.txt', 'wb') as fp:
+ with open('pnfd_content.txt', 'wt') as fp:
fp.write('test')
PnfPackageModel(
pnfPackageId='22',
@@ -191,7 +191,7 @@ class TestPnfDescriptor(TestCase):
pnfdId="zte-1.0"
).save()
mock_parse_pnfd.return_value = json.JSONEncoder().encode(pnfd_data)
- with open('pnfd_content.txt', 'rb') as fp:
+ with open('pnfd_content.txt', 'rt') as fp:
resp = self.client.put(
"/api/nsd/v1/pnf_descriptors/22/pnfd_content",
{'file': fp},
@@ -199,7 +199,7 @@ class TestPnfDescriptor(TestCase):
self.assertEqual(resp.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR)
def test_pnfd_download_normal(self):
- with open('pnfd_content.txt', 'wb') as fp:
+ with open('pnfd_content.txt', 'wt') as fp:
fp.writelines('test1')
fp.writelines('test2')
user_defined_data = json.JSONEncoder().encode(self.user_defined_data)
@@ -216,7 +216,7 @@ class TestPnfDescriptor(TestCase):
for data in resp.streaming_content:
file_content = '%s%s' % (file_content, data)
self.assertEqual(resp.status_code, status.HTTP_200_OK)
- self.assertEqual('test1test2', file_content)
+ self.assertEqual("b'test1test2'", file_content)
os.remove('pnfd_content.txt')
def test_pnfd_download_failed(self):
@@ -224,7 +224,7 @@ class TestPnfDescriptor(TestCase):
self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
def test_pnfd_download_when_not_on_boarded(self):
- with open('pnfd_content.txt', 'wb') as fp:
+ with open('pnfd_content.txt', 'wt') as fp:
fp.writelines('test1')
fp.writelines('test2')
user_defined_data = json.JSONEncoder().encode(self.user_defined_data)
diff --git a/genericparser/packages/tests/test_service_descriptor.py b/genericparser/packages/tests/test_service_descriptor.py
index 0734577..59bffa8 100644
--- a/genericparser/packages/tests/test_service_descriptor.py
+++ b/genericparser/packages/tests/test_service_descriptor.py
@@ -92,4 +92,4 @@ class TestServiceDescription(TestCase):
ServiceDescriptor().delete_single(csar_id)
except Exception as e:
self.assertTrue(isinstance(e, PackageNotFoundException))
- self.assertEqual("Service package[8000] not Found.", e.message)
+ self.assertEqual("Service package[8000] not Found.", e.args[0])
diff --git a/genericparser/packages/tests/test_servicepackage.py b/genericparser/packages/tests/test_servicepackage.py
index 28fdcdb..f7ac8a5 100644
--- a/genericparser/packages/tests/test_servicepackage.py
+++ b/genericparser/packages/tests/test_servicepackage.py
@@ -261,7 +261,7 @@ class TestServicePackage(TestCase):
try:
ServicePackage().on_distribute(csar_id)
except PackageHasExistsException as e:
- self.assertEqual("Service CSAR(1) already exists.", e.message)
+ self.assertEqual("Service CSAR(1) already exists.", e.args[0])
@mock.patch.object(sdc, 'get_artifact')
def test_service_pkg_distribute_when_fail_get_artifacts(self, mock_get_artifact):
@@ -271,7 +271,7 @@ class TestServicePackage(TestCase):
ServicePackage().on_distribute(csar_id)
except Exception as e:
self.assertTrue(isinstance(e, GenericparserException))
- self.assertEqual("Failed to query artifact(services,1) from sdc.", e.message)
+ self.assertEqual("Failed to query artifact(services,1) from sdc.", e.args[0])
@mock.patch.object(sdc, 'get_artifact')
@mock.patch.object(sdc, 'download_artifacts')
@@ -295,7 +295,7 @@ class TestServicePackage(TestCase):
ServicePackage().on_distribute(csar_id)
except Exception as e:
self.assertTrue(isinstance(e, GenericparserException))
- self.assertEqual("Failed to download 1 from sdc.", e.message)
+ self.assertEqual("Failed to download 1 from sdc.", e.args[0])
@mock.patch.object(sdc, 'get_artifact')
@mock.patch.object(sdc, 'download_artifacts')
@@ -389,7 +389,7 @@ class TestServicePackage(TestCase):
try:
ServicePackage().get_csar(1000)
except PackageNotFoundException as e:
- self.assertEqual("Service package[1000] not Found.", e.message)
+ self.assertEqual("Service package[1000] not Found.", e.args[0])
def test_api_service_pkg_get_one(self):
ServicePackageModel(
@@ -423,7 +423,7 @@ class TestServicePackage(TestCase):
try:
ServicePackage().delete_csar("8000")
except PackageNotFoundException as e:
- self.assertEqual("Service package[8000] not Found.", e.message)
+ self.assertEqual("Service package[8000] not Found.", e.args[0])
def test_api_service_pkg_normal_delete(self):
ServicePackageModel(servicePackageId="8", servicedId="2").save()
@@ -447,7 +447,7 @@ class TestServicePackage(TestCase):
inputs = []
ServicePackage().parse_serviced(csar_id, inputs)
except PackageNotFoundException as e:
- self.assertEqual("Service CSAR(8000) does not exist.", e.message)
+ self.assertEqual("Service CSAR(8000) does not exist.", e.args[0])
def test_api_service_pkg_parser_not_found(self):
query_data = {
diff --git a/genericparser/packages/tests/test_vnf_package.py b/genericparser/packages/tests/test_vnf_package.py
index 99bdd5e..9b8d7fe 100644
--- a/genericparser/packages/tests/test_vnf_package.py
+++ b/genericparser/packages/tests/test_vnf_package.py
@@ -14,7 +14,7 @@
import json
import os
-import urllib2
+import urllib
import mock
import shutil
@@ -49,7 +49,7 @@ class TestVnfPackage(TestCase):
@mock.patch.object(toscaparsers, 'parse_vnfd')
def test_upload_vnf_pkg(self, mock_parse_vnfd):
- data = {'file': open(os.path.join(GENERICPARSER_ROOT_PATH, "empty.txt"), "rb")}
+ data = {'file': open(os.path.join(GENERICPARSER_ROOT_PATH, "empty.txt"), "rt")}
VnfPackageModel.objects.create(
vnfPackageId="222",
onboardingState="CREATED"
@@ -70,7 +70,7 @@ class TestVnfPackage(TestCase):
self.assertEqual(response.status_code, status.HTTP_500_INTERNAL_SERVER_ERROR)
@mock.patch.object(toscaparsers, 'parse_vnfd')
- @mock.patch.object(urllib2, 'urlopen')
+ @mock.patch.object(urllib.request, 'urlopen')
def test_upload_nf_pkg_from_uri(self, mock_urlopen, mock_parse_vnfd):
vnf_pkg = VnfPackageModel.objects.create(
vnfPackageId="222",
@@ -239,7 +239,7 @@ class TestVnfPackage(TestCase):
self.assertEqual(response.data, None)
def test_fetch_vnf_pkg(self):
- with open("vnfPackage.csar", "wb") as fp:
+ with open("vnfPackage.csar", "wt") as fp:
fp.writelines("AAAABBBBCCCCDDDD")
VnfPackageModel.objects.create(
vnfPackageId="222",
@@ -249,13 +249,13 @@ class TestVnfPackage(TestCase):
response = self.client.get("/api/vnfpkgm/v1/vnf_packages/222/package_content")
file_content = ''
for data in response.streaming_content:
- file_content = file_content + data
+ file_content = file_content + data.decode()
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.assertEqual('AAAABBBBCCCCDDDD', file_content)
os.remove("vnfPackage.csar")
def test_fetch_partical_vnf_pkg(self):
- with open("vnfPackage.csar", "wb") as fp:
+ with open("vnfPackage.csar", "wt") as fp:
fp.writelines("AAAABBBBCCCCDDDD")
VnfPackageModel.objects.create(
vnfPackageId="222",
@@ -265,13 +265,13 @@ class TestVnfPackage(TestCase):
response = self.client.get("/api/vnfpkgm/v1/vnf_packages/222/package_content", HTTP_RANGE="4-7")
partial_file_content = ''
for data in response.streaming_content:
- partial_file_content = partial_file_content + data
+ partial_file_content = partial_file_content.encode() + data
self.assertEqual(response.status_code, status.HTTP_200_OK)
- self.assertEqual('BBB', partial_file_content)
+ self.assertEqual(b'BBB', partial_file_content)
os.remove("vnfPackage.csar")
def test_fetch_last_partical_vnf_pkg(self):
- with open("vnfPackage.csar", "wb") as fp:
+ with open("vnfPackage.csar", "wt") as fp:
fp.writelines("AAAABBBBCCCCDDDD")
VnfPackageModel.objects.create(
vnfPackageId="222",
@@ -281,9 +281,9 @@ class TestVnfPackage(TestCase):
response = self.client.get("/api/vnfpkgm/v1/vnf_packages/222/package_content", HTTP_RANGE=" 4-")
partial_file_content = ''
for data in response.streaming_content:
- partial_file_content = partial_file_content + data
+ partial_file_content = partial_file_content.encode() + data
self.assertEqual(response.status_code, status.HTTP_200_OK)
- self.assertEqual('BBBBCCCCDDDD', partial_file_content)
+ self.assertEqual(b'BBBBCCCCDDDD', partial_file_content)
os.remove("vnfPackage.csar")
def test_fetch_vnf_pkg_when_pkg_not_exist(self):
@@ -362,7 +362,7 @@ class TestVnfPackage(TestCase):
self.assertEqual(response.status_code, status.HTTP_202_ACCEPTED)
response = self.client.get("/api/vnfpkgm/v1/vnf_packages/222/artifacts/image")
self.assertEqual(response.status_code, status.HTTP_200_OK)
- self.assertEqual(response.getvalue(), "ubuntu_16.04\n")
+ self.assertEqual(response.getvalue(), b"ubuntu_16.04\n")
@mock.patch.object(toscaparsers, 'parse_vnfd')
def test_fetch_vnf_artifact_not_exists(self, mock_parse_vnfd):
diff --git a/genericparser/packages/views/catalog_views.py b/genericparser/packages/views/catalog_views.py
index ed10e68..df3dfca 100644
--- a/genericparser/packages/views/catalog_views.py
+++ b/genericparser/packages/views/catalog_views.py
@@ -243,7 +243,7 @@ def servicepackages_rc(request, *args, **kwargs):
return Response(data=csar_list, status=status.HTTP_200_OK)
except Exception as e:
error_status = status.HTTP_500_INTERNAL_SERVER_ERROR
- return Response(data=fmt_error_rsp(e.message, error_status), status=error_status)
+ return Response(data=fmt_error_rsp(e.args[0], error_status), status=error_status)
elif request.method == 'POST':
# Distributes the package according to the given csarId
request_serializer = ServicePackageDistributeRequestSerializer(data=request.data)
@@ -258,10 +258,10 @@ def servicepackages_rc(request, *args, **kwargs):
return Response(status=status.HTTP_202_ACCEPTED)
except PackageHasExistsException as e:
error_status = status.HTTP_400_BAD_REQUEST
- return Response(data=fmt_error_rsp(e.message, error_status), status=error_status)
+ return Response(data=fmt_error_rsp(e.args[0], error_status), status=error_status)
except Exception as e:
error_status = status.HTTP_500_INTERNAL_SERVER_ERROR
- return Response(data=fmt_error_rsp(e.message, error_status), status=error_status)
+ return Response(data=fmt_error_rsp(e.args[0], error_status), status=error_status)
@swagger_auto_schema(
@@ -307,10 +307,10 @@ def service_rd_csar(request, *args, **kwargs):
return Response(data=ret, status=status.HTTP_200_OK)
except PackageNotFoundException as e:
error_status = status.HTTP_404_NOT_FOUND
- return Response(data=fmt_error_rsp(e.message, error_status), status=error_status)
+ return Response(data=fmt_error_rsp(e.args[0], error_status), status=error_status)
except Exception as e:
error_status = status.HTTP_500_INTERNAL_SERVER_ERROR
- return Response(data=fmt_error_rsp(e.message, error_status), status=error_status)
+ return Response(data=fmt_error_rsp(e.args[0], error_status), status=error_status)
elif request.method == 'DELETE':
try:
@@ -318,10 +318,10 @@ def service_rd_csar(request, *args, **kwargs):
return Response(status=status.HTTP_204_NO_CONTENT)
except PackageNotFoundException as e:
error_status = status.HTTP_404_NOT_FOUND
- return Response(data=fmt_error_rsp(e.message, error_status), status=error_status)
+ return Response(data=fmt_error_rsp(e.args[0], error_status), status=error_status)
except Exception as e:
error_status = status.HTTP_500_INTERNAL_SERVER_ERROR
- return Response(data=fmt_error_rsp(e.message, error_status), status=error_status)
+ return Response(data=fmt_error_rsp(e.args[0], error_status), status=error_status)
@swagger_auto_schema(
@@ -420,10 +420,10 @@ def model_parser(request, *args, **kwargs):
return Response(data=response_serializer.data, status=status.HTTP_202_ACCEPTED)
except PackageNotFoundException as e:
error_status = status.HTTP_404_NOT_FOUND
- return Response(data=fmt_error_rsp(e.message, error_status), status=error_status)
+ return Response(data=fmt_error_rsp(e.args[0], error_status), status=error_status)
except Exception as e:
error_status = status.HTTP_500_INTERNAL_SERVER_ERROR
- return Response(data=fmt_error_rsp(e.message, error_status), status=error_status)
+ return Response(data=fmt_error_rsp(e.args[0], error_status), status=error_status)
elif package_type.lower().__eq__("ns"):
ret = sdc_ns_package.parse_nsd(csar_id, inputs)
elif package_type.lower().__eq__("vnf"):
diff --git a/genericparser/packages/views/common.py b/genericparser/packages/views/common.py
index 41ba17c..efd045b 100644
--- a/genericparser/packages/views/common.py
+++ b/genericparser/packages/views/common.py
@@ -59,61 +59,61 @@ def view_safe_call_with_log(logger):
try:
return func(*args, **kwargs)
except NsdmDuplicateSubscriptionException as e:
- logger.error(e.message)
+ logger.error(e.args[0])
return make_error_resp(
- detail=e.message,
+ detail=e.args[0],
status=status.HTTP_303_SEE_OTHER
)
except VnfPkgDuplicateSubscriptionException as e:
- logger.error(e.message)
+ logger.error(e.args[0])
return make_error_resp(
- detail=e.message,
+ detail=e.args[0],
status=status.HTTP_303_SEE_OTHER
)
except PackageNotFoundException as e:
- logger.error(e.message)
+ logger.error(e.args[0])
return make_error_resp(
- detail=e.message,
+ detail=e.args[0],
status=status.HTTP_404_NOT_FOUND
)
except ResourceNotFoundException as e:
- logger.error(e.message)
+ logger.error(e.args[0])
return make_error_resp(
- detail=e.message,
+ detail=e.args[0],
status=status.HTTP_404_NOT_FOUND
)
except ArtifactNotFoundException as e:
- logger.error(e.message)
+ logger.error(e.args[0])
return make_error_resp(
- detail=e.message,
+ detail=e.args[0],
status=status.HTTP_404_NOT_FOUND
)
except BadRequestException as e:
- logger.error(e.message)
+ logger.error(e.args[0])
return make_error_resp(
- detail=e.message,
+ detail=e.args[0],
status=status.HTTP_400_BAD_REQUEST
)
except NsdmBadRequestException as e:
- logger.error(e.message)
+ logger.error(e.args[0])
return make_error_resp(
- detail=e.message,
+ detail=e.args[0],
status=status.HTTP_400_BAD_REQUEST
)
except VnfPkgSubscriptionException as e:
- logger.error(e.message)
+ logger.error(e.args[0])
return make_error_resp(
- detail=e.message,
+ detail=e.args[0],
status=status.HTTP_500_INTERNAL_SERVER_ERROR
)
except GenericparserException as e:
- logger.error(e.message)
+ logger.error(e.args[0])
return make_error_resp(
- detail=e.message,
+ detail=e.args[0],
status=status.HTTP_500_INTERNAL_SERVER_ERROR
)
except Exception as e:
- logger.error(e.message)
+ logger.error(e.args[0])
logger.error(traceback.format_exc())
return make_error_resp(
detail='Unexpected exception',
diff --git a/genericparser/packages/views/nsdm_subscription_views.py b/genericparser/packages/views/nsdm_subscription_views.py
index cd80e6d..e0576c3 100644
--- a/genericparser/packages/views/nsdm_subscription_views.py
+++ b/genericparser/packages/views/nsdm_subscription_views.py
@@ -73,10 +73,8 @@ def nsd_subscription_rc(request):
NsdmSubscriptionRequestSerializer)
subscription = NsdmSubscription().create(
nsdm_subscription_request.data)
- subscription_resp = validate_data(subscription,
- NsdmSubscriptionSerializer)
- return Response(data=subscription_resp.data,
- status=status.HTTP_201_CREATED)
+ validate_data(subscription, NsdmSubscriptionSerializer)
+ return Response(data=subscription, status=status.HTTP_201_CREATED)
if request.method == 'GET':
logger.debug("Subscription Notification GET %s" % request.query_params)