Merge remote branch 'remotes/cmoylan/test_auth_views_364'
This commit is contained in:
commit
0798684894
@ -242,17 +242,69 @@ def test_authentication_views(test_app):
|
|||||||
test_user.save()
|
test_user.save()
|
||||||
|
|
||||||
# Get login
|
# Get login
|
||||||
|
# ---------
|
||||||
test_app.get('/auth/login/')
|
test_app.get('/auth/login/')
|
||||||
# Make sure it rendered with the appropriate template
|
|
||||||
assert util.TEMPLATE_TEST_CONTEXT.has_key(
|
assert util.TEMPLATE_TEST_CONTEXT.has_key(
|
||||||
'mediagoblin/auth/login.html')
|
'mediagoblin/auth/login.html')
|
||||||
|
|
||||||
# Log in as that user
|
# Failed login - blank form
|
||||||
|
# -------------------------
|
||||||
|
util.clear_test_template_context()
|
||||||
|
response = test_app.post('/auth/login/')
|
||||||
|
context = util.TEMPLATE_TEST_CONTEXT['mediagoblin/auth/login.html']
|
||||||
|
form = context['login_form']
|
||||||
|
assert form.username.errors == [u'This field is required.']
|
||||||
|
assert form.password.errors == [u'This field is required.']
|
||||||
|
|
||||||
|
# Failed login - blank user
|
||||||
|
# -------------------------
|
||||||
|
util.clear_test_template_context()
|
||||||
|
response = test_app.post(
|
||||||
|
'/auth/login/', {
|
||||||
|
'password': u'toast'})
|
||||||
|
context = util.TEMPLATE_TEST_CONTEXT['mediagoblin/auth/login.html']
|
||||||
|
form = context['login_form']
|
||||||
|
assert form.username.errors == [u'This field is required.']
|
||||||
|
|
||||||
|
# Failed login - blank password
|
||||||
|
# -----------------------------
|
||||||
|
util.clear_test_template_context()
|
||||||
|
response = test_app.post(
|
||||||
|
'/auth/login/', {
|
||||||
|
'username': u'chris'})
|
||||||
|
context = util.TEMPLATE_TEST_CONTEXT['mediagoblin/auth/login.html']
|
||||||
|
form = context['login_form']
|
||||||
|
assert form.password.errors == [u'This field is required.']
|
||||||
|
|
||||||
|
# Failed login - bad user
|
||||||
|
# -----------------------
|
||||||
|
util.clear_test_template_context()
|
||||||
|
response = test_app.post(
|
||||||
|
'/auth/login/', {
|
||||||
|
'username': u'steve',
|
||||||
|
'password': 'toast'})
|
||||||
|
context = util.TEMPLATE_TEST_CONTEXT['mediagoblin/auth/login.html']
|
||||||
|
assert context['login_failed']
|
||||||
|
|
||||||
|
# Failed login - bad password
|
||||||
|
# ---------------------------
|
||||||
|
util.clear_test_template_context()
|
||||||
|
response = test_app.post(
|
||||||
|
'/auth/login/', {
|
||||||
|
'username': u'chris',
|
||||||
|
'password': 'jam'})
|
||||||
|
context = util.TEMPLATE_TEST_CONTEXT['mediagoblin/auth/login.html']
|
||||||
|
assert context['login_failed']
|
||||||
|
|
||||||
|
# Successful login
|
||||||
|
# ----------------
|
||||||
util.clear_test_template_context()
|
util.clear_test_template_context()
|
||||||
response = test_app.post(
|
response = test_app.post(
|
||||||
'/auth/login/', {
|
'/auth/login/', {
|
||||||
'username': u'chris',
|
'username': u'chris',
|
||||||
'password': 'toast'})
|
'password': 'toast'})
|
||||||
|
|
||||||
|
# User should be redirected
|
||||||
response.follow()
|
response.follow()
|
||||||
assert_equal(
|
assert_equal(
|
||||||
urlparse.urlsplit(response.location)[2],
|
urlparse.urlsplit(response.location)[2],
|
||||||
@ -260,10 +312,38 @@ def test_authentication_views(test_app):
|
|||||||
assert util.TEMPLATE_TEST_CONTEXT.has_key(
|
assert util.TEMPLATE_TEST_CONTEXT.has_key(
|
||||||
'mediagoblin/root.html')
|
'mediagoblin/root.html')
|
||||||
|
|
||||||
# Make sure we're in the session or something
|
# Make sure user is in the session
|
||||||
session = util.TEMPLATE_TEST_CONTEXT['mediagoblin/root.html']['request'].session
|
context = util.TEMPLATE_TEST_CONTEXT['mediagoblin/root.html']
|
||||||
|
session = context['request'].session
|
||||||
assert session['user_id'] == unicode(test_user['_id'])
|
assert session['user_id'] == unicode(test_user['_id'])
|
||||||
|
|
||||||
# Log out as that user
|
# Successful logout
|
||||||
# Make sure we're not in the session
|
# -----------------
|
||||||
|
util.clear_test_template_context()
|
||||||
|
response = test_app.get('/auth/logout/')
|
||||||
|
|
||||||
|
# Should be redirected to index page
|
||||||
|
response.follow()
|
||||||
|
assert_equal(
|
||||||
|
urlparse.urlsplit(response.location)[2],
|
||||||
|
'/')
|
||||||
|
assert util.TEMPLATE_TEST_CONTEXT.has_key(
|
||||||
|
'mediagoblin/root.html')
|
||||||
|
|
||||||
|
# Make sure the user is not in the session
|
||||||
|
context = util.TEMPLATE_TEST_CONTEXT['mediagoblin/root.html']
|
||||||
|
session = context['request'].session
|
||||||
|
assert session.has_key('user_id') == False
|
||||||
|
|
||||||
|
# User is redirected to custom URL if POST['next'] is set
|
||||||
|
# -------------------------------------------------------
|
||||||
|
util.clear_test_template_context()
|
||||||
|
response = test_app.post(
|
||||||
|
'/auth/login/', {
|
||||||
|
'username': u'chris',
|
||||||
|
'password': 'toast',
|
||||||
|
'next' : '/u/chris/'})
|
||||||
|
assert_equal(
|
||||||
|
urlparse.urlsplit(response.location)[2],
|
||||||
|
'/u/chris/')
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user