Skip to content

Commit

Permalink
Fixing more warnings and removing them from the config
Browse files Browse the repository at this point in the history
  • Loading branch information
bsipocz committed Sep 12, 2022
1 parent 6c79576 commit 05e9f4c
Show file tree
Hide file tree
Showing 19 changed files with 99 additions and 73 deletions.
4 changes: 3 additions & 1 deletion astroquery/alfalfa/tests/test_alfalfa.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@ def patch_get_readable_fileobj(request):
@contextmanager
def get_readable_fileobj_mockreturn(filename, **kwargs):
file_obj = data_path(DATA_FILES['spectrum']) # TODO: add images option
yield open(file_obj, 'rb') # read as bytes, assuming FITS
# read as bytes, assuming FITS
with open(file_obj, 'rb') as inputfile:
yield inputfile

mp = request.getfixturevalue("monkeypatch")

Expand Down
6 changes: 3 additions & 3 deletions astroquery/besancon/tests/test_besancon.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,11 @@ def get_readable_fileobj_mockreturn(filename, **kwargs):
if isinstance(filename, str):
if '1376235131.430670' in filename:
is_binary = kwargs.get('encoding', None) == 'binary'
file_obj = open(data_path('1376235131.430670.resu'),
"r" + ('b' if is_binary else ''))
with open(data_path('1376235131.430670.resu'), "r" + ('b' if is_binary else '')) as file_obj:
yield file_obj
else:
file_obj = filename
yield file_obj
yield file_obj

mp = request.getfixturevalue("monkeypatch")

Expand Down
4 changes: 3 additions & 1 deletion astroquery/cadc/tests/test_cadctap.py
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,9 @@ def raise_for_status(self):
class CapabilitiesResponse:
def __init__(self):
caps_file = data_path('tap_caps.xml')
self.text = open(caps_file, 'r').read()
with open(caps_file, 'r') as infile:
text = infile.read()
self.text = text

def raise_for_status(self):
pass
Expand Down
13 changes: 9 additions & 4 deletions astroquery/casda/tests/test_casda.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import astropy.units as u
from astropy.table import Table, Column
from astropy.io.votable import parse
from astropy.io.votable.exceptions import W03, W50
from astroquery import log
import numpy as np

Expand Down Expand Up @@ -269,7 +270,8 @@ def test_query_region_async_box(patch_get):


def test_filter_out_unreleased():
all_records = parse(data_path('partial_unreleased.xml'), verify='warn').get_first_table().to_table()
with pytest.warns(W03):
all_records = parse(data_path('partial_unreleased.xml'), verify='warn').get_first_table().to_table()
assert all_records[0]['obs_release_date'] == '2017-08-02T03:51:19.728Z'
assert all_records[1]['obs_release_date'] == '2218-01-02T16:51:00.728Z'
assert all_records[2]['obs_release_date'] == ''
Expand Down Expand Up @@ -331,7 +333,8 @@ def test_stage_data(patch_get):
casda = Casda()
fake_login(casda, USERNAME, PASSWORD)
casda.POLL_INTERVAL = 1
urls = casda.stage_data(table, verbose=True)
with pytest.warns(W50, match="Invalid unit string 'pixels'"):
urls = casda.stage_data(table, verbose=True)
assert urls == ['http://casda.csiro.au/download/web/111-000-111-000/askap_img.fits.checksum',
'http://casda.csiro.au/download/web/111-000-111-000/askap_img.fits']

Expand All @@ -348,7 +351,8 @@ def test_cutout(patch_get):
casda = Casda()
fake_login(casda, USERNAME, PASSWORD)
casda.POLL_INTERVAL = 1
urls = casda.cutout(table, coordinates=centre, radius=radius, verbose=True)
with pytest.warns(W50, match="Invalid unit string 'pixels'"):
urls = casda.cutout(table, coordinates=centre, radius=radius, verbose=True)
assert urls == ['http://casda.csiro.au/download/web/111-000-111-000/cutout.fits.checksum',
'http://casda.csiro.au/download/web/111-000-111-000/cutout.fits']

Expand All @@ -367,7 +371,8 @@ def test_cutout_no_args(patch_get):
casda.POLL_INTERVAL = 1
with pytest.raises(ValueError,
match=r"Please provide cutout parameters such as coordinates, band or channel\.") as excinfo:
casda.cutout(table)
with pytest.warns(W50, match="Invalid unit string 'pixels'"):
casda.cutout(table)


def test_cutout_unauthorised(patch_get):
Expand Down
13 changes: 9 additions & 4 deletions astroquery/exoplanet_orbit_database/exoplanet_orbit_database.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Licensed under a 3-clause BSD style license - see LICENSE.rst
import json
import os
import warnings

