Skip to content

Commit d7ef7d3

Browse files
committed
update tests for new requests-hardened util.session
for snarfed/webutil#11
1 parent 7487220 commit d7ef7d3

2 files changed

Lines changed: 30 additions & 17 deletions

File tree

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ pytz==2026.1.post1
8181
PyYAML==6.0.3
8282
redis==6.4.0
8383
requests==2.33.1
84+
requests-hardened==1.2.0
8485
requests-oauthlib==2.0.0
8586
requests_oauth2client==1.8.0
8687
rsa==4.9.1

tests/test_bluesky.py

Lines changed: 29 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -106,31 +106,43 @@ def test_delete(self):
106106
'source': self.bsky.key.urlsafe().decode(),
107107
}, util.decode_oauth_state(query['state'][0]))
108108

109-
@mock.patch('requests.get', return_value=requests_response({'feed': []}))
110-
def test_get_activities(self, _):
109+
def test_get_activities(self):
110+
util.session.get(
111+
'https://pds.com/xrpc/app.bsky.feed.getAuthorFeed?actor=did%3Aweb%3Aalice.com',
112+
auth=None, data=None, headers=mox.IgnoreArg(), json=None,
113+
).AndReturn(requests_response({'feed': []}, content_type='application/json'))
114+
self.mox.ReplayAll()
111115
self.assertEqual([], self.bsky.get_activities())
112116

113-
@mock.patch('requests.get', return_value=requests_response({}, status=400))
114-
def test_get_activities_error(self, _):
117+
def test_get_activities_error(self):
118+
util.session.get(
119+
'https://pds.com/xrpc/app.bsky.feed.getAuthorFeed?actor=did%3Aweb%3Aalice.com',
120+
auth=None, data=None, headers=mox.IgnoreArg(), json=None,
121+
).AndReturn(requests_response({}, status=400, content_type='application/json'))
122+
self.mox.ReplayAll()
115123
with self.assertRaises(requests.HTTPError):
116124
self.bsky.get_activities()
117125

118-
@mock.patch('requests.post')
119-
@mock.patch('requests.get')
120-
def test_get_activities_token_error(self, mock_get, mock_post):
121-
mock_get.return_value = mock_post.return_value = requests_response({
122-
'error': 'ExpiredToken',
123-
'message': 'Token has been revoked',
124-
}, status=400)
125-
126+
def test_get_activities_token_error(self):
127+
token_error = {'error': 'ExpiredToken', 'message': 'Token has been revoked'}
128+
util.session.get(
129+
'https://pds.com/xrpc/app.bsky.feed.getAuthorFeed?actor=did%3Aweb%3Aalice.com',
130+
auth=None, data=None, headers=mox.IgnoreArg(), json=None,
131+
).AndReturn(requests_response(token_error, status=400, content_type='application/json'))
132+
util.session.post(
133+
'https://pds.com/xrpc/com.atproto.server.refreshSession',
134+
auth=None, data=None, headers=mox.IgnoreArg(), json=None,
135+
).AndReturn(requests_response(token_error, status=400, content_type='application/json'))
136+
self.mox.ReplayAll()
126137
with self.assertRaises(DisableSource):
127138
self.bsky.get_activities()
128139

129-
@mock.patch('requests.post')
130-
@mock.patch('requests.get')
131-
def test_get_activities_oauth_exception(self, mock_get, mock_post):
132-
mock_get.side_effect = mock_post.side_effect = InvalidGrant(None, 'foo', 'bar')
133-
140+
def test_get_activities_oauth_exception(self):
141+
util.session.get(
142+
'https://pds.com/xrpc/app.bsky.feed.getAuthorFeed?actor=did%3Aweb%3Aalice.com',
143+
auth=None, data=None, headers=mox.IgnoreArg(), json=None,
144+
).AndRaise(InvalidGrant(None, 'foo', 'bar'))
145+
self.mox.ReplayAll()
134146
with self.assertRaises(DisableSource):
135147
self.bsky.get_activities()
136148

0 commit comments

Comments
 (0)