Skip to content

Commit 9667831

Browse files
committed
Check call tests added
1 parent 33d2cbd commit 9667831

File tree

3 files changed

+103
-6
lines changed

3 files changed

+103
-6
lines changed

astroquery/esa/jwst/core.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -935,7 +935,7 @@ def get_product(self, *, artifact_id=None, file_name=None):
935935
return output_file_name
936936

937937
def _query_get_product(self, *, artifact_id=None, file_name=None):
938-
if(file_name):
938+
if file_name:
939939
query_artifactid = (f"select * from {conf.JWST_ARTIFACT_TABLE} "
940940
f"a where a.filename = "
941941
f"'{file_name}'")

astroquery/esa/jwst/tests/DummyTapHandler.py

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
European Space Agency (ESA)
99
1010
"""
11+
from astropy.table import Table
12+
import numpy as np
1113

1214
from astroquery.utils.tap.model.job import Job
1315

@@ -17,14 +19,18 @@ class DummyTapHandler:
1719
def __init__(self):
1820
self.__invokedMethod = None
1921
self.__parameters = {}
20-
self.__dummy_results = "dummy_results"
22+
self.__dummy_results = {"filename": ["dummy_filename"],
23+
"artifactid": ["dummy_artifact"],
24+
"observationid": Table({'obs': np.arange(1)})}
2125
self.__job = Job(async_job=False)
2226
self.__job.set_results(self.__dummy_results)
2327

2428
def reset(self):
2529
self.__parameters = {}
2630
self.__invokedMethod = None
27-
self.__dummy_results = "dummy_results"
31+
self.__dummy_results = {"filename": ["dummy_filename"],
32+
"artifactid": ["dummy_artifact"],
33+
"observationid": Table({'a': np.arange(1)})}
2834
self.__job = Job(async_job=False)
2935
self.__job.set_results(self.__dummy_results)
3036

@@ -217,9 +223,9 @@ def save_results(self, job, verbose=False):
217223
def login(self, user=None, password=None, credentials_file=None,
218224
verbose=False):
219225
self.__invokedMethod = 'login'
220-
self.__parameters['user'] = verbose
221-
self.__parameters['password'] = verbose
222-
self.__parameters['credentials_file'] = verbose
226+
self.__parameters['user'] = user
227+
self.__parameters['password'] = password
228+
self.__parameters['credentials_file'] = credentials_file
223229
self.__parameters['verbose'] = verbose
224230
return None
225231

@@ -238,3 +244,7 @@ def load_data(self, params_dict, output_file=None, verbose=False):
238244
self.__parameters['params_dict'] = params_dict
239245
self.__parameters['output_file'] = output_file
240246
self.__parameters['verbose'] = verbose
247+
248+
def set_job_results(self, results):
249+
self.__dummy_results = results
250+
self.__job.set_results(self.__dummy_results)

astroquery/esa/jwst/tests/test_jwsttap.py

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,8 @@ def get_product_mock(params, *args, **kwargs):
7373

7474
@pytest.fixture(autouse=True)
7575
def get_product_request(request):
76+
if 'noautofixt' in request.keywords:
77+
return
7678
mp = request.getfixturevalue("monkeypatch")
7779
mp.setattr(JwstClass, '_query_get_product', get_product_mock)
7880
return mp
@@ -968,3 +970,88 @@ def test_query_target_error(self):
968970
jwst.query_target(target_name="test", target_resolver="VIZIER",
969971
radius=units.Quantity(5, units.deg))
970972
assert 'This target name cannot be determined with this resolver: VIZIER' in err.value.args[0]
973+
974+
def test_remove_jobs(self):
975+
dummyTapHandler = DummyTapHandler()
976+
tap = JwstClass(tap_plus_handler=dummyTapHandler, show_messages=False)
977+
job_list = ['dummyJob']
978+
parameters = {}
979+
parameters['jobs_list'] = job_list
980+
parameters['verbose'] = False
981+
tap.remove_jobs(job_list)
982+
dummyTapHandler.check_call('remove_jobs', parameters)
983+
984+
def test_save_results(self):
985+
dummyTapHandler = DummyTapHandler()
986+
tap = JwstClass(tap_plus_handler=dummyTapHandler, show_messages=False)
987+
job = 'dummyJob'
988+
parameters = {}
989+
parameters['job'] = job
990+
parameters['verbose'] = False
991+
tap.save_results(job)
992+
dummyTapHandler.check_call('save_results', parameters)
993+
994+
def test_login(self):
995+
dummyTapHandler = DummyTapHandler()
996+
tap = JwstClass(tap_plus_handler=dummyTapHandler, show_messages=False)
997+
parameters = {}
998+
parameters['user'] = 'test_user'
999+
parameters['password'] = 'test_password'
1000+
parameters['credentials_file'] = None
1001+
parameters['verbose'] = False
1002+
tap.login(user='test_user', password='test_password')
1003+
dummyTapHandler.check_call('login', parameters)
1004+
1005+
def test_login_gui(self):
1006+
dummyTapHandler = DummyTapHandler()
1007+
tap = JwstClass(tap_plus_handler=dummyTapHandler, show_messages=False)
1008+
parameters = {}
1009+
parameters['verbose'] = False
1010+
tap.login_gui()
1011+
dummyTapHandler.check_call('login_gui', parameters)
1012+
1013+
def test_logout(self):
1014+
dummyTapHandler = DummyTapHandler()
1015+
tap = JwstClass(tap_plus_handler=dummyTapHandler, show_messages=False)
1016+
parameters = {}
1017+
parameters['verbose'] = False
1018+
tap.logout()
1019+
dummyTapHandler.check_call('logout', parameters)
1020+
1021+
@pytest.mark.noautofixt
1022+
def test_query_get_product(self):
1023+
dummyTapHandler = DummyTapHandler()
1024+
tap = JwstClass(tap_plus_handler=dummyTapHandler, show_messages=False)
1025+
file = 'test_file'
1026+
parameters = {}
1027+
parameters['query'] = f"select * from jwst.artifact a where a.filename = '{file}'"
1028+
parameters['name'] = None
1029+
parameters['output_file'] = None
1030+
parameters['output_format'] = 'votable'
1031+
parameters['verbose'] = False
1032+
parameters['dump_to_file'] = False
1033+
parameters['upload_resource'] = None
1034+
parameters['upload_table_name'] = None
1035+
tap._query_get_product(file_name=file)
1036+
dummyTapHandler.check_call('launch_job', parameters)
1037+
1038+
artifact = 'test_artifact'
1039+
parameters['query'] = f"select * from jwst.artifact a where a.artifactid = '{artifact}'"
1040+
tap._query_get_product(artifact_id=artifact)
1041+
dummyTapHandler.check_call('launch_job', parameters)
1042+
1043+
def test_get_related_observations(self):
1044+
dummyTapHandler = DummyTapHandler()
1045+
tap = JwstClass(tap_plus_handler=dummyTapHandler, show_messages=False)
1046+
obs = 'dummyObs'
1047+
tap.get_related_observations(observation_id=obs)
1048+
parameters = {}
1049+
parameters['query'] = f"select * from jwst.main m where m.members like '%{obs}%'"
1050+
parameters['name'] = None
1051+
parameters['output_file'] = None
1052+
parameters['output_format'] = 'votable'
1053+
parameters['verbose'] = False
1054+
parameters['dump_to_file'] = False
1055+
parameters['upload_resource'] = None
1056+
parameters['upload_table_name'] = None
1057+
dummyTapHandler.check_call('launch_job', parameters)

0 commit comments

Comments
 (0)