Skip to content

Commit 7435f6f

Browse files
committed
Use more specific asserts
More specific asserts generally result in more informative error messages when tests fail. This practice is recommended by the unittest docs: https://docs.python.org/3/library/unittest.html#unittest.TestCase.assertTrue > This method should also be avoided when more specific methods are > available (e.g. assertEqual(a, b) instead of assertTrue(a == b)), > because they provide a better error message in case of failure. Replace assertTrue(isinstance(...)) with assertIsInstance. Additionally, replace truthiness checks with precise True/False checks. This practice is also recommended by the unittest docs: > assertTrue > > Note that this is equivalent to bool(expr) is True and not to expr is > True (use assertIs(expr, True) for the latter). Replace assertTrue(...) with assertIs(..., True).
1 parent 5aa60bf commit 7435f6f

File tree

3 files changed

+24
-24
lines changed

3 files changed

+24
-24
lines changed

tests/test_core.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ def test_url_is_native_str(self, generate_nonce, generate_timestamp):
8989
oauth = requests_oauthlib.OAuth1('client_key')
9090

9191
r = requests.get('http://httpbin.org/get', auth=oauth)
92-
self.assertTrue(isinstance(r.request.url, str))
92+
self.assertIsInstance(r.request.url, str)
9393

9494
def test_content_type_override(self, generate_nonce, generate_timestamp):
9595
"""
@@ -120,20 +120,20 @@ class ClientSubclass(oauthlib.oauth1.Client):
120120

121121
normal = requests_oauthlib.OAuth1('client_key')
122122

123-
self.assertTrue(isinstance(normal.client, oauthlib.oauth1.Client))
124-
self.assertFalse(isinstance(normal.client, ClientSubclass))
123+
self.assertIsInstance(normal.client, oauthlib.oauth1.Client)
124+
self.assertNotIsInstance(normal.client, ClientSubclass)
125125

126126
requests_oauthlib.OAuth1.client_class = ClientSubclass
127127

128128
self.assertEqual(requests_oauthlib.OAuth1.client_class, ClientSubclass)
129129

130130
custom = requests_oauthlib.OAuth1('client_key')
131131

132-
self.assertTrue(isinstance(custom.client, oauthlib.oauth1.Client))
133-
self.assertTrue(isinstance(custom.client, ClientSubclass))
132+
self.assertIsInstance(custom.client, oauthlib.oauth1.Client)
133+
self.assertIsInstance(custom.client, ClientSubclass)
134134

135135
overridden = requests_oauthlib.OAuth1('client_key',
136136
client_class = oauthlib.oauth1.Client)
137137

138-
self.assertTrue(isinstance(overridden.client, oauthlib.oauth1.Client))
139-
self.assertFalse(isinstance(normal.client, ClientSubclass))
138+
self.assertIsInstance(overridden.client, oauthlib.oauth1.Client)
139+
self.assertNotIsInstance(normal.client, ClientSubclass)

tests/test_oauth1_session.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -152,17 +152,17 @@ def test_parse_response_url(self):
152152
self.assertEqual(resp['oauth_token'], 'foo')
153153
self.assertEqual(resp['oauth_verifier'], 'bar')
154154
for k, v in resp.items():
155-
self.assertTrue(isinstance(k, unicode_type))
156-
self.assertTrue(isinstance(v, unicode_type))
155+
self.assertIsInstance(k, unicode_type)
156+
self.assertIsInstance(v, unicode_type)
157157

158158
def test_fetch_request_token(self):
159159
auth = OAuth1Session('foo')
160160
auth.send = self.fake_body('oauth_token=foo')
161161
resp = auth.fetch_request_token('https://example.com/token')
162162
self.assertEqual(resp['oauth_token'], 'foo')
163163
for k, v in resp.items():
164-
self.assertTrue(isinstance(k, unicode_type))
165-
self.assertTrue(isinstance(v, unicode_type))
164+
self.assertIsInstance(k, unicode_type)
165+
self.assertIsInstance(v, unicode_type)
166166

167167
def test_fetch_request_token_with_optional_arguments(self):
168168
auth = OAuth1Session('foo')
@@ -171,17 +171,17 @@ def test_fetch_request_token_with_optional_arguments(self):
171171
verify=False, stream=True)
172172
self.assertEqual(resp['oauth_token'], 'foo')
173173
for k, v in resp.items():
174-
self.assertTrue(isinstance(k, unicode_type))
175-
self.assertTrue(isinstance(v, unicode_type))
174+
self.assertIsInstance(k, unicode_type)
175+
self.assertIsInstance(v, unicode_type)
176176

177177
def test_fetch_access_token(self):
178178
auth = OAuth1Session('foo', verifier='bar')
179179
auth.send = self.fake_body('oauth_token=foo')
180180
resp = auth.fetch_access_token('https://example.com/token')
181181
self.assertEqual(resp['oauth_token'], 'foo')
182182
for k, v in resp.items():
183-
self.assertTrue(isinstance(k, unicode_type))
184-
self.assertTrue(isinstance(v, unicode_type))
183+
self.assertIsInstance(k, unicode_type)
184+
self.assertIsInstance(v, unicode_type)
185185

186186
def test_fetch_access_token_with_optional_arguments(self):
187187
auth = OAuth1Session('foo', verifier='bar')
@@ -190,8 +190,8 @@ def test_fetch_access_token_with_optional_arguments(self):
190190
verify=False, stream=True)
191191
self.assertEqual(resp['oauth_token'], 'foo')
192192
for k, v in resp.items():
193-
self.assertTrue(isinstance(k, unicode_type))
194-
self.assertTrue(isinstance(v, unicode_type))
193+
self.assertIsInstance(k, unicode_type)
194+
self.assertIsInstance(v, unicode_type)
195195

196196
def _test_fetch_access_token_raises_error(self, auth):
197197
"""Assert that an error is being raised whenever there's no verifier
@@ -261,7 +261,7 @@ def test_token_proxy_get(self):
261261

