Пример #1
0
    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
Пример #2
0
    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
Пример #3
0
 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': {},
     }, )
Пример #5
0
 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()
Пример #6
0
    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)
Пример #7
0
 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'))
Пример #8
0
 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
Пример #11
0
    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
Пример #12
0
 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)
Пример #13
0
    def test_loading_by_id(self):
        session = Session()
        session.save()

        assert Session.load(session._id)
Пример #14
0
    def test_is_authenticated(self):
        session = Session(data={'auth_user_id': 'abc12'})
        assert session.is_authenticated

        session2 = Session()
        assert session2.is_authenticated is False
Пример #15
0
 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())