def test_job_join(job_data): job_data_2 = copy.copy(job_data) job_data_2["status"] = "succeeded" with requests_mock.mock() as m: m.get( "https://databasin.org/api/v1/jobs/1234/", [ {"text": json.dumps(job_data)}, {"text": json.dumps(job_data)}, {"text": json.dumps(job_data)}, {"text": json.dumps(job_data_2)}, ], ) with mock.patch("time.sleep", mock.Mock()) as time_mock: # Make sure the test actually stops if things don't work as planned time_mock.side_effect = [None, None, None, IOError] c = Client() job = c.get_job("1234") assert job.status == "queued" assert m.call_count == 1 job.join() assert m.call_count == 4 assert job.status == "succeeded" assert time_mock.call_count == 3
def test_job_refresh(job_data): job_data_2 = copy.copy(job_data) job_data_2.update({'status': 'running', 'progress': 50, 'message': 'Foo'}) with requests_mock.mock() as m: m.get('https://databasin.org/api/v1/jobs/1234/', [{ 'text': json.dumps(job_data) }, { 'text': json.dumps(job_data_2) }]) c = Client() job = c.get_job('1234') assert job.status == 'queued' assert job.progress == 0 assert job.message is None job.refresh() assert m.call_count == 2 assert job.status == 'running' assert job.progress == 50 assert job.message == 'Foo'
def test_job_join(job_data): job_data_2 = copy.copy(job_data) job_data_2['status'] = 'succeeded' with requests_mock.mock() as m: m.get('https://databasin.org/api/v1/jobs/1234/', [{ 'text': json.dumps(job_data) }, { 'text': json.dumps(job_data) }, { 'text': json.dumps(job_data) }, { 'text': json.dumps(job_data_2) }]) with mock.patch('time.sleep', mock.Mock()) as time_mock: # Make sure the test actually stops if things don't work as planned time_mock.side_effect = [None, None, None, IOError] c = Client() job = c.get_job('1234') assert job.status == 'queued' assert m.call_count == 1 job.join() assert m.call_count == 4 assert job.status == 'succeeded' assert time_mock.call_count == 3
def test_get_job(job_data): with requests_mock.mock() as m: m.get("https://databasin.org/api/v1/jobs/1234/", text=json.dumps(job_data)) c = Client() job = c.get_job("1234") assert job.id == "1234" assert m.called
def test_get_job(job_data): with requests_mock.mock() as m: m.get('https://databasin.org/api/v1/jobs/1234/', text=json.dumps(job_data)) c = Client() job = c.get_job('1234') assert job.id == '1234' assert m.called
def test_job_refresh(job_data): job_data_2 = copy.copy(job_data) job_data_2.update({"status": "running", "progress": 50, "message": "Foo"}) with requests_mock.mock() as m: m.get( "https://databasin.org/api/v1/jobs/1234/", [{"text": json.dumps(job_data)}, {"text": json.dumps(job_data_2)}], ) c = Client() job = c.get_job("1234") assert job.status == "queued" assert job.progress == 0 assert job.message is None job.refresh() assert m.call_count == 2 assert job.status == "running" assert job.progress == 50 assert job.message == "Foo"