from astropy.utils.data import download_file
from astropy.io import ascii
Expand Down Expand Up @@ -30,9 +31,9 @@ def __init__(self):
def param_units(self):
if self._param_units is None:
module_dir = os.path.dirname(os.path.abspath(__file__))
units_file = open(os.path.join(module_dir, 'data',
'exoplanet_orbit_database_units.json'))
self._param_units = json.load(units_file)
filename = os.path.join(module_dir, 'data', 'exoplanet_orbit_database_units.json')
with open(filename) as units_file:
self._param_units = json.load(units_file)

return self._param_units

Expand Down Expand Up @@ -82,7 +83,11 @@ def get_table(self, cache=True, show_progress=True, table_path=None):
except ValueError:
print(f"WARNING: Unit {self.param_units[col]} not recognised")

self._table = QTable(exoplanets_table)
# Masked quantities are not supported in older astropy, warnings are raised for <v5.0
with warnings.catch_warnings():
warnings.filterwarnings('ignore', message='dropping mask in Quantity column',
category=UserWarning)
self._table = QTable(exoplanets_table)

return self._table

Expand Down
7 changes: 4 additions & 3 deletions astroquery/heasarc/tests/test_heasarc_remote_isdc.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
import pytest
import requests

from astropy.time import Time, TimeDelta
import astropy.units as u

from ...heasarc import Heasarc, Conf
from ...utils import commons

Expand Down Expand Up @@ -78,13 +81,11 @@ def test_compare_time(self, patch_get):
patch_get.assume_fileid_for_request(
lambda url, params: f"last-month-{params['tablehead'].split()[-1]}")

from astropy.time import Time, TimeDelta

object_name = 'Crab'

heasarc = Heasarc()

month_ago = (Time.now() - TimeDelta(30)).isot[:10]
month_ago = (Time.now() - TimeDelta(30 * u.day)).isot[:10]
today = Time.now().isot[:10]
T = month_ago + " .. " + today

