コード例 #1
0
 def setUp(self):
     self.app = create_app(TestConfig)
     self.app.app_context().push()
     db.create_all()
     self.user = User(username="******", password="******")
     self.user.save()
     self.token = self.user.generate_auth_token()
コード例 #2
0
 def post(self):
     """Handles the POST call to the CreateUserAPI."""
     data = self.parser.parse_args()
     username = data.get('username')
     password = data.get('password')
     if User.user_exist(username):
         abort(400, 'SignUpFailed: A User with the specified username '
                    'already exist')
     new_user = User(username=username, password=password)
     new_user.save()
     token = new_user.generate_auth_token()
     return {'token': token.decode('utf-8')}, 201
コード例 #3
0
def authenticate_token(token, password):
    """Autheticate User with the provideded token."""
    user = User.verify_token(token)
    if user:
        g.user = user
        return True
    return False
コード例 #4
0
def verify_token(token):
    token = request.headers.get('Token')
    if not token:
        abort(401, message='Token is required in the Request Header!')
    try:
        user = User.verify_auth_token(token)
    except ValueError:
        abort(401, message='You have supplied an Invalid TOKEN')
    if not user:
        abort(401, message='TOKEN Supplied Expired')
    g.user = user
    return True
コード例 #5
0
class Testmodels(unittest.TestCase):
    def setUp(self):
        self.app = create_app(TestConfig)
        self.app.app_context().push()
        db.create_all()
        self.user = User(username="******", password="******")
        self.user.save()
        self.token = self.user.generate_auth_token()

    def test_user_model(self):
        self.assertGreater(self.user.id, 0)

    def test_verify_password(self):
        self.assertTrue(self.user.verify_password("wahab"))

    def test_get_user(self):
        user = User.get_user("tester", "wahab")
        self.assertIsNotNone(user)

    def test_verify_token(self):
        self.assertTrue(User.verify_token(self.token))

    def test_verify_invalid_token(self):
        invalid_token = "this-is-no-way-a-token"
        self.assertFalse(User.verify_token(invalid_token))

    def test_expired_token(self):
        token = self.user.generate_auth_token(expiration=1)
        time.sleep(2)
        self.assertFalse(self.user.verify_token(token))

    def test_user_exist(self):
        self.assertTrue(User.user_exist("tester"))
コード例 #6
0
    def post(self):
        """Handles the post call to the LoginUserAPI.

        Return:
            [Response] containing the token if login is successful

        """
        data = self.parser.parse_args()
        user = User.get_user(data['username'], data['password'])
        if not user:
            abort(400, "Username or password not correct")
        token = user.generate_auth_token()
        return {'token': token.decode('utf-8')}
コード例 #7
0
    def post(self):
        """Handles the post call to the LoginUserAPI.

        Return:
            [Response] containing the token if login is successful

        """
        data = self.parser.parse_args()
        user = User.get_user(data['username'], data['password'])
        if not user:
            abort(400, "Username or password not correct")
        token = user.generate_auth_token()
        return {'token': token.decode('utf-8')}
コード例 #8
0
 def post(self):
     """Handles the POST call to the CreateUserAPI."""
     data = self.parser.parse_args()
     username = data.get('username')
     password = data.get('password')
     if User.user_exist(username):
         abort(
             400, 'SignUpFailed: A User with the specified username '
             'already exist')
     new_user = User(username=username, password=password)
     new_user.save()
     token = new_user.generate_auth_token()
     return {'token': token.decode('utf-8')}, 201
コード例 #9
0
 def __create_new_user(self):
     # create a user an instance of the User Model
     user = User(self.username.title().strip(), self.password)
     user.hash_password()
     return user
コード例 #10
0
 def test_user_exist(self):
     self.assertTrue(User.user_exist("tester"))
コード例 #11
0
 def test_verify_invalid_token(self):
     invalid_token = "this-is-no-way-a-token"
     self.assertFalse(User.verify_token(invalid_token))
コード例 #12
0
 def test_verify_token(self):
     self.assertTrue(User.verify_token(self.token))
コード例 #13
0
 def test_get_user(self):
     user = User.get_user("tester", "wahab")
     self.assertIsNotNone(user)