Skip to content

Commit 6e6742a

Browse files
committed
test payload of rectangular queries
1 parent 59de3aa commit 6e6742a

File tree

2 files changed

+57
-1
lines changed

2 files changed

+57
-1
lines changed

astroquery/sdss/core.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -373,8 +373,10 @@ def query_region_async(self, coordinates, *, radius=None,
373373
else:
374374
sql_query = sql_query.replace(' ON p.objID = x.objID ORDER BY x.up_id', '')
375375

376-
if (not isinstance(coordinates, (list, Column, commons.CoordClasses)) and not coordinates.isscalar):
376+
if (not isinstance(coordinates, list) and not isinstance(coordinates, Column)
377+
and not (isinstance(coordinates, commons.CoordClasses) and not coordinates.isscalar)):
377378
coordinates = [coordinates]
379+
378380
rectangles = list()
379381
for n, target in enumerate(coordinates):
380382
# Query for a rectangle

astroquery/sdss/tests/test_sdss.py

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,60 @@ def test_list_coordinates_region_payload(patch_request, dr):
428428
assert query_payload['uquery'] == expect
429429
assert query_payload['format'] == 'csv'
430430
assert query_payload['photoScope'] == 'allObj'
431+
if dr > 11:
432+
assert query_payload['searchtool'] == 'CrossID'
433+
434+
435+
@pytest.mark.parametrize("dr", dr_list)
436+
def test_list_coordinates_region_payload_rectangle(patch_request, dr):
437+
expect = (" SELECT\r "
438+
"p.ra, p.dec, p.objid, p.run, p.rerun, p.camcol, p.field "
439+
"FROM PhotoObjAll AS p "
440+
"WHERE (((p.ra BETWEEN 2.02319 AND 2.02374) AND (p.dec BETWEEN 14.8395 AND 14.8401)) "
441+
"OR ((p.ra BETWEEN 2.02319 AND 2.02374) AND (p.dec BETWEEN 14.8395 AND 14.8401)))")
442+
query_payload = sdss.SDSS.query_region(coords_list, width=Angle('2 arcsec'),
443+
get_query_payload=True,
444+
data_release=dr)
445+
assert query_payload['cmd'] == expect
446+
assert query_payload['format'] == 'csv'
447+
if dr > 11:
448+
assert query_payload['searchtool'] == 'SQL'
449+
450+
451+
@pytest.mark.parametrize("dr", dr_list)
452+
def test_list_coordinates_region_spectro_payload_rectangle(patch_request, dr):
453+
expect = (" SELECT\r "
454+
"p.ra, p.dec, p.objid, p.run, p.rerun, p.camcol, p.field, "
455+
"s.z, s.plate, s.mjd, s.fiberID, s.specobjid, s.run2d "
456+
"FROM PhotoObjAll AS p "
457+
"JOIN SpecObjAll AS s ON p.objID = s.bestObjID "
458+
"WHERE (((p.ra BETWEEN 2.02319 AND 2.02374) AND (p.dec BETWEEN 14.8395 AND 14.8401)) "
459+
"OR ((p.ra BETWEEN 2.02319 AND 2.02374) AND (p.dec BETWEEN 14.8395 AND 14.8401)))")
460+
query_payload = sdss.SDSS.query_region(coords_list, width=Angle('2 arcsec'),
461+
spectro=True,
462+
get_query_payload=True,
463+
data_release=dr)
464+
assert query_payload['cmd'] == expect
465+
assert query_payload['format'] == 'csv'
466+
if dr > 11:
467+
assert query_payload['searchtool'] == 'SQL'
468+
469+
470+
@pytest.mark.parametrize("dr", dr_list)
471+
def test_coordinate_region_payload_rectangle(patch_request, dr):
472+
expect = (" SELECT\r "
473+
"p.ra, p.dec, p.objid, p.run, p.rerun, p.camcol, p.field "
474+
"FROM PhotoObjAll AS p "
475+
"WHERE ((((p.ra >= 359.999) OR (p.ra <= 0.00152171)) AND (p.dec BETWEEN 14.8356 AND 14.844)))")
476+
query_payload = sdss.SDSS.query_region(SkyCoord("0h0m00.03s +14d50m23.3s", frame="icrs"),
477+
width=Angle('10 arcsec'),
478+
height=Angle('30 arcsec'),
479+
get_query_payload=True,
480+
data_release=dr)
481+
assert query_payload['cmd'] == expect
482+
assert query_payload['format'] == 'csv'
483+
if dr > 11:
484+
assert query_payload['searchtool'] == 'SQL'
431485

432486

433487
@pytest.mark.parametrize("dr", dr_list)

0 commit comments

Comments
 (0)