def parse_file_range(file_path, file_range):
start, end = 0, os.path.getsize(file_path)
if file_range:
- [start, end] = file_range.split('-')
- start, end = start.strip(), end.strip()
- start, end = int(start), int(end)
+ [start, range_end] = file_range.split('-')
+ range_end = range_end.strip() if range_end.strip() else end
+ start, end = int(start.strip()), int(range_end)
return start, end
self.assertEqual('BBB', partial_file_content)
os.remove("vnfPackage.csar")
+ def test_fetch_last_partical_vnf_pkg(self):
+ with open("vnfPackage.csar", "wb") 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-")
+ partial_file_content = ''
+ for data in response.streaming_content:
+ partial_file_content = partial_file_content + data
+ self.assertEqual(response.status_code, status.HTTP_200_OK)
+ self.assertEqual('BBBBCCCCDDDD', partial_file_content)
+ os.remove("vnfPackage.csar")
+
def test_fetch_vnf_pkg_when_pkg_not_exist(self):
response = self.client.get("/api/vnfpkgm/v1/vnf_packages/222/package_content")
self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)