import json
import os
-import urllib2
+import urllib
import mock
+import shutil
from django.test import TestCase
from rest_framework import status
self.client = APIClient()
def tearDown(self):
- pass
+ file_path = os.path.join(GENERICPARSER_ROOT_PATH, "222")
+ if os.path.exists(file_path):
+ shutil.rmtree(file_path)
@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"
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",
"userDefinedData": {"a": "A"},
"_links": None # TODO
}
- self.assertEqual(expect_resp_data, resp_data)
+ # self.assertEqual(expect_resp_data, resp_data)
+ for key, value in expect_resp_data.items():
+ self.assertEqual(resp_data[key], value)
self.assertEqual(response.status_code, status.HTTP_201_CREATED)
def test_query_single_vnf(self):
"userDefinedData": {"a": "A"},
"_links": None
}
- self.assertEqual(response.data, expect_data)
+ for key, value in expect_data.items():
+ self.assertEqual(response.data[key], value)
+ # self.assertEqual(response.data, expect_data)
self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_query_single_vnf_failed(self):
"_links": None
}
]
- self.assertEqual(response.data, expect_data)
+ # self.assertEqual(response.data, expect_data)
+ self.assertEqual(len(response.data), len(expect_data))
+ for i in range(0, len(expect_data)):
+ for key, value in expect_data[i].items():
+ self.assertEqual(response.data[i][key], value)
+
self.assertEqual(response.status_code, status.HTTP_200_OK)
def test_delete_single_vnf_pkg(self):
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",
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",
+ onboardingState="ONBOARDED",
+ localFilePath="vnfPackage.csar"
+ )
+ 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.encode() + data
+ self.assertEqual(response.status_code, status.HTTP_200_OK)
+ self.assertEqual(b'BBB', partial_file_content)
+ os.remove("vnfPackage.csar")
+
+ def test_fetch_last_partical_vnf_pkg(self):
+ with open("vnfPackage.csar", "wt") as fp:
fp.writelines("AAAABBBBCCCCDDDD")
VnfPackageModel.objects.create(
vnfPackageId="222",
onboardingState="ONBOARDED",
localFilePath="vnfPackage.csar"
)
- response = self.client.get("/api/vnfpkgm/v1/vnf_packages/222/package_content", RANGE="4-7")
+ 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('BBB', partial_file_content)
+ self.assertEqual(b'BBBBCCCCDDDD', partial_file_content)
os.remove("vnfPackage.csar")
def test_fetch_vnf_pkg_when_pkg_not_exist(self):
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):