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'
Exemple #2
0
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_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)
Exemple #4
0
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)