def test_remove(self): session, session2 = Session(data={'auth_user_id': '123ab'}), Session(data={'auth_user_id': 'ab123'}) session.save() session2.save() assert Session.objects.count() == 2 # sanity check Session.remove(Q('data.auth_user_id', 'eq', '123ab')) assert Session.objects.count() == 1
def test_remove(self): session, session2 = Session(data={'auth_user_id': '123ab'}), Session( data={'auth_user_id': 'ab123'}) session.save() session2.save() assert Session.objects.count() == 2 # sanity check Session.objects.filter(data__auth_user_id='123ab').delete() assert Session.objects.count() == 1
def test_serialize_revision(self): sessions.sessions[request._get_current_object()] = Session() utils.update_analytics(self.project, self.record, 0) utils.update_analytics(self.project, self.record, 0) utils.update_analytics(self.project, self.record, 2) expected = { 'index': 1, 'user': { 'name': self.user.fullname, 'url': self.user.url, }, 'date': self.versions[0].created.isoformat(), 'downloads': 2, 'md5': None, 'sha256': None, } observed = utils.serialize_revision( self.project, self.record, self.versions[0], 0, ) assert_equal(expected, observed) assert_equal(self.record.get_download_count(), 3) assert_equal(self.record.get_download_count(version=2), 1) assert_equal(self.record.get_download_count(version=0), 2)
def test_log_not_logged_in(self, mock_capture): session_record = Session() set_session(session_record) sentry.log_exception() mock_capture.assert_called_with(extra={ 'session': {}, }, )
def setUp(self): super(TestAddonLogs, self).setUp() self.user = AuthUserFactory() self.auth_obj = Auth(user=self.user) self.node = ProjectFactory(creator=self.user) self.session = Session(data={'auth_user_id': self.user._id}) self.session.save() self.cookie = itsdangerous.Signer(settings.SECRET_KEY).sign(self.session._id) self.configure_addon()
def test_cookie_has_admin(self): session = Session(data={'auth_user_id': self.user._id}) session.save() cookie = itsdangerous.Signer(settings.SECRET_KEY).sign(session._id) self.app.set_cookie(settings.COOKIE_NAME, str(cookie)) res = self.app.get(self.url) assert_equal(res.status_code, 200) assert_equal(res.json['meta']['admin'], True)
def setUp(self): super(TestSloanMetrics, self).setUp() self.user = AuthUserFactory() self.auth_obj = Auth(user=self.user) self.preprint = PreprintFactory(creator=self.user, is_public=True) self.session = Session(data={'auth_user_id': self.user._id}) self.session.save() self.cookie = itsdangerous.Signer(settings.SECRET_KEY).sign(self.session._id).decode() self.JWE_KEY = jwe.kdf(settings.WATERBUTLER_JWE_SECRET.encode('utf-8'), settings.WATERBUTLER_JWE_SALT.encode('utf-8'))
def setUp(self): super(TestAddonAuth, self).setUp() self.user = AuthUserFactory() self.auth_obj = Auth(user=self.user) self.node = ProjectFactory(creator=self.user) self.session = Session(data={'auth_user_id': self.user._id}) self.session.save() self.cookie = itsdangerous.Signer(settings.SECRET_KEY).sign(self.session._id) self.configure_addon() self.JWE_KEY = jwe.kdf(settings.WATERBUTLER_JWE_SECRET.encode('utf-8'), settings.WATERBUTLER_JWE_SALT.encode('utf-8'))
def test_log_logged_in(self, mock_capture): user = UserFactory() session_record = Session() session_record.data['auth_user_id'] = user._id set_session(session_record) sentry.log_exception() mock_capture.assert_called_with(extra={ 'session': { 'auth_user_id': user._id, }, }, )
def test_cookied_requests_can_create_and_email(self, mock_mail, app, user, email_unconfirmed, data, url_base): session = Session(data={'auth_user_id': user._id}) session.save() cookie = itsdangerous.Signer(settings.SECRET_KEY).sign(session._id) app.set_cookie(settings.COOKIE_NAME, str(cookie)) assert OSFUser.objects.filter(username=email_unconfirmed).count() == 0 res = app.post_json_api('{}?send_email=true'.format(url_base), data) assert res.status_code == 201 assert OSFUser.objects.filter(username=email_unconfirmed).count() == 1 assert mock_mail.call_count == 1
def test_file_guid_created_with_cookie(self, mock_allow, app, user, file_url, file): session = Session(data={'auth_user_id': user._id}) session.save() cookie = itsdangerous.Signer(website_settings.SECRET_KEY).sign(session._id) app.set_cookie(website_settings.COOKIE_NAME, str(cookie)) res = app.get('{}?create_guid=1'.format(file_url), auth=user.auth) app.reset() # clear cookie assert res.status_code == 200 guid = res.json['data']['attributes'].get('guid', None) assert guid is not None assert guid == file.get_guid()._id assert mock_allow.call_count == 1
def test_anon_revisions(self): sessions.sessions[request._get_current_object()] = Session() utils.update_analytics(self.project, self.record, 0) utils.update_analytics(self.project, self.record, 0) utils.update_analytics(self.project, self.record, 2) expected = { 'index': 2, 'user': None, 'date': self.versions[0].created.isoformat(), 'downloads': 0, 'md5': None, 'sha256': None, } observed = utils.serialize_revision(self.project, self.record, self.versions[0], 1, anon=True) assert_equal(expected, observed)
def test_loading_by_id(self): session = Session() session.save() assert Session.load(session._id)
def test_is_authenticated(self): session = Session(data={'auth_user_id': 'abc12'}) assert session.is_authenticated session2 = Session() assert session2.is_authenticated is False
def setUp(self): decoratorapp = Flask('decorators') self.ctx = decoratorapp.test_request_context() self.ctx.push() # TODO: Think of something better @sloria @jmcarp sessions.set_session(Session())