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)
Exemple #3
0
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)
Exemple #5
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)
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)
Exemple #9
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'
Exemple #10
0
def shouldnt_complain_if_has_session():
    storage = DatabaseStorage('name', 'namespace')
    request = factory.get('/')
    SessionMiddleware().process_request(request)  # add 'session' attribute
    storage.process_request(request)
Exemple #11
0
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)
Exemple #12
0
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)