Пример #1
0
    def load(self):
        session = self.bucket.get(self._get_riak_key())

        if session.exists:
            # TODO Evaluate performance implications
            session_data = json.loads(session.data)

            # only return unexpired sessions
            expire_date = datetime.fromtimestamp(session_data['expire'])
            now = datetime.now()
            if (now - expire_date) < timedelta(seconds=settings.SESSION_COOKIE_AGE):
                decoded = self.decode(session_data['data'])
                return decoded
        logger.info("Fell through, this session does not exist...")
        if self._session_key:
            logger.info("Extracting session from old cookie.")
            tempSession = SignedCookiesSessionStore(self._session_key)
            temp_session_state = tempSession.load()
            self.create()
            data = {'data': self.encode(temp_session_state),
                    'expire': self._get_expiry_timestamp()}

            session = self.bucket.new(self._get_riak_key())
            # TODO Evaluate performance implications
            session.data = json.dumps(data)
            session.store()
            return temp_session_state
        self.create()
        return {}
Пример #2
0
 def get_request(self):
     request = HttpRequest()
     request.META['REMOTE_ADDR'] = '1.2.3.4'
     request.method = 'POST'
     request.session = SessionStore()
     request._messages = default_storage(request)
     request.user = AnonymousUser()
     return request
Пример #3
0
 def get_request(self):
     request = HttpRequest()
     request.META["REMOTE_ADDR"] = "1.2.3.4"
     request.method = "POST"
     request.session = SessionStore()
     request._messages = default_storage(request)
     request.user = AnonymousUser()
     return request
Пример #4
0
    def test_complete_test_200(self):
        final_page_path = reverse('pages', kwargs={'test_id': self.test1.id,
                                                   'page_id': self.t1_p5.id})
        final_page_answers = {'question_1': '1', 'question_3': '4',
                              'question_4': '7', 'test_id': self.test1.id,
                              'page_id': self.t1_p5.id,
                              'last_page_id': self.t1_p4.id}
        session = SessionStore('1234abcd')
        session['last_page_id'] = unicode(self.t1_p4.id)
        session.save()

        response = self.client.post(final_page_path, final_page_answers,
                                    follow=True)
        results_url = reverse('results', kwargs={'test_id': self.test1.id})
        # self.assertRedirects(response, results_url)
        self.fail("Couldn't manage to do this test with django test client"
                  "...should try with selenium or django-webtest")
Пример #5
0
 def _create_session(self, **kwargs):
     session = SessionStore("3c3c3c4b4b4b")
     session.update(
         {'last_page_id': self.t1_p4.id, 'test_id': self.test1.id,
          'page_id': self.t1_p5.id})
     session.update(kwargs)
     session.save()
     return session
Пример #6
0
    def render_template(self):
        """
        Creates a fake request context together with the context from
        ``get_template_context`` and returns the rendered output.
        """

        # We need a fake request to use the RequestContext, which is needed to
        # apply all context processors (for menus, etc.)
        request = RequestFactory(
            HTTP_HOST=settings.ALLOWED_HOSTS[0].strip('.')).get('/')
        request.user = AnonymousUser()
        request.session = SessionStore()

        template_name = self.get_template_name()
        self.log('Rendering template "{0}"'.format(template_name))
        return render_to_string(
            template_name,
            context=RequestContext(request,
                                   self.get_template_context()).flatten(),
            request=request,
        )
Пример #7
0
 def _create_test_session(self, answers):
     session = SessionStore('asdf1234')
     session.update({'answers': answers})
     test_session = TestSession(session)
     return test_session