Fixed bug in validate_token(), it now returns the validation status.
Also separated on-the-fly creation of user in our database into its own function.
This commit is contained in:
@@ -8,9 +8,8 @@ TEST_EMAIL_ADDRESS = '%s@testing.blender.org' % TEST_EMAIL_USER
|
||||
os.environ['MONGO_DBNAME'] = 'unittest'
|
||||
os.environ['EVE_SETTINGS'] = os.path.join(os.path.dirname(os.path.dirname(__file__)), 'settings.py')
|
||||
|
||||
|
||||
from application import app
|
||||
from application.utils.authentication import make_unique_username, validate_token
|
||||
from application.utils import authentication as auth
|
||||
|
||||
|
||||
def make_header(username, password=''):
|
||||
@@ -34,33 +33,19 @@ class FlaskrTestCase(unittest.TestCase):
|
||||
users.delete_many({'username': TEST_EMAIL_USER})
|
||||
|
||||
# This user shouldn't exist yet.
|
||||
self.assertEqual(TEST_EMAIL_USER, make_unique_username(TEST_EMAIL_ADDRESS))
|
||||
self.assertEqual(TEST_EMAIL_USER, auth.make_unique_username(TEST_EMAIL_ADDRESS))
|
||||
|
||||
# Add a user, then test again.
|
||||
user_data = {
|
||||
'full_name': 'Coro the Llama',
|
||||
'username': TEST_EMAIL_USER,
|
||||
'email': TEST_EMAIL_ADDRESS,
|
||||
'auth': [{
|
||||
'provider': 'unit-test',
|
||||
'user_id': 'test123',
|
||||
'token': ''}],
|
||||
'settings': {
|
||||
'email_communications': 0
|
||||
}
|
||||
}
|
||||
|
||||
users.insert_one(user_data)
|
||||
auth.create_new_user(TEST_EMAIL_ADDRESS, TEST_EMAIL_USER, 'test1234')
|
||||
try:
|
||||
self.assertIsNotNone(users.find_one({'username': TEST_EMAIL_USER}))
|
||||
self.assertEqual('%s1' % TEST_EMAIL_USER, make_unique_username(TEST_EMAIL_ADDRESS))
|
||||
self.assertEqual('%s1' % TEST_EMAIL_USER, auth.make_unique_username(TEST_EMAIL_ADDRESS))
|
||||
finally:
|
||||
users.delete_many({'username': TEST_EMAIL_USER})
|
||||
|
||||
def test_validate_token__not_logged_in(self):
|
||||
with app.test_request_context():
|
||||
self.assertFalse(validate_token())
|
||||
self.assertFalse(auth.validate_token())
|
||||
|
||||
def test_validate_token__unknown_token(self):
|
||||
with app.test_request_context(headers={'Authorization': make_header('unknowntoken')}):
|
||||
self.assertFalse(validate_token())
|
||||
self.assertFalse(auth.validate_token())
|
||||
|
Reference in New Issue
Block a user