Skip to content

Commit 8e9b2f0

Browse files
committed
Fix esasky remote tests
The two reasons the tests were failing were not using uppercase filenames for file existence checks where needed and not closing HDULists.
1 parent c293417 commit 8e9b2f0

File tree

1 file changed

+35
-10
lines changed

1 file changed

+35
-10
lines changed

astroquery/esasky/tests/test_esasky_remote.py

Lines changed: 35 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -78,13 +78,15 @@ def test_esasky_get_images_obs_id(self, tmp_path, mission, obsid):
7878
result = ESASky.get_images(observation_ids=obsid,
7979
missions=mission, download_dir=tmp_path)
8080

81-
assert Path(tmp_path, mission).exists()
81+
assert Path(tmp_path, mission.upper()).exists()
8282
if mission == "Herschel":
8383
assert isinstance(result[mission.upper()][0]["250"], HDUList)
8484
assert isinstance(result[mission.upper()][0]["350"], HDUList)
8585
assert isinstance(result[mission.upper()][0]["500"], HDUList)
8686
else:
8787
assert isinstance(result[mission.upper()][0], HDUList)
88+
for hdu_list in result[mission.upper()]:
89+
hdu_list.close()
8890

8991
@pytest.mark.parametrize("mission, observation_id",
9092
zip(["ISO-IR", "Chandra", "IUE", "XMM-NEWTON",
@@ -95,12 +97,13 @@ def test_esasky_get_spectra_obs_id(self, tmp_path, mission, observation_id):
9597
result = ESASky.get_spectra(observation_ids=observation_id,
9698
missions=mission, download_dir=tmp_path)
9799

98-
assert Path(tmp_path, mission).exists()
100+
assert Path(tmp_path, mission.upper()).exists()
99101
if mission == "Herschel":
100102
assert isinstance(result[mission.upper()]["1342253595"]["WBS"]["WBS-V_USB_4b"], HDUList)
101103
assert isinstance(result[mission.upper()]["1342253595"]["HRS"]["HRS-H_LSB_4b"], HDUList)
102104
else:
103105
assert isinstance(result[mission.upper()][0], HDUList)
106+
result[mission.upper()][0].close()
104107

105108
def test_esasky_query_region_maps(self):
106109
result = ESASky.query_region_maps(position="M51", radius="5 arcmin")
@@ -115,10 +118,15 @@ def test_esasky_query_object_maps(self):
115118
'ISO-IR', 'Herschel', 'JWST-MID-IR',
116119
'JWST-NEAR-IR', 'Spitzer'])
117120
def test_esasky_get_images(self, tmp_path, mission):
118-
ESASky.get_images(position="M51", missions=mission, download_dir=tmp_path)
119-
121+
result = ESASky.get_images(
122+
position="M51", missions=mission, download_dir=tmp_path
123+
)
120124
assert tmp_path.stat().st_size
121125

126+
if mission != "Herschel" and result:
127+
for hdu_list in result[mission.upper()]:
128+
hdu_list.close()
129+
122130
@pytest.mark.bigdata
123131
def test_esasky_get_images_hst(self, tmp_path):
124132
ESASky.get_images(position="M11", radius="2.1 deg", missions="HST-UV",
@@ -141,12 +149,16 @@ def test_esasky_get_maps(self, tmp_path):
141149
iso_maps = ESASky.query_object_maps(position="M51", missions=mission)
142150
# Remove a few maps, so the other list will have downloadable ones, too
143151
iso_maps[mission].remove_rows([0, 1])
144-
ESASky.get_maps(iso_maps, download_dir=tmp_path)
152+
result = ESASky.get_maps(iso_maps, download_dir=tmp_path)
145153
assert len(os.listdir(file_path)) == len(all_maps[mission]) - 2
154+
for hdu_list in result[mission]:
155+
hdu_list.close()
146156

147157
iso_maps2 = dict({mission: all_maps[mission][:2]})
148-
ESASky.get_maps(iso_maps2, download_dir=tmp_path)
158+
result = ESASky.get_maps(iso_maps2, download_dir=tmp_path)
149159
assert len(os.listdir(file_path)) == len(all_maps[mission])
160+
for hdu_list in result[mission]:
161+
hdu_list.close()
150162

151163
def test_esasky_query_region_spectra(self):
152164
result = ESASky.query_region_spectra(position="M51", radius="5 arcmin")
@@ -164,9 +176,14 @@ def test_esasky_get_spectra(self, tmp_path, mission):
164176
# - HST-IR, JWST-MID-IR and CHEOPS have no data
165177
# - LAMOST does not support download
166178
# - JWST-NEAR-IR returns a zip file with many fits files in it, unsupported
167-
ESASky.get_spectra(position="M1", missions=mission, download_dir=tmp_path)
179+
result = ESASky.get_spectra(
180+
position="M1", missions=mission, download_dir=tmp_path
181+
)
182+
assert Path(tmp_path, mission.upper()).exists()
168183

169-
assert Path(tmp_path, mission).exists()
184+
if mission != "Herschel":
185+
for hdu_list in result[mission.upper()]:
186+
hdu_list.close()
170187

171188
def test_esasky_get_spectra_small(self, tmp_path):
172189
missions = ['HST-IR']
@@ -185,11 +202,19 @@ def test_esasky_get_spectra_from_table(self, tmp_path):
185202
iso_spectra = ESASky.query_object_spectra(position="M51", missions=mission)
186203
# Remove a few maps, so the other list will have downloadable ones, too
187204
iso_spectra[mission].remove_rows([0, 1])
188-
ESASky.get_spectra_from_table(query_table_list=iso_spectra, download_dir=tmp_path)
205+
result = ESASky.get_spectra_from_table(
206+
query_table_list=iso_spectra, download_dir=tmp_path
207+
)
208+
for hdu_list in result[mission]:
209+
hdu_list.close()
189210
assert len(os.listdir(file_path)) == len(all_spectra[mission]) - 2
190211

191212
iso_spectra2 = dict({mission: all_spectra[mission][:2]})
192-
ESASky.get_spectra_from_table(query_table_list=iso_spectra2, download_dir=tmp_path)
213+
result = ESASky.get_spectra_from_table(
214+
query_table_list=iso_spectra2, download_dir=tmp_path
215+
)
216+
for hdu_list in result[mission]:
217+
hdu_list.close()
193218
assert len(os.listdir(file_path)) == len(all_spectra[mission])
194219

195220
def test_query(self):

0 commit comments

Comments
 (0)