def should_completely_remove_data_from_database_when_deleted(): middleware = SessionMiddleware() # Do an initial request, to add some data to the storage request, response = factory.get('/'), HttpResponse('') middleware.process_request(request) # The session key isn't actually determined until the session is used (it's # all lazy), so we'll set some test data initially that we can then use # later. request.session['some other data'] = 'testing' storage = DatabaseStorage('name', 'namespace') storage.process_request(request) step = storage['step1'] step.data = {'blarg': 'bloog'} storage.process_response(response) middleware.process_response(request, response) session_key = request.session.session_key # save for later request assert WizardState.objects.filter(name='name', namespace='namespace').count() == 1 # check deletion request = factory.get('/') request.COOKIES[settings.SESSION_COOKIE_NAME] = session_key # use session middleware.process_request(request) storage = DatabaseStorage('name', 'namespace') storage.process_request(request) storage.delete() #storage.process_response(HttpResponse('')) assert WizardState.objects.filter(name='name', namespace='namespace').count() == 0 assert request.session['some other data'] == 'testing'
def should_create_new_model_instance_referencing_to_session(): assert WizardState.objects.count() == 0 storage = DatabaseStorage('name', 'namespace') request = factory.get('/') request.session = SessionStore() storage.process_request(request) assert WizardState.objects.count() == 1 assert WizardState.objects.get(name='name', namespace='namespace', session_key=request.session.session_key)
def should_create_new_model_instance_linked_to_user(): assert WizardState.objects.count() == 0 storage = DatabaseStorage('name', 'namespace') request, response = factory.get('/'), HttpResponse('') request.user = User.objects.create_user('username', '*****@*****.**') storage.process_request(request) storage.process_response(response) assert WizardState.objects.count() == 1 assert WizardState.objects.get(name='name', namespace='namespace', user=request.user)
def shouldnt_complain_if_has_session(): storage = DatabaseStorage('name', 'namespace') request = factory.get('/') SessionMiddleware().process_request(request) # add 'session' attribute storage.process_request(request)
def shouldnt_complain_if_no_session_and_has_authenticated_user(): storage = DatabaseStorage('name', 'namespace') request = factory.get('/') request.user = User.objects.create_user('username', '*****@*****.**') storage.process_request(request)
def should_complain_if_no_session_and_has_no_user(): storage = DatabaseStorage('name', 'namespace') request = factory.get('/') with Assert.raises(ImproperlyConfigured): storage.process_request(request)