コード例 #1
0
ファイル: test_dataimport.py プロジェクト: avirshup/D3R
    def test_download_participant_list_file_not_found(self):
        temp_dir = tempfile.mkdtemp()
        try:
            foo = FtpFileTransfer(None)
            mockftp = D3RParameters()
            mockftp.get = Mock()
            foo.set_remote_dir('/foo')
            foo.set_connection(mockftp)

            params = D3RParameters()
            task = DataImportTask(temp_dir, params)
            task.set_file_transfer(foo)
            task.create_dir()
            task._download_participant_list_csv()
            self.assertEqual(
                task.get_email_log(),
                '\nWARNING: participant_list.csv not downloaded '
                'which means external users will NOT get '
                'evaluation email\n')
            mockftp.get\
                .assert_called_with('/foo/' +
                                    DataImportTask.PARTICIPANT_LIST_CSV,
                                    local=task.get_participant_list_csv())
        finally:
            shutil.rmtree(temp_dir)
コード例 #2
0
 def _get_participant_database(self):
     """Creates `ParticipantDatabase`
     :returns: ParticipantDatabase
     """
     dimport = DataImportTask(self.get_path(), self.get_args())
     csvfile = dimport.get_participant_list_csv()
     pfac = ParticipantDatabaseFromCSVFactory(csvfile)
     return pfac.get_participant_database()
コード例 #3
0
ファイル: test_dataimport.py プロジェクト: avirshup/D3R
    def test_download_participant_list_success(self):
        temp_dir = tempfile.mkdtemp()
        try:
            foo = FtpFileTransfer(None)
            mockftp = D3RParameters()
            mockftp.get = Mock()
            foo.set_remote_dir('/foo')
            foo.set_connection(mockftp)

            params = D3RParameters()
            task = DataImportTask(temp_dir, params)
            task.set_file_transfer(foo)
            task.create_dir()
            open(task.get_participant_list_csv(), 'a').close()
            task._download_participant_list_csv()
            self.assertEqual(task.get_email_log(), None)
            mockftp.get\
                .assert_called_with('/foo/' +
                                    DataImportTask.PARTICIPANT_LIST_CSV,
                                    local=task.get_participant_list_csv())
        finally:
            shutil.rmtree(temp_dir)
コード例 #4
0
ファイル: test_dataimport.py プロジェクト: avirshup/D3R
    def test_run_all_success(self):
        temp_dir = tempfile.mkdtemp()
        try:
            fakeftp = FtpFileTransfer(None)
            mftp = D3RParameters()

            fakeftp.set_connection(mftp)
            fakeftp.set_remote_dir('/foo2')
            mftp.get = Mock()

            params = D3RParameters()
            params.pdbfileurl = 'file://' + temp_dir
            params.compinchi = 'file://' + temp_dir

            make_blast = MakeBlastDBTask(temp_dir, params)
            make_blast.create_dir()
            open(os.path.join(make_blast.get_dir(), D3RTask.COMPLETE_FILE),
                 'a').close()

            task = DataImportTask(temp_dir, params)
            task.set_file_transfer(fakeftp)
            task._retrysleep = 0
            open(os.path.join(temp_dir, task.NONPOLYMER_TSV), 'a').close()
            open(os.path.join(temp_dir, task.SEQUENCE_TSV), 'a').close()
            open(os.path.join(temp_dir, task.OLDSEQUENCE_TSV), 'a').close()
            open(os.path.join(temp_dir, task.CRYSTALPH_TSV), 'a').close()
            open(os.path.join(temp_dir, task.COMPINCHI_ICH), 'a').close()

            task.run()
            self.assertEquals(task.get_error(), None)

            # check line count is 1 now which indicates
            # standard was added
            self.assertEqual(
                util.get_file_line_count(task.get_nonpolymer_tsv()), 1)
            self.assertEqual(util.get_file_line_count(task.get_sequence_tsv()),
                             1)
            self.assertEqual(
                util.get_file_line_count(task.get_oldsequence_tsv()), 1)
            self.assertEqual(
                util.get_file_line_count(task.get_crystalph_tsv()), 1)

            mftp.get.assert_called_with('/foo2/' +
                                        DataImportTask.PARTICIPANT_LIST_CSV,
                                        local=task.get_participant_list_csv())
        finally:
            shutil.rmtree(temp_dir)
コード例 #5
0
 def test_get_participant_database_with_valid_csvfile(self):
     temp_dir = tempfile.mkdtemp()
     try:
         params = D3RParameters()
         dimport = DataImportTask(temp_dir, params)
         dimport.create_dir()
         csvfile = dimport.get_participant_list_csv()
         f = open(csvfile, 'w')
         f.write('name,d3rusername,guid,email\n')
         f.write('joe,jj,123,[email protected]\n')
         f.flush()
         f.close()
         etf = EvaluationTaskFactory(temp_dir, params)
         pdb = etf._get_participant_database()
         p = pdb.get_participant_by_guid('123')
         self.assertEqual(p.get_email(), '*****@*****.**')
     finally:
         shutil.rmtree(temp_dir)
コード例 #6
0
 def test_get_external_submitter_email_participant_not_found(self):
     temp_dir = tempfile.mkdtemp()
     try:
         params = D3RParameters()
         dimport = DataImportTask(temp_dir, params)
         dimport.create_dir()
         csvfile = dimport.get_participant_list_csv()
         f = open(csvfile, 'w')
         f.write('name,d3rusername,guid,email\n')
         f.write('joe,jj,123,[email protected]\n')
         f.flush()
         f.close()
         fac = ParticipantDatabaseFromCSVFactory(csvfile)
         params = D3RParameters()
         dtask = D3RTask('/foo', params)
         dtask.set_name('444' + EvaluationTask.EXT_SUBMISSION_SUFFIX)
         task = EvaluationTask(temp_dir, dtask.get_name(), dtask, params)
         emailer = EvaluationEmailer(fac.get_participant_database(), None)
         self.assertEqual(emailer._get_external_submitter_email(task), None)
         self.assertEqual(emailer.get_message_log(),
                          '\nNo participant found with guid: 444\n')
     finally:
         shutil.rmtree(temp_dir)
コード例 #7
0
ファイル: test_dataimport.py プロジェクト: avirshup/D3R
 def test_get_participant_list_csv(self):
     params = D3RParameters()
     task = DataImportTask('/foo', params)
     self.assertEqual(
         task.get_participant_list_csv(), '/foo/' + task.get_dir_name() +
         '/' + DataImportTask.PARTICIPANT_LIST_CSV)