From e6eca0daf8ae9d00ddc6531e3f2ae955c3a5723c Mon Sep 17 00:00:00 2001 From: Samuel Dion-Girardeau Date: Mon, 7 May 2018 21:20:54 -0400 Subject: [PATCH 1/3] Use assertion methods introduced in Python 2.7 Since Python 2.6 support was dropped, we can use all these: https://docs.python.org/2/library/unittest.html#assert-methods --- tests.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests.py b/tests.py index c5418af..17cd453 100644 --- a/tests.py +++ b/tests.py @@ -22,14 +22,14 @@ class SnapPassTestCase(TestCase): key = snappass.set_password(password, 30) self.assertEqual(password, snappass.get_password(key)) # Assert that we can't look this up a second time. - self.assertEqual(None, snappass.get_password(key)) + self.assertIsNone(snappass.get_password(key)) def test_password_is_not_stored_in_plaintext(self): password = "trustno1" token = snappass.set_password(password, 30) redis_key = token.split(snappass.TOKEN_SEPARATOR)[0] stored_password_text = snappass.redis_client.get(redis_key).decode('utf-8') - self.assertFalse(password in stored_password_text) + self.assertNotIn(password, stored_password_text) def test_returned_token_format(self): password = "trustsome1" @@ -97,7 +97,7 @@ class SnapPassTestCase(TestCase): # Expire functionality must be explicitly invoked using do_expire(time). # mockredis does not support automatic expiration at this time snappass.redis_client.do_expire() - self.assertEqual(None, snappass.get_password(key)) + self.assertIsNone(snappass.get_password(key)) class SnapPassRoutesTestCase(TestCase): @@ -110,7 +110,7 @@ class SnapPassRoutesTestCase(TestCase): password = "I like novelty kitten statues!" key = snappass.set_password(password, 30) rv = self.app.get('/{0}'.format(key)) - self.assertTrue(password in rv.get_data(as_text=True)) + self.assertIn(password, rv.get_data(as_text=True)) def test_bots_denial(self): """ From 80f77a6572cd91e79f41a3eb28bbe870b5f4b4b5 Mon Sep 17 00:00:00 2001 From: Samuel Dion-Girardeau Date: Mon, 7 May 2018 21:27:13 -0400 Subject: [PATCH 2/3] Fix assertEqual parameter order (expected, actual) This ensures the failure message, if any, is reflective of the intended value. --- tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests.py b/tests.py index 17cd453..3788238 100644 --- a/tests.py +++ b/tests.py @@ -131,7 +131,7 @@ class SnapPassRoutesTestCase(TestCase): for ua in a_few_sneaky_bots: rv = self.app.get('/{0}'.format(key), headers={ 'User-Agent': ua }) - self.assertEqual(rv.status_code, 404) + self.assertEqual(404, rv.status_code) if __name__ == '__main__': From d407c2657f6386460145d7e57d2b559bb97034e3 Mon Sep 17 00:00:00 2001 From: Samuel Dion-Girardeau Date: Mon, 7 May 2018 21:35:31 -0400 Subject: [PATCH 3/3] Drop the dot in py.test (as recommended by pytest) --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 115f142..4d42ed5 100644 --- a/tox.ini +++ b/tox.ini @@ -7,7 +7,7 @@ setenv = commands = pip install -r requirements.txt pip install -r dev-requirements.txt - py.test --junitxml=junit-{envname}.xml --cov-report xml tests.py + pytest --junitxml=junit-{envname}.xml --cov-report xml tests.py [testenv:flake8] commands =