Пример #1
0
def test_get_images():
    with patch('astroquery.utils.commons.get_readable_fileobj', autospec=True) as readable_fobj_mock:
        readable_fobj_mock.return_value = open(data_path('query_images.fits'), 'rb')

        cadc = Cadc()
        fits_images = cadc.get_images('08h45m07.5s +54d18m00s', 0.01*u.deg,
                                      get_url_list=True)
        assert fits_images == ['https://some.url']

        fits_images = cadc.get_images('08h45m07.5s +54d18m00s', '0.01 deg')
        assert fits_images is not None
        assert isinstance(fits_images[0], HDUList)
Пример #2
0
    def test_get_images(self):
        cadc = Cadc()
        coords = '08h45m07.5s +54d18m00s'
        radius = 0.005 * u.deg
        images = cadc.get_images(coords, radius, collection='CFHT')
        assert images is not None

        for image in images:
            assert isinstance(image, fits.HDUList)
Пример #3
0
    def test_get_images_against_AS(self):
        cadc = Cadc()
        coords = '08h45m07.5s +54d18m00s'
        radius = 0.05 * u.deg

        # Compare results from cadc advanced search to get_images
        query = cadc._args_to_payload(**{
            'coordinates': coords,
            'radius': radius,
            'data_product_type': 'image'
        })['query']
        result = cadc.exec_sync(query)
        uri_list = [uri.decode('ascii') for uri in result['publisherID']]
        access_url = 'https://www.cadc-ccda.hia-iha.nrc-cnrc.gc.ca/en/download'
        icrs_coords = parse_coordinates(coords).icrs
        data = {
            'uris':
            ' '.join(uri_list),
            'params':
            'cutout=Circle ICRS {} {} {}'.format(icrs_coords.ra.degree,
                                                 icrs_coords.dec.degree,
                                                 radius.value),
            'method':
            'URL List'
        }

        resp_urls = requests.post(access_url, data).text.split('\r\n')

        # Filter out the errors and empty strings
        filtered_resp_urls = list(
            filter(lambda url: not url.startswith('ERROR') and url != '',
                   resp_urls))

        # This function should return nearly the same urls
        image_urls = cadc.get_images(coords, radius, get_url_list=True)

        assert len(filtered_resp_urls) == len(image_urls)