262262
def test_authorized_false(self):
263263
sess = OAuth1Session('foo')
264-
self.assertFalse(sess.authorized)
264+
self.assertIs(sess.authorized, False)
265265

266266
def test_authorized_false_rsa(self):
267267
signature = ('OAuth '
@@ -272,13 +272,13 @@ def test_authorized_false_rsa(self):
272272
sess = OAuth1Session('foo', signature_method=SIGNATURE_RSA,
273273
rsa_key=TEST_RSA_KEY)
274274
sess.send = self.verify_signature(signature)
275-
self.assertFalse(sess.authorized)
275+
self.assertIs(sess.authorized, False)
276276

277277
def test_authorized_true(self):
278278
sess = OAuth1Session('key', 'secret', verifier='bar')
279279
sess.send = self.fake_body('oauth_token=foo&oauth_token_secret=bar')
280280
sess.fetch_access_token('https://example.com/token')
281-
self.assertTrue(sess.authorized)
281+
self.assertIs(sess.authorized, True)
282282

283283
@mock.patch('oauthlib.oauth1.rfc5849.generate_timestamp')
284284
@mock.patch('oauthlib.oauth1.rfc5849.generate_nonce')
@@ -297,7 +297,7 @@ def test_authorized_true_rsa(self, generate_nonce, generate_timestamp):
297297
rsa_key=TEST_RSA_KEY, verifier='bar')
298298
sess.send = self.fake_body('oauth_token=foo&oauth_token_secret=bar')
299299
sess.fetch_access_token('https://example.com/token')
300-
self.assertTrue(sess.authorized)
300+
self.assertIs(sess.authorized, True)
301301

302302
def verify_signature(self, signature):
303303
def fake_send(r, **kwargs):

tests/test_oauth2_session.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ def test_token_proxy(self):
221221

222222
def test_authorized_false(self):
223223
sess = OAuth2Session('foo')
224-
self.assertFalse(sess.authorized)
224+
self.assertIs(sess.authorized, False)
225225

226226
@mock.patch("time.time", new=lambda: fake_time)
227227
def test_authorized_true(self):
@@ -236,6 +236,6 @@ def fake_send(r, **kwargs):
236236
for client in self.clients:
237237
sess = OAuth2Session(client=client)
238238
sess.send = fake_token(self.token)
239-
self.assertFalse(sess.authorized)
239+
self.assertIs(sess.authorized, False)
240240
sess.fetch_token(url)
241-
self.assertTrue(sess.authorized)
241+
self.assertIs(sess.authorized, True)

0 commit comments

Comments
 (0)