コード例 #1
0
 def test_password_verification(self):
     u = UserModel(
         login='******',
         email='*****@*****.**',
         password='******')
     self.assertTrue(u.verify_password('test'))
     self.assertFalse(u.verify_password('dog'))
コード例 #2
0
 def test_password_salts_are_random(self):
     user1 = UserModel(
         login='******',
         email='*****@*****.**',
         password='******')
     user2 = UserModel(
         login='******',
         email='*****@*****.**',
         password='******')
     self.assertTrue(user1.password_hash != user2.password_hash)
コード例 #3
0
 def test_full_name(self):
     user = UserModel(login='******',
                      email='*****@*****.**',
                      password='******',
                      name="Test",
                      surname="User")
     self.assertTrue(user.full_name == 'Test User')
コード例 #4
0
 def test_password_getter(self):
     user = UserModel(
         login='******',
         email='*****@*****.**',
         password='******')
     with self.assertRaises(AttributeError):
         user.password
コード例 #5
0
    def check_login(self, login):
        user = UserModel.get_by_login(self.db, login)
        if user:
            logger.warning(f"Can't register user. "
                           f"User with login: {login} already exists")

            raise InvalidRequestData(ErrorCode.LOGIN_ALREADY_EXISTS,
                                     message=f"User with login "
                                     f"{login} already exists")
コード例 #6
0
 def test_role_of_user(self):
     user = UserModel(
         login='******',
         email='*****@*****.**',
         password='******',
         role='10')
     self.assertTrue(user.role == UserModel.OWNER)
     self.assertFalse(user.role == UserModel.PARTNER)
     self.assertFalse(user.role == UserModel.ADMIN)
コード例 #7
0
    def check_email_validity(self, email: str):
        user = UserModel.get_by_email(db=self.db, email=email)
        if user:
            logger.warning(f"In {self.__class__.__name__}. "
                           f"Can't register user. "
                           f"User with email: {email} already exists")

            raise InvalidRequestData(ErrorCode.EMAIL_ALREADY_EXISTS,
                                     message=f"User with email "
                                     f"{email} already exists")
        if '@' not in email:
            logger.warning(f"In {self.__class__.__name__}. "
                           f"Can't register user. Invalid email: {email}")

            raise InvalidRequestData(ErrorCode.INVALID_EMAIL,
                                     message="Incorrect email address")
コード例 #8
0
    def register(self, data):
        self.check_email_validity(data["email"])
        self.check_login(data["login"])

        user = UserModel(**data)
        return user
コード例 #9
0
 def test_full_name_without_name(self):
     user = UserModel(login='******',
                      email='*****@*****.**',
                      password='******',
                      surname="Test")
     self.assertTrue(user.surname == 'Test')
コード例 #10
0
 def test_password_setter(self):
     user = UserModel(login='******',
                      email='*****@*****.**',
                      password='******')
     self.assertTrue(user.password_hash is not None)