Skip to content

Commit 6ba9561

Browse files
committed
restoring test coverage
1 parent 23472ce commit 6ba9561

File tree

2 files changed

+38
-37
lines changed

2 files changed

+38
-37
lines changed

astroquery/sdss/core.py

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -339,21 +339,21 @@ def query_region_async(self, coordinates, *, radius=None,
339339

340340
if width is not None:
341341
if isinstance(width, Angle):
342-
width = width.to_value(u.arcmin)
342+
width = width.to_value(u.degree)
343343
else:
344344
try:
345-
width = Angle(width).to_value(u.arcmin)
345+
width = Angle(width).to_value(u.degree)
346346
except ValueError:
347347
raise TypeError("width should be either Quantity or "
348348
"convertible to float.")
349349
if height is None:
350350
height = width
351351
else:
352352
if isinstance(height, Angle):
353-
height = height.to_value(u.arcmin)
353+
height = height.to_value(u.degree)
354354
else:
355355
try:
356-
height = Angle(height).to_value(u.arcmin)
356+
height = Angle(height).to_value(u.degree)
357357
except ValueError:
358358
raise TypeError("height should be either Quantity or "
359359
"convertible to float.")
@@ -378,16 +378,8 @@ def query_region_async(self, coordinates, *, radius=None,
378378
for n, target in enumerate(coordinates):
379379
# Query for a rectangle
380380
target = commons.parse_coordinates(target).transform_to('fk5')
381+
rectangles.append(self._rectangle_sql(target.ra.degree, target.dec.degree, width, height=height))
381382

382-
ra = target.ra.degree
383-
dec = target.dec.degree
384-
dra = Angle(width).to('degree').value / 2.0
385-
ddec = Angle(height).to('degree').value / 2.0
386-
rectangles.append('((p.ra BETWEEN {0:g} AND {1:g}) '
387-
'AND (p.dec BETWEEN {2:g} AND {3:g}))'.format(ra - dra,
388-
ra + dra,
389-
dec - ddec,
390-
dec + ddec))
391383
rect = ' OR '.join(rectangles)
392384
if 'WHERE' in sql_query:
393385
sql_query += f' AND ({rect})'

astroquery/sdss/tests/test_sdss.py

Lines changed: 33 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -123,26 +123,26 @@ def data_path(filename):
123123
# interfaces are supported for DR11."
124124
def url_tester(data_release):
125125
if data_release < 10:
126-
baseurl = 'https://skyserver.sdss.org/dr{}/en/tools/search/x_sql.asp'
126+
baseurl = f'https://skyserver.sdss.org/dr{data_release}/en/tools/search/x_sql.asp'
127127
if data_release == 10:
128-
baseurl = 'https://skyserver.sdss.org/dr{}/en/tools/search/x_sql.aspx'
128+
baseurl = f'https://skyserver.sdss.org/dr{data_release}/en/tools/search/x_sql.aspx'
129129
if data_release == 11:
130130
return
131131
if data_release >= 12:
132-
baseurl = 'https://skyserver.sdss.org/dr{}/en/tools/search/x_results.aspx'
133-
assert sdss.SDSS._last_url == baseurl.format(data_release)
132+
baseurl = f'https://skyserver.sdss.org/dr{data_release}/en/tools/search/x_results.aspx'
133+
assert sdss.SDSS._last_url == baseurl
134134

135135

136136
def url_tester_crossid(data_release):
137137
if data_release < 10:
138-
baseurl = 'https://skyserver.sdss.org/dr{}/en/tools/crossid/x_crossid.asp'
138+
baseurl = f'https://skyserver.sdss.org/dr{data_release}/en/tools/crossid/x_crossid.asp'
139139
if data_release == 10:
140-
baseurl = 'https://skyserver.sdss.org/dr{}/en/tools/crossid/x_crossid.aspx'
140+
baseurl = f'https://skyserver.sdss.org/dr{data_release}/en/tools/crossid/x_crossid.aspx'
141141
if data_release == 11:
142142
return
143143
if data_release >= 12:
144-
baseurl = 'https://skyserver.sdss.org/dr{}/en/tools/search/X_Results.aspx'
145-
assert sdss.SDSS._last_url == baseurl.format(data_release)
144+
baseurl = f'https://skyserver.sdss.org/dr{data_release}/en/tools/search/X_Results.aspx'
145+
assert sdss.SDSS._last_url == baseurl
146146

147147

148148
def compare_xid_data(xid, data):
@@ -270,22 +270,31 @@ def test_sdss_photoobj(patch_request, dr):
270270
compare_xid_data(xid, data)
271271
url_tester(dr)
272272

273-
274273
@pytest.mark.parametrize("dr", dr_list)
275-
def test_list_coordinates(patch_request, dr):
276-
xid = sdss.SDSS.query_region(coords_list, radius=Angle('2 arcsec'), data_release=dr)
277-
278-
with warnings.catch_warnings():
279-
if sys.platform.startswith('win'):
280-
warnings.filterwarnings("ignore", category=AstropyWarning,
281-
message=r'OverflowError converting.*')
282-
data = Table.read(data_path(DATA_FILES['images_id']),
283-
format='ascii.csv', comment='#')
284-
285-
data['objid'] = data['objid'].astype(np.int64)
286-
287-
compare_xid_data(xid, data)
288-
url_tester_crossid(dr)
274+
@pytest.mark.parametrize("radius", [None, Angle('2 arcsec')])
275+
@pytest.mark.parametrize("width", [None, Angle('2 arcsec')])
276+
def test_list_coordinates(patch_request, dr, radius, width):
277+
if (radius is None and width is None) or (radius is not None and width is not None):
278+
with pytest.raises(ValueError) as e:
279+
sdss.SDSS.query_region(coords, radius=radius, width=width)
280+
assert str(e.value) == "Either radius or width must be selected!"
281+
else:
282+
xid = sdss.SDSS.query_region(coords_list, radius=radius, width=width, data_release=dr)
283+
284+
with warnings.catch_warnings():
285+
if sys.platform.startswith('win'):
286+
warnings.filterwarnings("ignore", category=AstropyWarning,
287+
message=r'OverflowError converting.*')
288+
data = Table.read(data_path(DATA_FILES['images_id']),
289+
format='ascii.csv', comment='#')
290+
291+
data['objid'] = data['objid'].astype(np.int64)
292+
293+
compare_xid_data(xid, data)
294+
if width is None:
295+
url_tester_crossid(dr)
296+
else:
297+
url_tester(dr)
289298

290299

291300
@pytest.mark.parametrize("dr", dr_list)
@@ -305,7 +314,7 @@ def test_column_coordinates(patch_request, dr):
305314
url_tester_crossid(dr)
306315

307316

308-
def test_query_timeout(patch_request_slow, coord=coords):
317+
def test_query_timeout(patch_request_slow):
309318
with pytest.raises(TimeoutError):
310319
sdss.SDSS.query_region(coords, radius=Angle('2 arcsec'), timeout=1)
311320

0 commit comments

Comments
 (0)