From 95373ecb2524d0791df9f074131add4b0d08cbab Mon Sep 17 00:00:00 2001 From: Shawn Wilkinson Date: Tue, 11 Aug 2015 00:06:19 -0400 Subject: [PATCH] Cleaned Up Tests a Bit --- tests/test_App.py | 7 +++-- tests/test_Farmer.py | 71 +++++++++++++++++++------------------------- 2 files changed, 35 insertions(+), 43 deletions(-) diff --git a/tests/test_App.py b/tests/test_App.py index e7243c0..0e0f019 100644 --- a/tests/test_App.py +++ b/tests/test_App.py @@ -5,7 +5,7 @@ class AppTest(unittest.TestCase): - # setup and tear down + # setup def setUp(self): self.app = app.test_client() db.create_all() @@ -33,10 +33,11 @@ def test_register(self): self.assertEqual(b"Registration Failed: Address already is registered.", rv.data) self.assertEqual(rv.status_code, 409) - def test_register_invalid(self): + def test_register_invalid_address(self): addr = '191GVvAaTRxLmz3rW3nU5jAV1rF186VxQc_this_is_not_an_address' rv = self.app.get('/api/register/{0}'.format(addr)) + # invalid address self.assertEqual(b"Registration Failed: Invalid Bitcoin address.", rv.data) self.assertEqual(rv.status_code, 400) @@ -79,7 +80,6 @@ def test_ping_invalid_address(self): # time helper def test_helper_time(self): - time1 = 15 time2 = 75 time3 = 4000 @@ -102,6 +102,7 @@ def test_online(self): # get online data rv = self.app.get('/api/online') + # see if that address is in the online status self.assertTrue(addr in str(rv.data)) diff --git a/tests/test_Farmer.py b/tests/test_Farmer.py index 014b457..c6cffe2 100644 --- a/tests/test_Farmer.py +++ b/tests/test_Farmer.py @@ -13,26 +13,27 @@ def tearDown(self): db.session.remove() db.drop_all() - def test_address_error(self): - addr1 = 'not valid address' - farmer1 = Farmer(addr1) - self.assertRaises(ValueError, farmer1.validate) - def test_repr(self): - addr = '191GVvAaTRxLmz3rW3nU5jAV1rF186VxQc' - farmer = Farmer(addr) + farmer = Farmer('191GVvAaTRxLmz3rW3nU5jAV1rF186VxQc') ans = "" self.assertEqual(repr(farmer), ans) + def test_sha256(self): + ans = 'c059c8035bbd74aa81f4c787c39390b57b974ec9af25a7248c46a3ebfe0f9dc8' + self.assertEqual(sha256("storj"), ans) + self.assertNotEqual(sha256("not storj"), ans) + def test_register(self): addr1 = '191GVvAaTRxLmz3rW3nU5jAV1rF186VxQc' addr2 = '191GVvAaTRxLmz3rW3nU5jAV1rF186VxQc9999ghjfghj99' addr3 = 'not valid address' + # create Farmer objects farmer1 = Farmer(addr1) farmer2 = Farmer(addr2) farmer3 = Farmer(addr3) + # test registration of first farmer self.assertFalse(farmer1.exists()) farmer1.register() self.assertTrue(farmer1.exists()) @@ -49,54 +50,44 @@ def test_register(self): self.assertFalse(farmer3.exists()) def test_ping(self): - addr = '191GVvAaTRxLmz3rW3nU5jAV1rF186VxQc' - farmer = Farmer(addr) - farmer.register() - - register_time = farmer.last_seen - farmer.ping() # update last seen - ping_time = farmer.last_seen - - self.assertTrue(register_time < ping_time) - - def test_ping_failed(self): - addr = '191GVvAaTRxLmz3rW3nU5jAV1rF186VxQc' - farmer = Farmer(addr) - # we don't actually register it this time + farmer = Farmer('191GVvAaTRxLmz3rW3nU5jAV1rF186VxQc') + # test ping before registration self.assertRaises(LookupError, farmer.ping) - def test_audit(self): - addr = '191GVvAaTRxLmz3rW3nU5jAV1rF186VxQc' - farmer = Farmer(addr) + # register farmer farmer.register() + # get register time, and make sure the ping work register_time = farmer.last_seen - farmer.audit() + farmer.ping() # update last seen ping_time = farmer.last_seen - self.assertTrue(register_time < ping_time) - def test_audit_failed(self): - addr = '191GVvAaTRxLmz3rW3nU5jAV1rF186VxQc' - farmer = Farmer(addr) - # we don't actually register it this time - - self.assertRaises(LookupError, farmer.audit) - - def test_sha256(self): - ans = 'c059c8035bbd74aa81f4c787c39390b57b974ec9af25a7248c46a3ebfe0f9dc8' - self.assertEqual(sha256("storj"), ans) - self.assertNotEqual(sha256("not storj"), ans) - def test_height(self): - addr = '191GVvAaTRxLmz3rW3nU5jAV1rF186VxQc' - farmer = Farmer(addr) + farmer = Farmer('191GVvAaTRxLmz3rW3nU5jAV1rF186VxQc') farmer.register() + # set height and check function output self.assertEqual(farmer.height, 0) self.assertEqual(farmer.set_height(5), 5) self.assertEqual(farmer.height, 5) + # check the db object as well farmer2 = farmer.lookup() self.assertEqual(farmer2.height, 5) + + def test_audit(self): + farmer = Farmer('191GVvAaTRxLmz3rW3nU5jAV1rF186VxQc') + + # test audit before registration + self.assertRaises(LookupError, farmer.audit) + + # register farmer + farmer.register() + + # get register time, and make sure the ping work + register_time = farmer.last_seen + farmer.audit() + ping_time = farmer.last_seen + self.assertTrue(register_time < ping_time)