def test_async(self):
        # test async calls
        cadc = Cadc()

        # run the query in sync mode first
        expected = cadc.exec_sync(
            "select top 3 observationID from caom2.Observation where "
            "collection='IRIS' order by observationID")

        # now run the query in async mode
        job = cadc.create_async(
            "select top 3 observationID from caom2.Observation where "
            "collection='IRIS' order by observationID")
        job = job.run().wait()
        job.raise_if_error()
        result = job.fetch_result().to_table()
        assert len(expected) == len(result)
        for ii in range(0, 2):
            assert expected['observationID'][ii] == result['observationID'][ii]
        # load job again
        loaded_job = cadc.load_async_job(job.job_id)
        result = loaded_job.fetch_result().to_table()
        assert len(expected) == len(result)
        for ii in range(0, 2):
            assert expected['observationID'][ii] == result['observationID'][ii]
示例#2
0
def test_load_async_job(monkeypatch):
    dummyTapHandler = DummyTapHandler()
    monkeypatch.setattr(cadc_core, 'get_access_url', get_access_url_mock)
    tap = Cadc(tap_plus_handler=dummyTapHandler)
    jobid = '123'
    # default parameters
    parameters = {}
    parameters['jobid'] = jobid
    parameters['verbose'] = False
    tap.load_async_job(jobid)
    dummyTapHandler.check_call('load_async_job', parameters)
    # test with parameters
    dummyTapHandler.reset()
    parameters['jobid'] = jobid
    parameters['verbose'] = True
    tap.load_async_job(jobid, verbose=True)
    dummyTapHandler.check_call('load_async_job', parameters)
示例#3
0
def test_load_async_job():
    with patch('astroquery.cadc.core.pyvo.dal.TAPService', autospec=True) as tapservice_mock:
        with patch('astroquery.cadc.core.pyvo.dal.AsyncTAPJob',
                   autospec=True) as tapjob_mock:
            tapservice_mock.return_value.baseurl.return_value = 'https://www.example.com/tap'
            mock_job = Mock()
            mock_job.job_id = '123'
            tapjob_mock.return_value = mock_job
            cadc = Cadc()
            jobid = '123'
            job = cadc.load_async_job(jobid)
            assert job.job_id == '123'