Expand Down
7 changes: 3 additions & 4 deletions astroquery/ipac/irsa/ibe/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
https://irsa.ipac.caltech.edu/ibe/
"""


import os
import webbrowser
from bs4 import BeautifulSoup
Expand Down Expand Up @@ -270,7 +269,7 @@ def list_missions(self, cache=True):
response = self._request('GET', url, timeout=self.TIMEOUT,
cache=cache)

root = BeautifulSoup(response.text)
root = BeautifulSoup(response.text, 'html5lib')
links = root.findAll('a')

missions = [os.path.basename(a.attrs['href'].rstrip('/'))
Expand Down Expand Up @@ -308,7 +307,7 @@ def list_datasets(self, mission=None, cache=True):
response = self._request('GET', url, timeout=self.TIMEOUT,
cache=cache)

root = BeautifulSoup(response.text)
root = BeautifulSoup(response.text, 'html5lib')
links = root.findAll('a')
datasets = [a.text for a in links
if a.attrs['href'].count('/') >= 4 # shown as '..'; ignore
Expand Down Expand Up @@ -362,7 +361,7 @@ def list_tables(self, mission=None, dataset=None, cache=True):
response = self._request('GET', url, timeout=self.TIMEOUT,
cache=cache)

root = BeautifulSoup(response.text)
root = BeautifulSoup(response.text, 'html5lib')
return [tr.find('td').string for tr in root.findAll('tr')[1:]]

# Unfortunately, the URL construction for each data set is different, and
Expand Down
4 changes: 2 additions & 2 deletions astroquery/ipac/irsa/sha/tests/test_sha.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ def data_path(filename):
def get_mockreturn(url, params=None, stream=False, timeout=10, **kwargs):
if stream:
filename = data_path(DATA_FILES['img'])
return MockResponse(open(filename, 'rb').read(),
content_type='image/fits', **kwargs)
with open(filename, 'rb') as infile:
return MockResponse(infile.read(), content_type='image/fits', **kwargs)
elif params['RA'] == 163.6136:
filename = data_path(DATA_FILES['pos_t'])
elif params['NAIFID'] == 2003226:
Expand Down
8 changes: 6 additions & 2 deletions astroquery/ipac/ned/tests/test_ned.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Licensed under a 3-clause BSD style license - see LICENSE.rst

import os
from contextlib import contextmanager

from numpy import testing as npt
import pytest
Expand Down Expand Up @@ -47,12 +48,14 @@ def patch_get(request):

@pytest.fixture
def patch_get_readable_fileobj(request):
@contextmanager
def get_readable_fileobj_mockreturn(filename, cache=True, encoding=None,
show_progress=True):
# Need to read FITS files with binary encoding: should raise error
# otherwise
assert encoding == 'binary'
return open(data_path(DATA_FILES['image']), 'rb')
with open(data_path(DATA_FILES['image']), 'rb') as infile:
yield infile

mp = request.getfixturevalue("monkeypatch")

Expand Down Expand Up @@ -138,7 +141,8 @@ def test_photometry(patch_get):


def test_extract_image_urls():
html_in = open(data_path(DATA_FILES['extract_urls']), 'r').read()
with open(data_path(DATA_FILES['extract_urls']), 'r') as infile:
html_in = infile.read()
url_list = ned.core.Ned._extract_image_urls(html_in)
assert len(url_list) == 5
for url in url_list:
Expand Down
2 changes: 1 addition & 1 deletion astroquery/mast/tests/test_mast.py
Original file line number Diff line number Diff line change
Expand Up @@ -614,7 +614,7 @@ def test_catalogs_query_criteria(patch_post):
assert isinstance(result, Table)

with pytest.raises(InvalidQueryError) as invalid_query:
mast.Catalogs.query_criteria(catalog="Tic", objectName="M10")
mast.Catalogs.query_criteria(catalog="Tic", objectname="M10")
assert "non-positional" in str(invalid_query.value)


Expand Down
11 changes: 6 additions & 5 deletions astroquery/nvas/tests/test_nvas.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,11 +60,11 @@ def patch_get_readable_fileobj(request):
def get_readable_fileobj_mockreturn(filename, **kwargs):
encoding = kwargs.get('encoding', None)
if encoding == 'binary':
file_obj = open(data_path(DATA_FILES["image"]), 'rb')
with open(data_path(DATA_FILES["image"]), 'rb') as file_obj:
yield file_obj
else:
file_obj = open(data_path(DATA_FILES["image"]),
"r", encoding=encoding)
yield file_obj
with open(data_path(DATA_FILES["image"]), "r", encoding=encoding) as file_obj:
yield file_obj

mp = request.getfixturevalue("monkeypatch")

Expand Down Expand Up @@ -95,7 +95,8 @@ def test_parse_coordinates(coordinates):


def test_extract_image_urls():
html_in = open(data_path(DATA_FILES['image_search']), 'r').read()
with open(data_path(DATA_FILES['image_search']), 'r') as infile:
html_in = infile.read()
image_list = nvas.core.Nvas.extract_image_urls(html_in)
assert len(image_list) == 2

Expand Down
6 changes: 5 additions & 1 deletion astroquery/ogle/tests/test_ogle.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,11 @@
import pytest
from astropy.coordinates import SkyCoord
from astropy import units as u
from astropy.utils.exceptions import AstropyDeprecationWarning

from astroquery.utils.mocks import MockResponse


DATA_FILES = {'gal_0_3': 'gal_0_3.txt'}


Expand Down Expand Up @@ -56,4 +59,5 @@ def test_ogle_list_values(patch_post):
coordinates
"""
co_list = [[0, 0, 0], [3, 3, 3]]
ogle.core.Ogle.query_region(coord=co_list)
with pytest.warns(AstropyDeprecationWarning):
ogle.core.Ogle.query_region(coord=co_list)
2 changes: 1 addition & 1 deletion astroquery/sdss/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -1002,7 +1002,7 @@ def _args_to_payload(self, coordinates=None,
else:
if field_help is not True:
warnings.warn(f"{field_help} isn't a valid 'photobj_field' or "
"'specobj_field' field, valid fields are"
"'specobj_field' field, valid fields are "
"returned.")
return {'photoobj_all': photoobj_all,
'specobj_all': specobj_all}
Expand Down
4 changes: 2 additions & 2 deletions astroquery/sdss/tests/test_sdss.py
Original file line number Diff line number Diff line change
Expand Up @@ -504,8 +504,8 @@ def test_field_help_region(patch_request):
existing_s_field = sdss.SDSS.query_region(coords,
field_help='spectroSynFlux_r')

non_existing_field = sdss.SDSS.query_region(coords,
field_help='nonexist')
with pytest.warns(UserWarning, match="nonexist isn't a valid 'photobj_field' or 'specobj_field'"):
non_existing_field = sdss.SDSS.query_region(coords, field_help='nonexist')

assert existing_p_field is None
assert existing_s_field is None
Expand Down
32 changes: 16 additions & 16 deletions astroquery/simbad/tests/test_simbad.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,15 +125,12 @@ def test_parse_result():
result1 = sb._parse_result(
MockResponseSimbad('query id '), simbad.core.SimbadVOTableResult)
assert isinstance(result1, Table)
with pytest.raises(TableParseError) as ex:
expected_exception = 'Failed to parse SIMBAD result! The raw response can be found in self.last_response, '

with pytest.raises(TableParseError, match=expected_exception):
sb._parse_result(MockResponseSimbad('query error '),
simbad.core.SimbadVOTableResult)
assert str(ex.value) == ('Failed to parse SIMBAD result! The raw response '
'can be found in self.last_response, and the '
'error in self.last_table_parse_error. '
'The attempted parsed result is in '
'self.last_parsed_result.\n Exception: 7:115: '
'no element found')

assert isinstance(sb.last_response.text, str)
assert isinstance(sb.last_response.content, bytes)

Expand Down Expand Up @@ -361,15 +358,18 @@ def test_votable_fields():
set(['main_id', 'coordinates', 'rot', 'z_value', 'velocity']))
sb.remove_votable_fields('rot', 'main_id', 'coordinates')
assert set(sb.get_votable_fields()) == set(['z_value', 'velocity'])
sb.remove_votable_fields('rot', 'main_id', 'coordinates')
# Warning is expected as we removed the 'coordinates' field above:
with pytest.warns(UserWarning, match="coordinates: this field is not set"):
sb.remove_votable_fields('rot', 'main_id', 'coordinates')
assert set(sb.get_votable_fields()) == set(['z_value', 'velocity'])
sb.remove_votable_fields('z_value', 'velocity')
assert (set(sb.get_votable_fields()) ==
set(['main_id', 'coordinates']))
with pytest.warns(UserWarning, match="All fields have been removed. Resetting"):
sb.remove_votable_fields('z_value', 'velocity')
assert set(sb.get_votable_fields()) == set(['main_id', 'coordinates'])
sb.add_votable_fields('rot', 'z_value', 'velocity')
sb.reset_votable_fields()
assert (set(sb.get_votable_fields()) ==
set(['main_id', 'coordinates']))
set(['main_id', 'coordinates', 'rot', 'z_value', 'velocity']))
sb.reset_votable_fields()
assert set(sb.get_votable_fields()) == set(['main_id', 'coordinates'])


