示例#1
0
    def test_run_fail(self):
        temp_dir = tempfile.mkdtemp()
        try:
            params = D3RParameters()
            pkg = '/remote/celpp1_2017_dockedresults_yo.tar.gz'
            task = ExternalDataSubmissionTask(temp_dir, 'yo', pkg, params)
            mockft = D3RParameters()
            mockft.connect = Mock(side_effect=IOError('error'))
            mockft.download_file = Mock(return_value=True)
            mockft.disconnect = Mock(return_value=None)
            task.set_file_transfer(mockft)
            task.run()
            self.assertEqual(
                task.get_error(), 'Caught exception Unable to '
                'download celpp1_2017_docked'
                'results_yo.tar.gz')
            self.assertEqual(
                task.get_email_log(), 'Try # 1 of 3 to download '
                'celpp1_2017_dockedresults'
                '_yo.tar.gz\nTry # 2 of 3 '
                'to download celpp1_2017_d'
                'ockedresults_yo.tar.gz\n'
                'Try # 3 of 3 to download '
                'celpp1_2017_dockedresults'
                '_yo.tar.gz\n')

        finally:
            shutil.rmtree(temp_dir)
示例#2
0
 def test_download_remote_challenge_data_package_with_1st_retry_false(self):
     temp_dir = tempfile.mkdtemp()
     try:
         params = D3RParameters()
         pkg = '/remote/celpp1_2017_dockedresults_yo.tar.gz'
         task = ExternalDataSubmissionTask(temp_dir, 'yo', pkg, params)
         task.set_download_retry_sleep(0)
         task.set_download_max_retry_count(3)
         mockft = D3RParameters()
         mockft.connect = Mock()
         mockft.download_file = Mock()
         mockft.download_file.side_effect = [False, True]
         mockft.disconnect = Mock(return_value=None)
         task.set_file_transfer(mockft)
         c = task._download_remote_challenge_data_package_with_retry()
         self.assertEqual(c, 'celpp1_2017_dockedresults_yo.tar.gz')
     finally:
         shutil.rmtree(temp_dir)
示例#3
0
 def test_runtask_success(self):
     temp_dir = tempfile.mkdtemp()
     try:
         params = D3RParameters()
         pkg = '/remote/celpp1_2017_dockedresults_yo.tar.gz'
         task = ExternalDataSubmissionTask(temp_dir, 'yo', pkg, params)
         mockft = D3RParameters()
         mockft.connect = Mock(return_value=None)
         mockft.download_file = Mock(return_value=True)
         mockft.disconnect = Mock(return_value=None)
         task.set_file_transfer(mockft)
         task.create_dir()
         self.create_good_tarfile(task.get_dir(),
                                  'celpp1_2017_dockedresults_yo')
         task._runtask()
         self.assertEqual(task.get_error(), None)
         self.assertEqual(task.get_email_log(), '')
     finally:
         shutil.rmtree(temp_dir)
示例#4
0
 def test__download_remote_challenge_data_package_success(self):
     temp_dir = tempfile.mkdtemp()
     try:
         params = D3RParameters()
         pkg = '/remote/celpp2_3.tar.gz'
         task = ExternalDataSubmissionTask(temp_dir, 'yo',
                                           pkg, params)
         task.create_dir()
         mockft = D3RParameters()
         mockft.connect = Mock(return_value=None)
         mockft.download_file = Mock(return_value=True)
         mockft.disconnect = Mock(return_value=None)
         task.set_file_transfer(mockft)
         val = task._download_remote_challenge_data_package()
         self.assertEqual(val, 'celpp2_3.tar.gz')
         localfile = os.path.join(task.get_dir(), 'celpp2_3.tar.gz')
         mockft.download_file.assert_called_with(pkg, localfile)
         mockft.connect.assert_called_with()
         mockft.disconnect.assert_called_with()
     finally:
         shutil.rmtree(temp_dir)
示例#5
0
 def test_download_remote_challenge_data_package_with_retry_false(self):
     temp_dir = tempfile.mkdtemp()
     try:
         params = D3RParameters()
         pkg = '/remote/celpp1_2017_dockedresults_yo.tar.gz'
         task = ExternalDataSubmissionTask(temp_dir, 'yo', pkg, params)
         task.set_download_retry_sleep(0)
         task.set_download_max_retry_count(1)
         mockft = D3RParameters()
         mockft.connect = Mock()
         mockft.download_file = Mock(return_value=False)
         mockft.disconnect = Mock(return_value=None)
         task.set_file_transfer(mockft)
         try:
             task._download_remote_challenge_data_package_with_retry()
         except ChallengePackageDownloadError as e:
             self.assertEqual(
                 str(e), 'Unable to download ' +
                 'celpp1_2017_dockedresults_yo.tar.gz')
     finally:
         shutil.rmtree(temp_dir)