class UserServiceTests(unittest.TestCase): def setUp(self): self.db = connect_db(':memory:') init_db(self.db) self.s = UserService(self.db, SecureHashService('salt', 'sha256')) def tearDown(self): self.db.close() def test_signup_success(self): #given user = '******' self.assertEqual(self.s.user_exists(user), False) #when self.s.signup(user, 'any') #then self.assertEqual(self.s.user_exists(user), True) def test_signup_failed(self): #given user = '******' self.s.signup(user, 'any') #expect with self.assertRaises(Exception): self.s.signup(user, 'any') def test_check_credential_matched(self): #given user, password = ('teohm', 'password') self.s.signup(user, password) #expect self.assertEqual(self.s.check_credential(user, password), True) def test_check_credential_not_matched(self): #given user, password = ('teohm', 'password') wrong_password = '******' self.s.signup(user, password) #expect self.assertEqual(self.s.check_credential(user, wrong_password), False)