from nose.tools import assert_equal
from mediagoblin.auth import lib as auth_lib
-from mediagoblin.tests.tools import setup_fresh_app
+from mediagoblin.tests.tools import setup_fresh_app, fixture_add_user
from mediagoblin import mg_globals
from mediagoblin.tools import template, mail
new_user = mg_globals.database.User.find_one(
{'username': 'happygirl'})
assert new_user
- assert new_user['status'] == u'needs_email_verification'
- assert new_user['email_verified'] == False
+ assert new_user.status == u'needs_email_verification'
+ assert new_user.email_verified == False
## Make sure user is logged in
request = template.TEMPLATE_TEST_CONTEXT[
assert parsed_get_params['userid'] == [
unicode(new_user._id)]
assert parsed_get_params['token'] == [
- new_user['verification_key']]
+ new_user.verification_key]
## Try verifying with bs verification key, shouldn't work
template.clear_test_template_context()
new_user = mg_globals.database.User.find_one(
{'username': 'happygirl'})
assert new_user
- assert new_user['status'] == u'needs_email_verification'
- assert new_user['email_verified'] == False
+ assert new_user.status == u'needs_email_verification'
+ assert new_user.email_verified == False
## Verify the email activation works
template.clear_test_template_context()
new_user = mg_globals.database.User.find_one(
{'username': 'happygirl'})
assert new_user
- assert new_user['status'] == u'active'
- assert new_user['email_verified'] == True
+ assert new_user.status == u'active'
+ assert new_user.email_verified == True
# Uniqueness checks
# -----------------
# user should have matching parameters
new_user = mg_globals.database.User.find_one({'username': 'happygirl'})
assert parsed_get_params['userid'] == [unicode(new_user._id)]
- assert parsed_get_params['token'] == [new_user['fp_verification_key']]
+ assert parsed_get_params['token'] == [new_user.fp_verification_key]
### The forgotten password token should be set to expire in ~ 10 days
# A few ticks have expired so there are only 9 full days left...
- assert (new_user['fp_token_expire'] - datetime.datetime.now()).days == 9
+ assert (new_user.fp_token_expire - datetime.datetime.now()).days == 9
## Try using a bs password-changing verification key, shouldn't work
template.clear_test_template_context()
## Try using an expired token to change password, shouldn't work
template.clear_test_template_context()
- real_token_expiration = new_user['fp_token_expire']
- new_user['fp_token_expire'] = datetime.datetime.now()
+ real_token_expiration = new_user.fp_token_expire
+ new_user.fp_token_expire = datetime.datetime.now()
new_user.save()
response = test_app.get("%s?%s" % (path, get_params), status=404)
assert_equal(response.status, '404 Not Found')
- new_user['fp_token_expire'] = real_token_expiration
+ new_user.fp_token_expire = real_token_expiration
new_user.save()
## Verify step 1 of password-change works -- can see form to change password
Test logging in and logging out
"""
# Make a new user
- test_user = mg_globals.database.User()
- test_user['username'] = u'chris'
- test_user['email'] = u'chris@example.com'
- test_user['pw_hash'] = auth_lib.bcrypt_gen_password_hash('toast')
- test_user.save()
+ test_user = fixture_add_user(active_user=False)
# Get login
# ---------