X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=rwlaunchpad%2Fplugins%2Frwpkgmgr%2Ftest%2Futest_publisher_dts.py;h=8e79889608d334ee267509f2478ee0dec9f99c98;hb=refs%2Fchanges%2F92%2F1492%2F1;hp=a02e5c665a7c01f38fe9a0a836e06ecfb208e5c8;hpb=7032313e5ce57f8b0d76af95bcf51c985d4b8692;p=osm%2FSO.git diff --git a/rwlaunchpad/plugins/rwpkgmgr/test/utest_publisher_dts.py b/rwlaunchpad/plugins/rwpkgmgr/test/utest_publisher_dts.py index a02e5c66..8e798896 100755 --- a/rwlaunchpad/plugins/rwpkgmgr/test/utest_publisher_dts.py +++ b/rwlaunchpad/plugins/rwpkgmgr/test/utest_publisher_dts.py @@ -36,6 +36,7 @@ from gi.repository import ( 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): @@ -51,8 +52,10 @@ 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() @@ -102,24 +105,24 @@ class TestCase(rift.test.dts.AbstractDTSTest): 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 ", mock_msg) + self.log.debug("Mock msg: {}".format(mock_msg)) assert result == mock_msg # Modify the msg mock_msg.url = "http://bar/foo" 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: @@ -143,13 +146,25 @@ class TestCase(rift.test.dts.AbstractDTSTest): download_id = yield from self.job_handler.register_downloader(url_downloader) assert download_id is not None - - # Waiting for 5 secs to be sure that the file is downloaded - yield from asyncio.sleep(5, loop=self.loop) - xpath = "/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) + + # 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 @@ -169,10 +184,10 @@ class TestCase(rift.test.dts.AbstractDTSTest): 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(1, 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) @@ -184,7 +199,7 @@ class TestCase(rift.test.dts.AbstractDTSTest): 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"])