def test_check_move_status_no_id(self): to_test = DataMoverServices(None, None) out = to_test.check_move_status() self.assertIsNotNone(out) self.assertEqual(STATUS_REJECTED, out['status']) self.assertEqual(REASON_MISSING_PARAMS_1S.format('id'), out['reason'])
def test_check_move_status_invalid_id(self): to_test = DataMoverServices(None, None) out = to_test.check_move_status(1234) self.assertIsNotNone(out) self.assertEqual(STATUS_REJECTED, out['status']) self.assertEqual(REASON_INVALID_PARAMS_1S.format('id must be a string'), out['reason'])
def test_check_move_status(self): to_test = DataMoverServices(None, None) to_test._executor = mock.MagicMock() to_test._move_jobs = {} dest = 'scp://visualiser/some/path' source = 'ala://ala/?lsid=lsid' out = to_test.move(source, dest) self.assertIsNotNone(out) self.assertEqual(MoveJob.STATUS_PENDING, out['status']) id = to_test._move_jobs.keys()[0] out = to_test.check_move_status(id) self.assertIsNotNone(out) self.assertEqual(MoveJob.STATUS_PENDING, out['status']) self.assertEqual(id, out['id']) # job should still exists out = to_test.check_move_status(id) self.assertIsNotNone(out) self.assertEqual(MoveJob.STATUS_PENDING, out['status']) self.assertEqual(id, out['id']) # Now update the move job to complete. to_test._move_jobs[id].update(status=MoveJob.STATUS_COMPLETE) # Check that the status is updated to complete out = to_test.check_move_status(id) self.assertIsNotNone(out) self.assertEqual(MoveJob.STATUS_COMPLETE, out['status']) self.assertEqual(id, out['id']) # Do a 2nd status query, job shall not exist anymore. out = to_test.check_move_status(id) self.assertIsNotNone(out) self.assertEqual(STATUS_REJECTED, out['status']) self.assertEqual(REASON_JOB_DOES_NOT_EXIST, out['reason'])
def test_check_move_status_unknown_job(self): to_test = DataMoverServices(None, None) dest = 'scp://visualiser/some/path' source = 'ala://ala/?lsid=lsid' out = to_test.move(source, dest) id = uuid.uuid4().hex out = to_test.check_move_status(id) self.assertIsNotNone(out) self.assertEqual(STATUS_REJECTED, out['status']) self.assertEqual(REASON_JOB_DOES_NOT_EXIST, out['reason'])