Skip to content

Commit 98368e0

Browse files
Fixed change requests and added unit tests for cone_search_criteria
1 parent 49ddf2c commit 98368e0

File tree

2 files changed

+32
-10
lines changed

2 files changed

+32
-10
lines changed

astroquery/esa/hubble/core.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ class ESAHubbleClass(BaseQuery):
4242
3: "PRODUCT"}
4343
product_types = ["PRODUCT", "SCIENCE_PRODUCT", "POSTCARD"]
4444
copying_string = "Copying file to {0}..."
45-
obs_id_none = "Please input an observation id"
4645

4746
def __init__(self, tap_handler=None):
4847
super(ESAHubbleClass, self).__init__()
@@ -182,7 +181,7 @@ def get_observation_type(self, observation_id):
182181
String with the observation type
183182
"""
184183
if observation_id is None:
185-
raise ValueError(self.obs_id_none)
184+
raise ValueError("Please input an observation id")
186185

187186
query = f"select obs_type from ehst.observation where observation_id='{observation_id}'"
188187
job = self.query_hst_tap(query=query)
@@ -466,14 +465,11 @@ def cone_search_criteria(self, radius, target=None,
466465
"parameter.")
467466
if target:
468467
coord = self._query_tap_target(target)
469-
ra = coord.get('RA_DEGREES')
470-
dec = coord.get('DEC_DEGREES')
471-
472-
# ra, dec = self._query_tap_target(target)
473468
else:
474469
coord = self._getCoordInput(coordinates)
475-
ra = coord.ra.deg
476-
dec = coord.dec.deg
470+
471+
ra = coord.ra.deg
472+
dec = coord.dec.deg
477473

478474
if type(radius) == int or type(radius) == float:
479475
radius_in_grades = Angle(radius, units.arcmin).deg
@@ -505,7 +501,6 @@ def _query_tap_target(self, target):
505501
ra = target_result['RA_DEGREES']
506502
dec = target_result['DEC_DEGREES']
507503
return SkyCoord(ra=ra, dec=dec, unit="deg")
508-
# return ra, dec
509504
except KeyError as e:
510505
raise ValueError("This target cannot be resolved")
511506

astroquery/esa/hubble/tests/test_esa_hubble.py

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -386,7 +386,7 @@ def test_cone_search_criteria(self):
386386
"'%WFPC2%') AND (o.instrument_configuration " \
387387
"LIKE '%F606W%'))"
388388
ehst.query_criteria = MagicMock(return_value=query_criteria_query)
389-
target = {'RA_DEGREES': '10.6847083', 'DEC_DEGREES': '41.26875'}
389+
target = coordinates.SkyCoord("00h42m44.51s +41d16m08.45s", frame='icrs')
390390
ehst._query_tap_target = MagicMock(return_value=target)
391391
ehst.cone_search_criteria(target=parameters1['target'],
392392
radius=parameters1['radius'],
@@ -602,3 +602,30 @@ def test_get_member_observations_invalid_id_valueerror(self, mock_observation_ty
602602
ehst = ESAHubbleClass(self.get_dummy_tap_handler())
603603
dummy_obs_id = "1234"
604604
ehst.get_member_observations(dummy_obs_id)
605+
606+
@patch.object(ESAHubbleClass, 'query_criteria')
607+
@patch.object(ESAHubbleClass, '_query_tap_target')
608+
@patch.object(ESAHubbleClass, 'query_hst_tap')
609+
def test_cone_search_criteria_only_target(self, mock_query_hst_tap, mock__query_tap_target, mock_query_criteria):
610+
mock_query_criteria.return_value = "Simple query"
611+
mock__query_tap_target.return_value = coordinates.SkyCoord("00h42m44.51s +41d16m08.45s", frame='icrs')
612+
mock_query_hst_tap.return_value = "table"
613+
ehst = ESAHubbleClass(self.get_dummy_tap_handler())
614+
oids = ehst.cone_search_criteria(target="m11", radius=1)
615+
assert oids == 'table'
616+
617+
@patch.object(ESAHubbleClass, 'query_criteria')
618+
@patch.object(ESAHubbleClass, 'query_hst_tap')
619+
def test_cone_search_criteria_only_coordinates(self, mock_query_hst_tap, mock_query_criteria):
620+
mock_query_criteria.return_value = "Simple query"
621+
mock_query_hst_tap.return_value = "table"
622+
ehst = ESAHubbleClass(self.get_dummy_tap_handler())
623+
oids = ehst.cone_search_criteria(coordinates="00h42m44.51s +41d16m08.45s", radius=1)
624+
assert oids == 'table'
625+
626+
@patch.object(ESAHubbleClass, 'query_criteria')
627+
def test_cone_search_criteria_typeerror(self, mock_query_criteria):
628+
mock_query_criteria.return_value = "Simple query"
629+
with pytest.raises(TypeError):
630+
ehst = ESAHubbleClass(self.get_dummy_tap_handler())
631+
ehst.cone_search_criteria(coordinates="00h42m44.51s +41d16m08.45s", target="m11", radius=1)

0 commit comments

Comments
 (0)