aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/tests
diff options
context:
space:
mode:
authorRodney Ewing <ewing.rj@gmail.com>2013-07-08 17:17:12 -0700
committerRodney Ewing <ewing.rj@gmail.com>2013-08-16 10:28:48 -0700
commitaf665c4eb9dfb53ef9ac28567f7f3806ed313093 (patch)
treee82d356f4c89cb04cb4b5c469ba45a3685e1eb56 /mediagoblin/tests
parentaeae6cc29099c4bea84bbfd006615104ba719b1e (diff)
downloadmediagoblin-af665c4eb9dfb53ef9ac28567f7f3806ed313093.tar.lz
mediagoblin-af665c4eb9dfb53ef9ac28567f7f3806ed313093.tar.xz
mediagoblin-af665c4eb9dfb53ef9ac28567f7f3806ed313093.zip
moved change_pass to basic_auth and fixed some typos with the moving of forgot pass
Diffstat (limited to 'mediagoblin/tests')
-rw-r--r--mediagoblin/tests/test_auth.py5
-rw-r--r--mediagoblin/tests/test_basic_auth.py42
-rw-r--r--mediagoblin/tests/test_edit.py35
3 files changed, 45 insertions, 37 deletions
diff --git a/mediagoblin/tests/test_auth.py b/mediagoblin/tests/test_auth.py
index 61503d32..e4bb60e5 100644
--- a/mediagoblin/tests/test_auth.py
+++ b/mediagoblin/tests/test_auth.py
@@ -183,7 +183,7 @@ def test_register_views(test_app):
message = mail.EMAIL_TEST_INBOX.pop()
assert message['To'] == 'happygrrl@example.org'
email_context = template.TEMPLATE_TEST_CONTEXT[
- 'mediagoblin/auth/fp_verification_email.txt']
+ 'mediagoblin/plugins/basic_auth/fp_verification_email.txt']
#TODO - change the name of verification_url to something forgot-password-ish
assert email_context['verification_url'] in message.get_payload(decode=True)
@@ -204,7 +204,8 @@ def test_register_views(test_app):
## Verify step 1 of password-change works -- can see form to change password
template.clear_test_template_context()
response = test_app.get("%s?%s" % (path, get_params))
- assert 'mediagoblin/auth/change_fp.html' in template.TEMPLATE_TEST_CONTEXT
+ assert 'mediagoblin/plugins/basic_auth/change_fp.html' in \
+ template.TEMPLATE_TEST_CONTEXT
## Verify step 2.1 of password-change works -- report success to user
template.clear_test_template_context()
diff --git a/mediagoblin/tests/test_basic_auth.py b/mediagoblin/tests/test_basic_auth.py
index cdd80fca..e03f90f0 100644
--- a/mediagoblin/tests/test_basic_auth.py
+++ b/mediagoblin/tests/test_basic_auth.py
@@ -13,7 +13,12 @@
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+import urlparse
+
+from mediagoblin.db.models import User
from mediagoblin.plugins.basic_auth import tools as auth_tools
+from mediagoblin.tests.tools import fixture_add_user
+from mediagoblin.tools import template
from mediagoblin.tools.testing import _activate_testing
_activate_testing()
@@ -57,3 +62,40 @@ def test_bcrypt_gen_password_hash():
pw, hashed_pw, '3><7R45417')
assert not auth_tools.bcrypt_check_password(
'notthepassword', hashed_pw, '3><7R45417')
+
+
+def test_change_password(self, test_app):
+ """Test changing password correctly and incorrectly"""
+ test_user = fixture_add_user(password=u'toast')
+
+ test_app.post(
+ '/auth/login/', {
+ 'username': u'chris',
+ 'password': u'toast'})
+
+ # test that the password can be changed
+ res = test_app.post(
+ '/edit/password/', {
+ 'old_password': 'toast',
+ 'new_password': '123456',
+ })
+ res.follow()
+
+ # Did we redirect to the correct page?
+ assert urlparse.urlsplit(res.location)[2] == '/edit/account/'
+
+ # test_user has to be fetched again in order to have the current values
+ test_user = User.query.filter_by(username=u'chris').first()
+ assert auth_tools.bcrypt_check_password('123456', test_user.pw_hash)
+
+ # test that the password cannot be changed if the given
+ # old_password is wrong
+ template.clear_test_template_context()
+ test_app.post(
+ '/edit/password/', {
+ 'old_password': 'toast',
+ 'new_password': '098765',
+ })
+
+ test_user = User.query.filter_by(username=u'chris').first()
+ assert not auth_tools.bcrypt_check_password('098765', test_user.pw_hash)
diff --git a/mediagoblin/tests/test_edit.py b/mediagoblin/tests/test_edit.py
index d70d0478..581af4ac 100644
--- a/mediagoblin/tests/test_edit.py
+++ b/mediagoblin/tests/test_edit.py
@@ -56,41 +56,6 @@ class TestUserEdit(object):
self.login(test_app)
- def test_change_password(self, test_app):
- """Test changing password correctly and incorrectly"""
- self.login(test_app)
-
- # test that the password can be changed
- template.clear_test_template_context()
- res = test_app.post(
- '/edit/password/', {
- 'old_password': 'toast',
- 'new_password': '123456',
- })
- res.follow()
-
- # Did we redirect to the correct page?
- assert urlparse.urlsplit(res.location)[2] == '/edit/account/'
-
- # test_user has to be fetched again in order to have the current values
- test_user = User.query.filter_by(username=u'chris').first()
- assert auth.check_password('123456', test_user.pw_hash)
- # Update current user passwd
- self.user_password = '123456'
-
- # test that the password cannot be changed if the given
- # old_password is wrong
- template.clear_test_template_context()
- test_app.post(
- '/edit/password/', {
- 'old_password': 'toast',
- 'new_password': '098765',
- })
-
- test_user = User.query.filter_by(username=u'chris').first()
- assert not auth.check_password('098765', test_user.pw_hash)
-
-
def test_change_bio_url(self, test_app):
"""Test changing bio and URL"""
self.login(test_app)