Change-Id: Ia5a7de02c05ef75f5dfb0729a25d4d86ffd1ead8
Issue-ID: MODELING-312
Signed-off-by: hongyuzhao <zhao.hongyu@zte.com.cn>
from catalog.packages import const
from catalog.packages.biz.common import parse_file_range, read, save
from catalog.packages.biz.notificationsutil import PkgNotifications
from catalog.packages import const
from catalog.packages.biz.common import parse_file_range, read, save
from catalog.packages.biz.notificationsutil import PkgNotifications
-from catalog.pub.config.config import CATALOG_ROOT_PATH
+from catalog.pub.config.config import CATALOG_ROOT_PATH, MSB_SERVICE_IP, MSB_SERVICE_PORT
from catalog.pub.database.models import VnfPackageModel, NSPackageModel
from catalog.pub.exceptions import CatalogException, ResourceNotFoundException
from catalog.pub.utils import fileutil, toscaparser
from catalog.pub.database.models import VnfPackageModel, NSPackageModel
from catalog.pub.exceptions import CatalogException, ResourceNotFoundException
from catalog.pub.utils import fileutil, toscaparser
} for artifact in artifacts]
} for artifact in artifacts]
+def fill_links(pkg_id, is_onboarded=False):
+ self_href = "http://%s:%s/api/vnfpkgm/v1/vnf_packages/%s" % (
+ MSB_SERVICE_IP,
+ MSB_SERVICE_PORT,
+ pkg_id)
+ links = {
+ "self": {"href": self_href},
+ "vnfd": {"href": "%s/%s" % (self_href, "vnfd")},
+ "packageContent": {"href": "%s/%s" % (self_href, "package_content")}
+ }
+ if not is_onboarded:
+ links.pop("vnfd")
+ return links
+
+
def fill_response_data(nf_pkg):
pkg_info = {}
pkg_info["id"] = nf_pkg.vnfPackageId
def fill_response_data(nf_pkg):
pkg_info = {}
pkg_info["id"] = nf_pkg.vnfPackageId
pkg_info["usageState"] = nf_pkg.usageState
if nf_pkg.userDefinedData:
pkg_info["userDefinedData"] = json.JSONDecoder().decode(nf_pkg.userDefinedData)
pkg_info["usageState"] = nf_pkg.usageState
if nf_pkg.userDefinedData:
pkg_info["userDefinedData"] = json.JSONDecoder().decode(nf_pkg.userDefinedData)
- pkg_info["_links"] = None # TODO
+ pkg_info["_links"] = fill_links(nf_pkg.vnfPackageId, True)
"operationalState": "DISABLED",
"usageState": "NOT_IN_USE",
"userDefinedData": {"a": "A"},
"operationalState": "DISABLED",
"usageState": "NOT_IN_USE",
"userDefinedData": {"a": "A"},
+ "_links": {'self': {'href': 'http://127.0.0.1:80/api/vnfpkgm/v1/vnf_packages/222'},
+ 'vnfd': {'href': 'http://127.0.0.1:80/api/vnfpkgm/v1/vnf_packages/222/vnfd'},
+ 'packageContent': {'href': 'http://127.0.0.1:80/api/vnfpkgm/v1/vnf_packages/222/package_content'}
+ }
}
self.assertEqual(response.data, expect_data)
self.assertEqual(response.status_code, status.HTTP_200_OK)
}
self.assertEqual(response.data, expect_data)
self.assertEqual(response.status_code, status.HTTP_200_OK)
"operationalState": "DISABLED",
"usageState": "NOT_IN_USE",
"userDefinedData": {"a": "A"},
"operationalState": "DISABLED",
"usageState": "NOT_IN_USE",
"userDefinedData": {"a": "A"},
+ "_links": {
+ "self": {
+ "href": "http://127.0.0.1:80/api/vnfpkgm/v1/vnf_packages/111"
+ },
+ "vnfd": {
+ "href": "http://127.0.0.1:80/api/vnfpkgm/v1/vnf_packages/111/vnfd"
+ },
+ "packageContent": {
+ "href": "http://127.0.0.1:80/api/vnfpkgm/v1/vnf_packages/111/package_content"
+ }
+ }
"operationalState": "DISABLED",
"usageState": "NOT_IN_USE",
"userDefinedData": {"a": "A"},
"operationalState": "DISABLED",
"usageState": "NOT_IN_USE",
"userDefinedData": {"a": "A"},
+ "_links": {'self': {'href': 'http://127.0.0.1:80/api/vnfpkgm/v1/vnf_packages/222'},
+ 'vnfd': {'href': 'http://127.0.0.1:80/api/vnfpkgm/v1/vnf_packages/222/vnfd'},
+ 'packageContent': {
+ 'href': 'http://127.0.0.1:80/api/vnfpkgm/v1/vnf_packages/222/package_content'}}
}
]
self.assertEqual(response.data, expect_data)
}
]
self.assertEqual(response.data, expect_data)
"onboardingState": "ONBOARDED",
"operationalState": "ENABLED",
"usageState": "NOT_IN_USE",
"onboardingState": "ONBOARDED",
"operationalState": "ENABLED",
"usageState": "NOT_IN_USE",
+ "_links": {
+ "self": {
+ "href": "http://127.0.0.1:80/api/vnfpkgm/v1/vnf_packages/222"
+ },
+ "vnfd": {
+ "href": "http://127.0.0.1:80/api/vnfpkgm/v1/vnf_packages/222/vnfd"
+ },
+ "packageContent": {
+ "href": "http://127.0.0.1:80/api/vnfpkgm/v1/vnf_packages/222/package_content"
+ }
+ }
}
self.assertEqual(response.data, expact_response_data)
}
self.assertEqual(response.data, expact_response_data)