def test_can_run_does_not_exist_or_error(self): temp_dir = tempfile.mkdtemp() try: params = D3RParameters() task = DataImportTask(temp_dir, params) # no make blast db self.assertEquals(task.can_run(), False) self.assertEquals(task.get_error(), 'makeblastdb task has notfound status') self.assertEquals(task._can_run, False) make_blast = MakeBlastDBTask(temp_dir, params) make_blast.create_dir() # make blast db failed err_file = os.path.join(make_blast.get_dir(), D3RTask.ERROR_FILE) open(err_file, 'a').close() self.assertEquals(task.can_run(), False) self.assertEquals(task.get_error(), 'makeblastdb task has error status') self.assertEquals(task._can_run, False) os.remove(err_file) # make blast db success open(os.path.join(make_blast.get_dir(), D3RTask.COMPLETE_FILE), 'a').close() self.assertEquals(task.can_run(), True) self.assertEquals(task.get_error(), None) self.assertEquals(task._can_run, True) task.create_dir() open(os.path.join(task.get_dir(), D3RTask.ERROR_FILE), 'a').close() self.assertEquals(task.can_run(), False) self.assertEquals(task._can_run, False) self.assertEquals( task.get_error(), task.get_dir_name() + ' already exists and ' + 'status is ' + D3RTask.ERROR_STATUS) finally: shutil.rmtree(temp_dir)
def test_can_run_with_complete_file(self): temp_dir = tempfile.mkdtemp() try: params = D3RParameters() task = DataImportTask(temp_dir, params) task.create_dir() open(os.path.join(task.get_dir(), D3RTask.COMPLETE_FILE), 'a').close() self.assertEquals(task.can_run(), False) self.assertEquals(task.get_error(), None) self.assertEquals(task._can_run, False) finally: shutil.rmtree(temp_dir)