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 {}
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
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
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")
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
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, )
def _create_test_session(self, answers): session = SessionStore('asdf1234') session.update({'answers': answers}) test_session = TestSession(session) return test_session