Skip to content

Commit 8ea2111

Browse files
jd-aubsipocz
authored andcommitted
Tidy up and add change log entry
1 parent 81197c3 commit 8ea2111

File tree

5 files changed

+34
-20
lines changed

5 files changed

+34
-20
lines changed

CHANGES.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ casda
2323

2424
- Add the ability to produce 2D and 3D cutouts from ASKAP images and cubes. [#2366]
2525

26+
- Use the standard ``login`` method for authenticating, which supports the system
27+
keyring [#2386]
28+
2629
jplsbdb
2730
^^^^^^^
2831

astroquery/casda/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ class Conf(_config.ConfigNamespace):
3434
'Optional default username for CASDA archive.'
3535
)
3636

37+
3738
conf = Conf()
3839

3940
from .core import Casda, CasdaClass

astroquery/casda/core.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ class CasdaClass(QueryWithLogin):
4747
POLL_INTERVAL = conf.poll_interval
4848
USERNAME = conf.username
4949
_soda_base_url = conf.soda_base_url
50-
_login_url =conf.login_url
50+
_login_url = conf.login_url
5151
_uws_ns = {'uws': 'http://www.ivoa.net/xml/UWS/v1.0'}
5252

5353
def __init__(self, user=None, password=None):

astroquery/casda/tests/test_casda.py

Lines changed: 25 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,11 @@
2525
DATA_FILES = {'CIRCLE': 'cone.xml', 'RANGE': 'box.xml', 'DATALINK': 'datalink.xml', 'RUN_JOB': 'run_job.xml',
2626
'COMPLETED_JOB': 'completed_job.xml', 'DATALINK_NOACCESS': 'datalink_noaccess.xml',
2727
'cutout_CIRCLE_333.9092_-45.8418_0.5000': 'cutout_333.9092_-45.8418_0.5000.xml',
28-
'AVAILABILITY' : 'availability.xml'}
28+
'AVAILABILITY': 'availability.xml'}
29+
30+
USERNAME = 'user'
31+
PASSWORD = 'password'
2932

30-
USERNAME='user'
31-
PASSWORD='password'
3233

3334
class MockResponse:
3435

@@ -114,6 +115,7 @@ def patch_get(request):
114115
mp.setattr(requests.Session, 'request', get_mockreturn)
115116
return mp
116117

118+
117119
def data_path(filename):
118120
data_dir = os.path.join(os.path.dirname(__file__), 'data')
119121
return os.path.join(data_dir, filename)
@@ -122,62 +124,69 @@ def data_path(filename):
122124
def isclose(value1, value2, abs_tol=1e-09):
123125
return abs(value1 - value2) < abs_tol
124126

127+
125128
def test_login(patch_get):
126129
casda = Casda()
127-
assert casda._authenticated == False
130+
assert casda._authenticated is False
128131
assert casda.USERNAME == ''
129132

130133
casda.login(username=USERNAME, password=PASSWORD)
131-
assert casda._authenticated == True
134+
assert casda._authenticated is True
132135
assert casda.USERNAME == USERNAME
133136
assert casda._auth == (USERNAME, 'password')
134137

138+
135139
def test_login_badpassword(patch_get):
136140
casda = Casda()
137-
assert casda._authenticated == False
141+
assert casda._authenticated is False
138142
assert casda.USERNAME == ''
139143

140144
casda.login(username=USERNAME, password='notthepassword')
141-
assert casda._authenticated == False
145+
assert casda._authenticated is False
142146
assert casda.USERNAME == ''
143-
assert hasattr(casda, '_auth') == False
147+
assert hasattr(casda, '_auth') is False
148+
144149

145150
def test_login_default_user(patch_get):
146151
casda = Casda()
147152
casda.USERNAME = USERNAME
148-
assert casda._authenticated == False
153+
assert casda._authenticated is False
149154

150155
casda.login(password=PASSWORD)
151-
assert casda._authenticated == True
156+
assert casda._authenticated is True
152157
assert casda.USERNAME == USERNAME
153158
assert casda._auth == (USERNAME, 'password')
154159

160+
155161
def test_login_no_default_user():
156162
casda = Casda()
157-
assert casda._authenticated == False
163+
assert casda._authenticated is False
158164
assert casda.USERNAME == ''
159165

160166
with pytest.raises(LoginError) as excinfo:
161167
Casda.login()
162168

163169
assert "If you do not pass a username to login()," in str(excinfo.value)
164170

165-
assert casda._authenticated == False
171+
assert casda._authenticated is False
166172
assert casda.USERNAME == ''
167-
assert hasattr(casda, '_auth') == False
173+
assert hasattr(casda, '_auth') is False
168174

175+
176+
@pytest.mark.skip('No keyring backend on the CI server')
169177
def test_login_keyring(patch_get):
170178
casda = Casda()
171-
assert casda._authenticated == False
179+
assert casda._authenticated is False
172180
assert casda.USERNAME == ''
173181
keyring.set_password("astroquery:casda.csiro.au", USERNAME, PASSWORD)
174182

175183
casda.login(username=USERNAME)
176184
keyring.delete_password("astroquery:casda.csiro.au", USERNAME)
177-
assert casda._authenticated == True
185+
assert casda._authenticated is True
178186
assert casda.USERNAME == USERNAME
179187
assert casda._auth == (USERNAME, PASSWORD)
180188

189+
181190
def test_query_region_text_radius(patch_get):
182191
ra = 333.9092
183192
dec = -45.8418
@@ -324,7 +333,7 @@ def test_stage_data_invalid_credentials(patch_get):
324333
table = Table([Column(data=access_urls, name='access_url')])
325334

326335
casda = Casda()
327-
#Update the casda object to indicate that it has been authenticated
336+
# Update the casda object to indicate that it has been authenticated
328337
casda.USERNAME = USERNAME
329338
casda._auth = (USERNAME, 'notthepassword')
330339
casda._authenticated = True

astroquery/casda/tests/test_casda_remote.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ def test_stage_data(self, cached_credentials):
5656
prefix = 'https://data.csiro.au/casda_vo_proxy/vo/datalink/links?ID='
5757
access_urls = [prefix + 'cube-1262']
5858
table = Table([Column(data=access_urls, name='access_url')])
59-
casda = Casda() #os.environ['CASDA_USER'], os.environ['CASDA_PASSWD'])
59+
casda = Casda()
6060
casda.login(username=os.environ['CASDA_USER'])
6161
casda.POLL_INTERVAL = 3
6262
urls = casda.stage_data(table)
@@ -65,9 +65,10 @@ def test_stage_data(self, cached_credentials):
6565
assert str(urls[1]).endswith('image_cube_g300to310.q.fits.checksum')
6666
assert len(urls) == 2
6767

68-
@pytest.mark.skipif(('CASDA_USER' not in os.environ),
68+
@pytest.mark.skipif(('CASDA_USER' not in os.environ or
69+
'CASDA_PASSWD' not in os.environ),
6970
reason='Requires real CASDA user/password (CASDA_USER '
70-
'and CASDA_PASSWD environment variables or password in keyring)')
71+
'and CASDA_PASSWD environment variables)')
7172
def test_cutout(self):
7273
prefix = 'https://data.csiro.au/casda_vo_proxy/vo/datalink/links?ID='
7374
access_urls = [prefix + 'cube-44705']

0 commit comments

Comments
 (0)