diff options
Diffstat (limited to 'parts/django/tests/modeltests/test_client/views.py')
-rw-r--r-- | parts/django/tests/modeltests/test_client/views.py | 214 |
1 files changed, 0 insertions, 214 deletions
diff --git a/parts/django/tests/modeltests/test_client/views.py b/parts/django/tests/modeltests/test_client/views.py deleted file mode 100644 index baa9525..0000000 --- a/parts/django/tests/modeltests/test_client/views.py +++ /dev/null @@ -1,214 +0,0 @@ -from xml.dom.minidom import parseString - -from django.core import mail -from django.template import Context, Template -from django.http import HttpResponse, HttpResponseRedirect, HttpResponseNotFound -from django.contrib.auth.decorators import login_required, permission_required -from django.forms.forms import Form -from django.forms import fields -from django.shortcuts import render_to_response -from django.utils.decorators import method_decorator - -def get_view(request): - "A simple view that expects a GET request, and returns a rendered template" - t = Template('This is a test. {{ var }} is the value.', name='GET Template') - c = Context({'var': request.GET.get('var', 42)}) - - return HttpResponse(t.render(c)) - -def post_view(request): - """A view that expects a POST, and returns a different template depending - on whether any POST data is available - """ - if request.method == 'POST': - if request.POST: - t = Template('Data received: {{ data }} is the value.', name='POST Template') - c = Context({'data': request.POST['value']}) - else: - t = Template('Viewing POST page.', name='Empty POST Template') - c = Context() - else: - t = Template('Viewing GET page.', name='Empty GET Template') - c = Context() - - return HttpResponse(t.render(c)) - -def view_with_header(request): - "A view that has a custom header" - response = HttpResponse() - response['X-DJANGO-TEST'] = 'Slartibartfast' - return response - -def raw_post_view(request): - """A view which expects raw XML to be posted and returns content extracted - from the XML""" - if request.method == 'POST': - root = parseString(request.raw_post_data) - first_book = root.firstChild.firstChild - title, author = [n.firstChild.nodeValue for n in first_book.childNodes] - t = Template("{{ title }} - {{ author }}", name="Book template") - c = Context({"title": title, "author": author}) - else: - t = Template("GET request.", name="Book GET template") - c = Context() - - return HttpResponse(t.render(c)) - -def redirect_view(request): - "A view that redirects all requests to the GET view" - if request.GET: - from urllib import urlencode - query = '?' + urlencode(request.GET, True) - else: - query = '' - return HttpResponseRedirect('/test_client/get_view/' + query) - -def view_with_secure(request): - "A view that indicates if the request was secure" - response = HttpResponse() - response.test_was_secure_request = request.is_secure() - return response - -def double_redirect_view(request): - "A view that redirects all requests to a redirection view" - return HttpResponseRedirect('/test_client/permanent_redirect_view/') - -def bad_view(request): - "A view that returns a 404 with some error content" - return HttpResponseNotFound('Not found!. This page contains some MAGIC content') - -TestChoices = ( - ('a', 'First Choice'), - ('b', 'Second Choice'), - ('c', 'Third Choice'), - ('d', 'Fourth Choice'), - ('e', 'Fifth Choice') -) - -class TestForm(Form): - text = fields.CharField() - email = fields.EmailField() - value = fields.IntegerField() - single = fields.ChoiceField(choices=TestChoices) - multi = fields.MultipleChoiceField(choices=TestChoices) - -def form_view(request): - "A view that tests a simple form" - if request.method == 'POST': - form = TestForm(request.POST) - if form.is_valid(): - t = Template('Valid POST data.', name='Valid POST Template') - c = Context() - else: - t = Template('Invalid POST data. {{ form.errors }}', name='Invalid POST Template') - c = Context({'form': form}) - else: - form = TestForm(request.GET) - t = Template('Viewing base form. {{ form }}.', name='Form GET Template') - c = Context({'form': form}) - - return HttpResponse(t.render(c)) - -def form_view_with_template(request): - "A view that tests a simple form" - if request.method == 'POST': - form = TestForm(request.POST) - if form.is_valid(): - message = 'POST data OK' - else: - message = 'POST data has errors' - else: - form = TestForm() - message = 'GET form page' - return render_to_response('form_view.html', - { - 'form': form, - 'message': message - } - ) - -def login_protected_view(request): - "A simple view that is login protected." - t = Template('This is a login protected test. Username is {{ user.username }}.', name='Login Template') - c = Context({'user': request.user}) - - return HttpResponse(t.render(c)) -login_protected_view = login_required(login_protected_view) - -def login_protected_view_changed_redirect(request): - "A simple view that is login protected with a custom redirect field set" - t = Template('This is a login protected test. Username is {{ user.username }}.', name='Login Template') - c = Context({'user': request.user}) - - return HttpResponse(t.render(c)) -login_protected_view_changed_redirect = login_required(redirect_field_name="redirect_to")(login_protected_view_changed_redirect) - -def permission_protected_view(request): - "A simple view that is permission protected." - t = Template('This is a permission protected test. ' - 'Username is {{ user.username }}. ' - 'Permissions are {{ user.get_all_permissions }}.' , - name='Permissions Template') - c = Context({'user': request.user}) - return HttpResponse(t.render(c)) -permission_protected_view = permission_required('modeltests.test_perm')(permission_protected_view) - -class _ViewManager(object): - @method_decorator(login_required) - def login_protected_view(self, request): - t = Template('This is a login protected test using a method. ' - 'Username is {{ user.username }}.', - name='Login Method Template') - c = Context({'user': request.user}) - return HttpResponse(t.render(c)) - - @method_decorator(permission_required('modeltests.test_perm')) - def permission_protected_view(self, request): - t = Template('This is a permission protected test using a method. ' - 'Username is {{ user.username }}. ' - 'Permissions are {{ user.get_all_permissions }}.' , - name='Permissions Template') - c = Context({'user': request.user}) - return HttpResponse(t.render(c)) - -_view_manager = _ViewManager() -login_protected_method_view = _view_manager.login_protected_view -permission_protected_method_view = _view_manager.permission_protected_view - -def session_view(request): - "A view that modifies the session" - request.session['tobacconist'] = 'hovercraft' - - t = Template('This is a view that modifies the session.', - name='Session Modifying View Template') - c = Context() - return HttpResponse(t.render(c)) - -def broken_view(request): - """A view which just raises an exception, simulating a broken view.""" - raise KeyError("Oops! Looks like you wrote some bad code.") - -def mail_sending_view(request): - mail.EmailMessage( - "Test message", - "This is a test email", - "from@example.com", - ['first@example.com', 'second@example.com']).send() - return HttpResponse("Mail sent") - -def mass_mail_sending_view(request): - m1 = mail.EmailMessage( - 'First Test message', - 'This is the first test email', - 'from@example.com', - ['first@example.com', 'second@example.com']) - m2 = mail.EmailMessage( - 'Second Test message', - 'This is the second test email', - 'from@example.com', - ['second@example.com', 'third@example.com']) - - c = mail.get_connection() - c.send_messages([m1,m2]) - - return HttpResponse("Mail sent") |