import rift.tasklets.rwpkgmgr.downloader as downloader
import rift.tasklets.rwpkgmgr.publisher as pkg_publisher
import rift.test.dts
+from rift.mano.utils.project import ManoProject, DEFAULT_PROJECT
class TestCase(rift.test.dts.AbstractDTSTest):
self.log.debug("STARTING - %s", test_id)
self.tinfo = self.new_tinfo(str(test_id))
self.dts = rift.tasklets.DTS(self.tinfo, self.schema, self.loop)
+ self.project = ManoProject(self.log, name=DEFAULT_PROJECT)
- self.job_handler = pkg_publisher.DownloadStatusPublisher(self.log, self.dts, self.loop)
+ self.job_handler = pkg_publisher.DownloadStatusPublisher(self.log, self.dts,
+ self.loop, self.project)
def tearDown(self):
super().tearDown()
"package_id": "123",
"download_id": str(uuid.uuid4())})
- self.job_handler.on_download_progress(mock_msg)
+ yield from self.job_handler._dts_publisher(mock_msg)
yield from asyncio.sleep(5, loop=self.loop)
- itr = yield from self.dts.query_read("/download-jobs/job[download-id='{}']".format(
- mock_msg.download_id))
+ xpath = self.project.add_project("/download-jobs/job[download-id='{}']".
+ format(mock_msg.download_id))
+ itr = yield from self.dts.query_read(xpath)
result = None
for fut in itr:
result = yield from fut
result = result.result
- print (mock_msg)
+ self.log.debug("Mock msg: {}".format(mock_msg))
assert result == mock_msg
# Modify the msg
mock_msg.url = "http://bar/foo"
- self.job_handler.on_download_finished(mock_msg)
+ yield from self.job_handler._dts_publisher(mock_msg)
yield from asyncio.sleep(5, loop=self.loop)
-
- itr = yield from self.dts.query_read("/download-jobs/job[download-id='{}']".format(
- mock_msg.download_id))
+
+ itr = yield from self.dts.query_read(xpath)
result = None
for fut in itr:
proxy = mock.MagicMock()
- url = "https://raw.githubusercontent.com/RIFTIO/RIFT.ware/master/rift-shell"
+ url = "http://boson.eng.riftio.com/common/unittests/plantuml.jar"
url_downloader = downloader.PackageFileDownloader(url, "1", "/", "VNFD", proxy)
download_id = yield from self.job_handler.register_downloader(url_downloader)
assert download_id is not None
-
- yield from asyncio.sleep(5, loop=self.loop)
- xpath = "/download-jobs/job[download-id='{}']".format(
- download_id)
- result = yield from self.read_xpath(xpath)
- print (result)
+
+ # Waiting to be sure that the file is downloaded
+ # From BLR, it sometimes take longer for the file to
+ # be downloaded
+ max_time = 60
+ total_time = 0
+ while True:
+ yield from asyncio.sleep(5, loop=self.loop)
+ xpath = self.project.add_project("/download-jobs/job[download-id='{}']".
+ format(download_id))
+ result = yield from self.read_xpath(xpath)
+ self.log.debug("Test result before complete check - %s", result)
+ if result.status != "COMPLETED":
+ total_time = total_time + 5
+ if total_time <= max_time:
+ continue
+ else:
+ break
+
assert result.status == "COMPLETED"
assert len(self.job_handler.tasks) == 0
yield from self.job_handler.register()
proxy = mock.MagicMock()
- url = "http://mirror.0x.sg/fedora/linux/releases/24/CloudImages/x86_64/images/Fedora-Cloud-Base-24-1.2.x86_64.qcow2"
+ url = "http://boson.eng.riftio.com/common/unittests/Fedora-x86_64-20-20131211.1-sda-ping.qcow2"
url_downloader = downloader.PackageFileDownloader(url, "1", "/", "VNFD", proxy)
download_id = yield from self.job_handler.register_downloader(url_downloader)
assert download_id is not None
- xpath = "/download-jobs/job[download-id='{}']".format(
- download_id)
+ xpath = self.project.add_project("/download-jobs/job[download-id='{}']".
+ format(download_id))
- yield from asyncio.sleep(3, loop=self.loop)
+ yield from asyncio.sleep(10, loop=self.loop)
result = yield from self.read_xpath(xpath)
+ self.log.debug("Test result before in_progress check - %s", result)
assert result.status == "IN_PROGRESS"
yield from self.job_handler.cancel_download(download_id)
yield from asyncio.sleep(3, loop=self.loop)
result = yield from self.read_xpath(xpath)
+ self.log.debug("Test result before cancel check - %s", result)
assert result.status == "CANCELLED"
assert len(self.job_handler.tasks) == 0
-
+
def main():
runner = xmlrunner.XMLTestRunner(output=os.environ["RIFT_MODULE_TEST"])