Skip to content

Commit 8644ab7

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 8644ab7

File tree

1 file changed

+27
-10
lines changed

1 file changed

+27
-10
lines changed

astroquery/esasky/tests/test_esasky_remote.py

Lines changed: 27 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,13 @@ 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(position="M51", missions=mission, download_dir=tmp_path)
120122
assert tmp_path.stat().st_size
121123

124+
if mission != "Herschel" and result:
125+
for hdu_list in result[mission.upper()]:
126+
hdu_list.close()
127+
122128
@pytest.mark.bigdata
123129
def test_esasky_get_images_hst(self, tmp_path):
124130
ESASky.get_images(position="M11", radius="2.1 deg", missions="HST-UV",
@@ -141,12 +147,16 @@ def test_esasky_get_maps(self, tmp_path):
141147
iso_maps = ESASky.query_object_maps(position="M51", missions=mission)
142148
# Remove a few maps, so the other list will have downloadable ones, too
143149
iso_maps[mission].remove_rows([0, 1])
144-
ESASky.get_maps(iso_maps, download_dir=tmp_path)
150+
result = ESASky.get_maps(iso_maps, download_dir=tmp_path)
145151
assert len(os.listdir(file_path)) == len(all_maps[mission]) - 2
152+
for hdu_list in result[mission]:
153+
hdu_list.close()
146154

147155
iso_maps2 = dict({mission: all_maps[mission][:2]})
148-
ESASky.get_maps(iso_maps2, download_dir=tmp_path)
156+
result = ESASky.get_maps(iso_maps2, download_dir=tmp_path)
149157
assert len(os.listdir(file_path)) == len(all_maps[mission])
158+
for hdu_list in result[mission]:
159+
hdu_list.close()
150160

151161
def test_esasky_query_region_spectra(self):
152162
result = ESASky.query_region_spectra(position="M51", radius="5 arcmin")
@@ -164,9 +174,12 @@ def test_esasky_get_spectra(self, tmp_path, mission):
164174
# - HST-IR, JWST-MID-IR and CHEOPS have no data
165175
# - LAMOST does not support download
166176
# - 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)
177+
result = ESASky.get_spectra(position="M1", missions=mission, download_dir=tmp_path)
178+
assert Path(tmp_path, mission.upper()).exists()
168179

169-
assert Path(tmp_path, mission).exists()
180+
if mission != "Herschel":
181+
for hdu_list in result[mission.upper()]:
182+
hdu_list.close()
170183

171184
def test_esasky_get_spectra_small(self, tmp_path):
172185
missions = ['HST-IR']
@@ -185,11 +198,15 @@ def test_esasky_get_spectra_from_table(self, tmp_path):
185198
iso_spectra = ESASky.query_object_spectra(position="M51", missions=mission)
186199
# Remove a few maps, so the other list will have downloadable ones, too
187200
iso_spectra[mission].remove_rows([0, 1])
188-
ESASky.get_spectra_from_table(query_table_list=iso_spectra, download_dir=tmp_path)
201+
result = ESASky.get_spectra_from_table(query_table_list=iso_spectra, download_dir=tmp_path)
202+
for hdu_list in result[mission]:
203+
hdu_list.close()
189204
assert len(os.listdir(file_path)) == len(all_spectra[mission]) - 2
190205

191206
iso_spectra2 = dict({mission: all_spectra[mission][:2]})
192-
ESASky.get_spectra_from_table(query_table_list=iso_spectra2, download_dir=tmp_path)
207+
result = ESASky.get_spectra_from_table(query_table_list=iso_spectra2, download_dir=tmp_path)
208+
for hdu_list in result[mission]:
209+
hdu_list.close()
193210
assert len(os.listdir(file_path)) == len(all_spectra[mission])
194211

195212
def test_query(self):

0 commit comments

Comments
 (0)