示例#1
0
 def test_valid_logout(self):
     """ Test for logout before token expires """
     with self.client:
         # user registration
         DatabasePrepare.create_new_user()
         # user login
         resp_login = PostHTTP.login_success(self.client)
         data_login = json.loads(resp_login.data.decode())
         self.assertTrue(data_login['status'] == 'success')
         self.assertTrue(data_login['message'] == 'Successfully logged in.')
         self.assertTrue(data_login['auth_token'])
         self.assertTrue(resp_login.content_type == 'application/json')
         self.assertEqual(resp_login.status_code, status.HTTP_200_OK)
         # valid token logout
         response = self.client.post(
             '/auth/logout',
             headers=dict(
                 Authorization='Bearer ' + json.loads(
                     resp_login.data.decode()
                 )['auth_token']
             )
         )
         data = json.loads(response.data.decode())
         self.assertTrue(data['status'] == 'success')
         self.assertTrue(data['message'] == 'Successfully logged out.')
         self.assertEqual(response.status_code, status.HTTP_200_OK)
示例#2
0
 def test_registered_unconfirmed_user_login(self):
     """ Test for login of registered-user but unconfirmed"""
     with self.client:
         DatabasePrepare.create_new_user(False)
         response = PostHTTP.login_success(self.client)
         data = json.loads(response.data.decode())
         self.assertTrue(data['status'] == 'fail')
         self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
示例#3
0
 def test_registered_user_login(self):
     """ Test for login of registered-user"""
     with self.client:
         # Register new user
         # Login with registered user
         DatabasePrepare.create_new_user()
         response = PostHTTP.login_success(self.client)
         data = json.loads(response.data.decode())
         self.assertTrue(data['status'] == 'success')
         self.assertTrue(data['message'] == 'Successfully logged in.')
         self.assertTrue(data['auth_token'])
         self.assertTrue(response.content_type == 'application/json')
         self.assertEqual(response.status_code, status.HTTP_200_OK)
示例#4
0
 def test_valid_blacklisted_token_user(self):
     """ Test for user status with a blacklisted valid token """
     with self.client:
         DatabasePrepare.create_new_user()
         resp_login = PostHTTP.login_success(self.client)
         data_login = json.loads(resp_login.data.decode())
         # blacklist a valid token
         blacklist_token = BlacklistToken(
             token=data_login['auth_token'])
         db.session.add(blacklist_token)
         db.session.commit()
         response = PostHTTP.post_with_token(self.client,'/auth/status',
                 resp_login.data.decode())
         data = json.loads(response.data.decode())
         self.assertTrue(data['status'] == 'fail')
         self.assertTrue(data['message'] == 'Token is blacklisted. Please login again.')
         self.assertEqual(response.status_code, status.HTTP_401_UNAUTHORIZED)