示例#1
0
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)