def test_query_criteria1(patch_post):
Expand All @@ -394,9 +394,9 @@ def test_simbad_settings1():
sb = simbad.core.Simbad()
assert sb.get_votable_fields() == ['main_id', 'coordinates']
sb.add_votable_fields('ra', 'dec(5)')
sb.remove_votable_fields('ra', 'dec')
assert (sb.get_votable_fields() ==
['main_id', 'coordinates', 'dec(5)'])
with pytest.warns(UserWarning, match="dec: this field is not set"):
sb.remove_votable_fields('ra', 'dec')
assert sb.get_votable_fields() == ['main_id', 'coordinates', 'dec(5)']
sb.reset_votable_fields()


Expand Down
10 changes: 6 additions & 4 deletions astroquery/ukidss/tests/test_ukidss.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,11 @@ def get_readable_fileobj_mockreturn(filename, **kwargs):
is_binary = kwargs.get('encoding', None) == 'binary'
mode = 'rb' if is_binary else 'r'
if "fits" in filename:
file_obj = open(data_path(DATA_FILES["image"]), mode)
with open(data_path(DATA_FILES["image"]), mode) as file_obj:
yield file_obj
else:
file_obj = open(data_path(DATA_FILES["votable"]), mode)
yield file_obj
with open(data_path(DATA_FILES["votable"]), mode) as file_obj:
yield file_obj

mp = request.getfixturevalue("monkeypatch")

Expand Down Expand Up @@ -135,7 +136,8 @@ def test_get_image_list(patch_get, patch_get_readable_fileobj):


def test_extract_urls():
html_in = open(data_path(DATA_FILES["image_results"]), 'r').read()
with open(data_path(DATA_FILES["image_results"]), 'r') as infile:
html_in = infile.read()
urls = ukidss.core.Ukidss.extract_urls(html_in)
assert len(urls) == 1

Expand Down
2 changes: 1 addition & 1 deletion astroquery/vamdc/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
__doctest_skip__ = ['VamdcClass.*']


@deprecated('0.4.2', 'the module relies on an unmaintained library and is'
@deprecated('0.4.2', 'the vamdc astroquery module relies on an unmaintained library and is'
'considered deprecated until completely refactored or upstream'
'is stablised.')
@async_to_sync
Expand Down
3 changes: 2 additions & 1 deletion astroquery/vizier/tests/test_vizier.py
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,8 @@ def test_keywords(self):
v = vizier.core.Vizier(keywords=['optical', 'chandra', 'ans'])
assert str(v.keywords) == ('-kw.Mission=ANS\n-kw.Mission='
'Chandra\n-kw.Wavelength=optical')
v = vizier.core.Vizier(keywords=['xy', 'optical'])
with pytest.warns(UserWarning, match="xy : No such keyword"):
v = vizier.core.Vizier(keywords=['xy', 'optical'])
assert str(v.keywords) == '-kw.Wavelength=optical'
v.keywords = ['optical', 'cobe']
assert str(v.keywords) == '-kw.Mission=COBE\n-kw.Wavelength=optical'
Expand Down
Loading

0 comments on commit 05e9f4c

Please sign in to comment.