From 1e958115e16ada402f6b9d2df255453429b5ca93 Mon Sep 17 00:00:00 2001 From: Matt Wright Date: Tue, 3 Sep 2013 11:55:13 -0400 Subject: [PATCH] Fix tests --- tests/__init__.py | 19 ++++--------------- tests/configured_tests.py | 4 ++-- tests/signals_tests.py | 3 +-- tests/test_app/peewee_app.py | 4 ++-- tests/test_app/sqlalchemy.py | 2 -- 5 files changed, 9 insertions(+), 23 deletions(-) diff --git a/tests/__init__.py b/tests/__init__.py index d5e7d56..92df3f2 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -22,18 +22,11 @@ class SecurityTest(TestCase): app = self._create_app(self.AUTH_CONFIG or {}, **app_kwargs) app.debug = False app.config['TESTING'] = True + app.config['WTF_CSRF_ENABLED'] = False self.app = app self.client = app.test_client() - with self.client.session_transaction() as session: - session['csrf'] = 'csrf_token' - - csrf_hmac = hmac.new(self.app.config['SECRET_KEY'], - 'csrf_token'.encode('utf8'), - digestmod=sha1) - self.csrf_token = '##' + csrf_hmac.hexdigest() - def _create_app(self, auth_config, **kwargs): return create_app(auth_config, **kwargs) @@ -43,16 +36,13 @@ class SecurityTest(TestCase): headers=headers) def _post(self, route, data=None, content_type=None, follow_redirects=True, headers=None): - if isinstance(data, dict): - data['csrf_token'] = self.csrf_token - content_type = content_type or 'application/x-www-form-urlencoded' return self.client.post(route, data=data, follow_redirects=follow_redirects, content_type=content_type, headers=headers) def register(self, email, password='password'): - data = dict(email=email, password=password, csrf_token=self.csrf_token) + data = dict(email=email, password=password) return self.client.post('/register', data=data, follow_redirects=True) def authenticate(self, email="matt@lp.com", password="password", endpoint=None, **kwargs): @@ -62,11 +52,10 @@ class SecurityTest(TestCase): def json_authenticate(self, email="matt@lp.com", password="password", endpoint=None): data = """{ "email": "%s", - "password": "%s", - "csrf_token": "%s" + "password": "%s" }""" return self._post(endpoint or '/login', content_type="application/json", - data=data % (email, password, self.csrf_token)) + data=data % (email, password)) def logout(self, endpoint=None): return self._get(endpoint or '/logout', follow_redirects=True) diff --git a/tests/configured_tests.py b/tests/configured_tests.py index af27be0..e2220a4 100644 --- a/tests/configured_tests.py +++ b/tests/configured_tests.py @@ -77,7 +77,7 @@ class ConfiguredSecurityTests(SecurityTest): self.assertIn('Page 1', r.data) def test_register_json(self): - data = '{ "email": "dude@lp.com", "password": "password", "csrf_token":"%s" }' % self.csrf_token + data = '{ "email": "dude@lp.com", "password": "password"}' r = self._post('/register', data=data, content_type='application/json') data = json.loads(r.data) self.assertEquals(data['meta']['code'], 200) @@ -559,7 +559,7 @@ class PasswordlessTests(SecurityTest): self.assertIn(msg, r.data) def test_request_login_token_with_json_and_valid_email(self): - data = '{"email": "matt@lp.com", "password": "password", "csrf_token":"%s"}' % self.csrf_token + data = '{"email": "matt@lp.com", "password": "password"}' r = self._post('/login', data=data, content_type='application/json') self.assertEquals(r.status_code, 200) self.assertNotIn('error', r.data) diff --git a/tests/signals_tests.py b/tests/signals_tests.py index ff045cb..cdf179c 100644 --- a/tests/signals_tests.py +++ b/tests/signals_tests.py @@ -173,8 +173,7 @@ class ChangeableSignalsTests(SignalTest): client.post('/change', data=dict(password='password', new_password='newpassword', - new_password_confirm='newpassword', - csrf_token=self.csrf_token)) + new_password_confirm='newpassword')) self.assertEqual(mocks.signals_sent(), set([password_changed])) user = self.app.security.datastore.find_user(email='joe@lp.com') calls = mocks[password_changed] diff --git a/tests/test_app/peewee_app.py b/tests/test_app/peewee_app.py index 954a977..8b4fc05 100644 --- a/tests/test_app/peewee_app.py +++ b/tests/test_app/peewee_app.py @@ -18,7 +18,7 @@ from tests.test_app import create_app as create_base_app, populate_data, \ def create_app(config, **kwargs): app = create_base_app(config) app.config['DATABASE'] = { - 'name': 'example2.db', + 'name': 'peewee.db', 'engine': 'peewee.SqliteDatabase' } db = Database(app) @@ -50,7 +50,7 @@ def create_app(config, **kwargs): def before_first_request(): for Model in (Role, User, UserRoles): Model.drop_table(fail_silently=True) - Model.create_table(fail_silently=True) + Model.create_table() populate_data(app.config.get('USER_COUNT', None)) app.security = Security(app, datastore=PeeweeUserDatastore(db, User, Role, UserRoles), **kwargs) diff --git a/tests/test_app/sqlalchemy.py b/tests/test_app/sqlalchemy.py index ec23b01..d1af62b 100644 --- a/tests/test_app/sqlalchemy.py +++ b/tests/test_app/sqlalchemy.py @@ -16,8 +16,6 @@ from tests.test_app import create_app as create_base_app, populate_data, \ def create_app(config, **kwargs): app = create_base_app(config) - - #app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root@localhost/flask_security_test' app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite://' db = SQLAlchemy(app)