diff options
author | coderick14 | 2017-05-17 15:40:18 +0530 |
---|---|---|
committer | coderick14 | 2017-05-17 15:41:00 +0530 |
commit | a1e0a5502f04da68b6a9ca8508dda3f9d7e1d055 (patch) | |
tree | 20181e6b1936f50ad48d8e35720d64a37566f558 /lib/python2.7/site-packages/django/contrib/formtools/tests | |
parent | 6f4a84c1e58ff4d54aab94cbee26e995328b05b8 (diff) | |
download | SBHS-2018-Rpi-a1e0a5502f04da68b6a9ca8508dda3f9d7e1d055.tar.gz SBHS-2018-Rpi-a1e0a5502f04da68b6a9ca8508dda3f9d7e1d055.tar.bz2 SBHS-2018-Rpi-a1e0a5502f04da68b6a9ca8508dda3f9d7e1d055.zip |
Upgrade to Django 1.11
- Database integration yet to be tested
Diffstat (limited to 'lib/python2.7/site-packages/django/contrib/formtools/tests')
22 files changed, 0 insertions, 1619 deletions
diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/__init__.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/__init__.py deleted file mode 100644 index e69de29..0000000 --- a/lib/python2.7/site-packages/django/contrib/formtools/tests/__init__.py +++ /dev/null diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/forms.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/forms.py deleted file mode 100644 index 6f3ce4b..0000000 --- a/lib/python2.7/site-packages/django/contrib/formtools/tests/forms.py +++ /dev/null @@ -1,15 +0,0 @@ -from django import forms - -class TestForm(forms.Form): - field1 = forms.CharField() - field1_ = forms.CharField() - bool1 = forms.BooleanField(required=False) - date1 = forms.DateField(required=False) - -class HashTestForm(forms.Form): - name = forms.CharField() - bio = forms.CharField() - -class HashTestBlankForm(forms.Form): - name = forms.CharField(required=False) - bio = forms.CharField(required=False) diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/templates/404.html b/lib/python2.7/site-packages/django/contrib/formtools/tests/templates/404.html deleted file mode 100644 index 4aa1203..0000000 --- a/lib/python2.7/site-packages/django/contrib/formtools/tests/templates/404.html +++ /dev/null @@ -1 +0,0 @@ -Not found. diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/templates/base.html b/lib/python2.7/site-packages/django/contrib/formtools/tests/templates/base.html deleted file mode 100644 index c6afe66..0000000 --- a/lib/python2.7/site-packages/django/contrib/formtools/tests/templates/base.html +++ /dev/null @@ -1,2 +0,0 @@ -{% block content %} -{% endblock %}
\ No newline at end of file diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/templates/forms/wizard.html b/lib/python2.7/site-packages/django/contrib/formtools/tests/templates/forms/wizard.html deleted file mode 100644 index c911c3c..0000000 --- a/lib/python2.7/site-packages/django/contrib/formtools/tests/templates/forms/wizard.html +++ /dev/null @@ -1,13 +0,0 @@ -<html> - <body> - <p>Step {{ step }} of {{ step_count }}</p> - <form action="." method="post"> - <table> - {{ form }} - </table> - <input type="hidden" name="{{ step_field }}" value="{{ step0 }}" /> - {{ previous_fields|safe }} - <input type="submit"> - </form> - </body> -</html> diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/tests.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/tests.py deleted file mode 100644 index 58c59f4..0000000 --- a/lib/python2.7/site-packages/django/contrib/formtools/tests/tests.py +++ /dev/null @@ -1,183 +0,0 @@ -# -*- coding: utf-8 -*- -from __future__ import unicode_literals - -import datetime -import os -import warnings - -from django import http -from django.contrib.formtools import preview, utils -from django.test import TestCase -from django.test.utils import override_settings -from django.utils._os import upath -from django.utils import unittest - -from django.contrib.formtools.tests.forms import * - -success_string = "Done was called!" -success_string_encoded = success_string.encode() - -class TestFormPreview(preview.FormPreview): - def get_context(self, request, form): - context = super(TestFormPreview, self).get_context(request, form) - context.update({'custom_context': True}) - return context - - def get_initial(self, request): - return {'field1': 'Works!'} - - def done(self, request, cleaned_data): - return http.HttpResponse(success_string) - -@override_settings( - TEMPLATE_DIRS=( - os.path.join(os.path.dirname(upath(__file__)), 'templates'), - ), -) -class PreviewTests(TestCase): - urls = 'django.contrib.formtools.tests.urls' - - def setUp(self): - super(PreviewTests, self).setUp() - # Create a FormPreview instance to share between tests - self.preview = preview.FormPreview(TestForm) - input_template = '<input type="hidden" name="%s" value="%s" />' - self.input = input_template % (self.preview.unused_name('stage'), "%d") - self.test_data = {'field1': 'foo', 'field1_': 'asdf'} - - def test_unused_name(self): - """ - Verifies name mangling to get uniue field name. - """ - self.assertEqual(self.preview.unused_name('field1'), 'field1__') - - def test_form_get(self): - """ - Test contrib.formtools.preview form retrieval. - - Use the client library to see if we can sucessfully retrieve - the form (mostly testing the setup ROOT_URLCONF - process). Verify that an additional hidden input field - is created to manage the stage. - - """ - response = self.client.get('/preview/') - stage = self.input % 1 - self.assertContains(response, stage, 1) - self.assertEqual(response.context['custom_context'], True) - self.assertEqual(response.context['form'].initial, {'field1': 'Works!'}) - - def test_form_preview(self): - """ - Test contrib.formtools.preview form preview rendering. - - Use the client library to POST to the form to see if a preview - is returned. If we do get a form back check that the hidden - value is correctly managing the state of the form. - - """ - # Pass strings for form submittal and add stage variable to - # show we previously saw first stage of the form. - self.test_data.update({'stage': 1, 'date1': datetime.date(2006, 10, 25)}) - response = self.client.post('/preview/', self.test_data) - # Check to confirm stage is set to 2 in output form. - stage = self.input % 2 - self.assertContains(response, stage, 1) - - def test_form_submit(self): - """ - Test contrib.formtools.preview form submittal. - - Use the client library to POST to the form with stage set to 3 - to see if our forms done() method is called. Check first - without the security hash, verify failure, retry with security - hash and verify sucess. - - """ - # Pass strings for form submittal and add stage variable to - # show we previously saw first stage of the form. - self.test_data.update({'stage': 2, 'date1': datetime.date(2006, 10, 25)}) - response = self.client.post('/preview/', self.test_data) - self.assertNotEqual(response.content, success_string_encoded) - hash = self.preview.security_hash(None, TestForm(self.test_data)) - self.test_data.update({'hash': hash}) - response = self.client.post('/preview/', self.test_data) - self.assertEqual(response.content, success_string_encoded) - - def test_bool_submit(self): - """ - Test contrib.formtools.preview form submittal when form contains: - BooleanField(required=False) - - Ticket: #6209 - When an unchecked BooleanField is previewed, the preview - form's hash would be computed with no value for ``bool1``. However, when - the preview form is rendered, the unchecked hidden BooleanField would be - rendered with the string value 'False'. So when the preview form is - resubmitted, the hash would be computed with the value 'False' for - ``bool1``. We need to make sure the hashes are the same in both cases. - - """ - self.test_data.update({'stage':2}) - hash = self.preview.security_hash(None, TestForm(self.test_data)) - self.test_data.update({'hash': hash, 'bool1': 'False'}) - with warnings.catch_warnings(record=True): - response = self.client.post('/preview/', self.test_data) - self.assertEqual(response.content, success_string_encoded) - - def test_form_submit_good_hash(self): - """ - Test contrib.formtools.preview form submittal, using a correct - hash - """ - # Pass strings for form submittal and add stage variable to - # show we previously saw first stage of the form. - self.test_data.update({'stage':2}) - response = self.client.post('/preview/', self.test_data) - self.assertNotEqual(response.content, success_string_encoded) - hash = utils.form_hmac(TestForm(self.test_data)) - self.test_data.update({'hash': hash}) - response = self.client.post('/preview/', self.test_data) - self.assertEqual(response.content, success_string_encoded) - - - def test_form_submit_bad_hash(self): - """ - Test contrib.formtools.preview form submittal does not proceed - if the hash is incorrect. - """ - # Pass strings for form submittal and add stage variable to - # show we previously saw first stage of the form. - self.test_data.update({'stage':2}) - response = self.client.post('/preview/', self.test_data) - self.assertEqual(response.status_code, 200) - self.assertNotEqual(response.content, success_string_encoded) - hash = utils.form_hmac(TestForm(self.test_data)) + "bad" - self.test_data.update({'hash': hash}) - response = self.client.post('/previewpreview/', self.test_data) - self.assertNotEqual(response.content, success_string_encoded) - - -class FormHmacTests(unittest.TestCase): - - def test_textfield_hash(self): - """ - Regression test for #10034: the hash generation function should ignore - leading/trailing whitespace so as to be friendly to broken browsers that - submit it (usually in textareas). - """ - f1 = HashTestForm({'name': 'joe', 'bio': 'Speaking español.'}) - f2 = HashTestForm({'name': ' joe', 'bio': 'Speaking español. '}) - hash1 = utils.form_hmac(f1) - hash2 = utils.form_hmac(f2) - self.assertEqual(hash1, hash2) - - def test_empty_permitted(self): - """ - Regression test for #10643: the security hash should allow forms with - empty_permitted = True, or forms where data has not changed. - """ - f1 = HashTestBlankForm({}) - f2 = HashTestForm({}, empty_permitted=True) - hash1 = utils.form_hmac(f1) - hash2 = utils.form_hmac(f2) - self.assertEqual(hash1, hash2) diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/urls.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/urls.py deleted file mode 100644 index f96f89e..0000000 --- a/lib/python2.7/site-packages/django/contrib/formtools/tests/urls.py +++ /dev/null @@ -1,15 +0,0 @@ -""" -This is a URLconf to be loaded by tests.py. Add any URLs needed for tests only. -""" - -from __future__ import absolute_import - -from django.conf.urls import patterns, url -from django.contrib.formtools.tests.tests import TestFormPreview - -from django.contrib.formtools.tests.forms import TestForm - - -urlpatterns = patterns('', - url(r'^preview/', TestFormPreview(TestForm)), -) diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/__init__.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/__init__.py deleted file mode 100644 index 81de44e..0000000 --- a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/__init__.py +++ /dev/null @@ -1,19 +0,0 @@ -from django.contrib.formtools.tests.wizard.test_cookiestorage import TestCookieStorage -from django.contrib.formtools.tests.wizard.test_forms import FormTests, SessionFormTests, CookieFormTests -from django.contrib.formtools.tests.wizard.test_loadstorage import TestLoadStorage -from django.contrib.formtools.tests.wizard.namedwizardtests.tests import ( - NamedSessionWizardTests, - NamedCookieWizardTests, - TestNamedUrlSessionWizardView, - TestNamedUrlCookieWizardView, - NamedSessionFormTests, - NamedCookieFormTests, -) -from django.contrib.formtools.tests.wizard.test_sessionstorage import TestSessionStorage -from django.contrib.formtools.tests.wizard.wizardtests.tests import ( - SessionWizardTests, - CookieWizardTests, - WizardTestKwargs, - WizardTestGenericViewInterface, - WizardFormKwargsOverrideTests, -) diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/namedwizardtests/__init__.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/namedwizardtests/__init__.py deleted file mode 100644 index e69de29..0000000 --- a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/namedwizardtests/__init__.py +++ /dev/null diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/namedwizardtests/forms.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/namedwizardtests/forms.py deleted file mode 100644 index 39e914d..0000000 --- a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/namedwizardtests/forms.py +++ /dev/null @@ -1,52 +0,0 @@ -import os -import tempfile - -from django import forms -from django.core.files.storage import FileSystemStorage -from django.forms.formsets import formset_factory -from django.http import HttpResponse -from django.template import Template, Context - -from django.contrib.auth.models import User - -from django.contrib.formtools.wizard.views import NamedUrlWizardView - -temp_storage_location = tempfile.mkdtemp(dir=os.environ.get('DJANGO_TEST_TEMP_DIR')) -temp_storage = FileSystemStorage(location=temp_storage_location) - -class Page1(forms.Form): - name = forms.CharField(max_length=100) - user = forms.ModelChoiceField(queryset=User.objects.all()) - thirsty = forms.NullBooleanField() - -class Page2(forms.Form): - address1 = forms.CharField(max_length=100) - address2 = forms.CharField(max_length=100) - file1 = forms.FileField() - -class Page3(forms.Form): - random_crap = forms.CharField(max_length=100) - -Page4 = formset_factory(Page3, extra=2) - -class ContactWizard(NamedUrlWizardView): - file_storage = temp_storage - - def done(self, form_list, **kwargs): - c = Context({ - 'form_list': [x.cleaned_data for x in form_list], - 'all_cleaned_data': self.get_all_cleaned_data() - }) - - for form in self.form_list.keys(): - c[form] = self.get_cleaned_data_for_step(form) - - c['this_will_fail'] = self.get_cleaned_data_for_step('this_will_fail') - return HttpResponse(Template('').render(c)) - -class SessionContactWizard(ContactWizard): - storage_name = 'django.contrib.formtools.wizard.storage.session.SessionStorage' - -class CookieContactWizard(ContactWizard): - storage_name = 'django.contrib.formtools.wizard.storage.cookie.CookieStorage' - diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/namedwizardtests/tests.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/namedwizardtests/tests.py deleted file mode 100644 index b6125db..0000000 --- a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/namedwizardtests/tests.py +++ /dev/null @@ -1,382 +0,0 @@ -from __future__ import unicode_literals - -from django.core.urlresolvers import reverse -from django.http import QueryDict -from django.test import TestCase - -from django.contrib.auth.models import User -from django.contrib.auth.tests.utils import skipIfCustomUser - -from django.contrib.formtools.wizard.views import (NamedUrlSessionWizardView, - NamedUrlCookieWizardView) -from django.contrib.formtools.tests.wizard.test_forms import get_request, Step1, Step2 - - -class NamedWizardTests(object): - urls = 'django.contrib.formtools.tests.wizard.namedwizardtests.urls' - - def setUp(self): - self.testuser, created = User.objects.get_or_create(username='testuser1') - self.wizard_step_data[0]['form1-user'] = self.testuser.pk - - def test_initial_call(self): - response = self.client.get(reverse('%s_start' % self.wizard_urlname)) - self.assertEqual(response.status_code, 302) - response = self.client.get(response.url) - self.assertEqual(response.status_code, 200) - wizard = response.context['wizard'] - self.assertEqual(wizard['steps'].current, 'form1') - self.assertEqual(wizard['steps'].step0, 0) - self.assertEqual(wizard['steps'].step1, 1) - self.assertEqual(wizard['steps'].last, 'form4') - self.assertEqual(wizard['steps'].prev, None) - self.assertEqual(wizard['steps'].next, 'form2') - self.assertEqual(wizard['steps'].count, 4) - self.assertEqual(wizard['url_name'], self.wizard_urlname) - - def test_initial_call_with_params(self): - get_params = {'getvar1': 'getval1', 'getvar2': 'getval2'} - response = self.client.get(reverse('%s_start' % self.wizard_urlname), - get_params) - self.assertEqual(response.status_code, 302) - - # Test for proper redirect GET parameters - location = response.url - self.assertNotEqual(location.find('?'), -1) - querydict = QueryDict(location[location.find('?') + 1:]) - self.assertEqual(dict(querydict.items()), get_params) - - def test_form_post_error(self): - response = self.client.post( - reverse(self.wizard_urlname, kwargs={'step': 'form1'}), - self.wizard_step_1_data) - - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form1') - self.assertEqual(response.context['wizard']['form'].errors, - {'name': ['This field is required.'], - 'user': ['This field is required.']}) - - def test_form_post_success(self): - response = self.client.post( - reverse(self.wizard_urlname, kwargs={'step': 'form1'}), - self.wizard_step_data[0]) - response = self.client.get(response.url) - - self.assertEqual(response.status_code, 200) - wizard = response.context['wizard'] - self.assertEqual(wizard['steps'].current, 'form2') - self.assertEqual(wizard['steps'].step0, 1) - self.assertEqual(wizard['steps'].prev, 'form1') - self.assertEqual(wizard['steps'].next, 'form3') - - def test_form_stepback(self): - response = self.client.get( - reverse(self.wizard_urlname, kwargs={'step': 'form1'})) - - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form1') - - response = self.client.post( - reverse(self.wizard_urlname, kwargs={'step': 'form1'}), - self.wizard_step_data[0]) - response = self.client.get(response.url) - - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form2') - - response = self.client.post( - reverse(self.wizard_urlname, kwargs={ - 'step': response.context['wizard']['steps'].current - }), {'wizard_goto_step': response.context['wizard']['steps'].prev}) - response = self.client.get(response.url) - - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form1') - - def test_form_jump(self): - response = self.client.get( - reverse(self.wizard_urlname, kwargs={'step': 'form1'})) - - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form1') - - response = self.client.get( - reverse(self.wizard_urlname, kwargs={'step': 'form3'})) - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form3') - - def test_form_finish(self): - response = self.client.get( - reverse(self.wizard_urlname, kwargs={'step': 'form1'})) - - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form1') - - response = self.client.post( - reverse(self.wizard_urlname, - kwargs={'step': response.context['wizard']['steps'].current}), - self.wizard_step_data[0]) - response = self.client.get(response.url) - - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form2') - - post_data = self.wizard_step_data[1] - post_data['form2-file1'].close() - post_data['form2-file1'] = open(__file__, 'rb') - response = self.client.post( - reverse(self.wizard_urlname, - kwargs={'step': response.context['wizard']['steps'].current}), - post_data) - response = self.client.get(response.url) - - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form3') - - response = self.client.post( - reverse(self.wizard_urlname, - kwargs={'step': response.context['wizard']['steps'].current}), - self.wizard_step_data[2]) - response = self.client.get(response.url) - - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form4') - - response = self.client.post( - reverse(self.wizard_urlname, - kwargs={'step': response.context['wizard']['steps'].current}), - self.wizard_step_data[3]) - response = self.client.get(response.url) - self.assertEqual(response.status_code, 200) - - all_data = response.context['form_list'] - with open(__file__, 'rb') as f: - self.assertEqual(all_data[1]['file1'].read(), f.read()) - all_data[1]['file1'].close() - del all_data[1]['file1'] - self.assertEqual(all_data, [ - {'name': 'Pony', 'thirsty': True, 'user': self.testuser}, - {'address1': '123 Main St', 'address2': 'Djangoland'}, - {'random_crap': 'blah blah'}, - [{'random_crap': 'blah blah'}, {'random_crap': 'blah blah'}]]) - - def test_cleaned_data(self): - response = self.client.get( - reverse(self.wizard_urlname, kwargs={'step': 'form1'})) - self.assertEqual(response.status_code, 200) - - response = self.client.post( - reverse(self.wizard_urlname, - kwargs={'step': response.context['wizard']['steps'].current}), - self.wizard_step_data[0]) - response = self.client.get(response.url) - self.assertEqual(response.status_code, 200) - - post_data = self.wizard_step_data[1] - post_data['form2-file1'] = open(__file__, 'rb') - response = self.client.post( - reverse(self.wizard_urlname, - kwargs={'step': response.context['wizard']['steps'].current}), - post_data) - response = self.client.get(response.url) - self.assertEqual(response.status_code, 200) - - step2_url = reverse(self.wizard_urlname, kwargs={'step': 'form2'}) - response = self.client.get(step2_url) - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form2') - with open(__file__, 'rb') as f: - self.assertEqual( - response.context['wizard']['form'].files['form2-file1'].read(), - f.read()) - - response = self.client.post( - reverse(self.wizard_urlname, - kwargs={'step': response.context['wizard']['steps'].current}), - self.wizard_step_data[2]) - response = self.client.get(response.url) - self.assertEqual(response.status_code, 200) - - response = self.client.post( - reverse(self.wizard_urlname, - kwargs={'step': response.context['wizard']['steps'].current}), - self.wizard_step_data[3]) - response = self.client.get(response.url) - self.assertEqual(response.status_code, 200) - - all_data = response.context['all_cleaned_data'] - with open(__file__, 'rb') as f: - self.assertEqual(all_data['file1'].read(), f.read()) - all_data['file1'].close() - del all_data['file1'] - self.assertEqual( - all_data, - {'name': 'Pony', 'thirsty': True, 'user': self.testuser, - 'address1': '123 Main St', 'address2': 'Djangoland', - 'random_crap': 'blah blah', 'formset-form4': [ - {'random_crap': 'blah blah'}, - {'random_crap': 'blah blah'} - ]}) - - def test_manipulated_data(self): - response = self.client.get( - reverse(self.wizard_urlname, kwargs={'step': 'form1'})) - self.assertEqual(response.status_code, 200) - - response = self.client.post( - reverse(self.wizard_urlname, - kwargs={'step': response.context['wizard']['steps'].current}), - self.wizard_step_data[0]) - response = self.client.get(response.url) - self.assertEqual(response.status_code, 200) - - post_data = self.wizard_step_data[1] - post_data['form2-file1'].close() - post_data['form2-file1'] = open(__file__, 'rb') - response = self.client.post( - reverse(self.wizard_urlname, - kwargs={'step': response.context['wizard']['steps'].current}), - post_data) - response = self.client.get(response.url) - self.assertEqual(response.status_code, 200) - - response = self.client.post( - reverse(self.wizard_urlname, - kwargs={'step': response.context['wizard']['steps'].current}), - self.wizard_step_data[2]) - loc = response.url - response = self.client.get(loc) - self.assertEqual(response.status_code, 200, loc) - - self.client.cookies.pop('sessionid', None) - self.client.cookies.pop('wizard_cookie_contact_wizard', None) - - response = self.client.post( - reverse(self.wizard_urlname, - kwargs={'step': response.context['wizard']['steps'].current}), - self.wizard_step_data[3]) - - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form1') - - def test_form_reset(self): - response = self.client.post( - reverse(self.wizard_urlname, kwargs={'step': 'form1'}), - self.wizard_step_data[0]) - response = self.client.get(response.url) - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form2') - - response = self.client.get( - '%s?reset=1' % reverse('%s_start' % self.wizard_urlname)) - self.assertEqual(response.status_code, 302) - - response = self.client.get(response.url) - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form1') - - -@skipIfCustomUser -class NamedSessionWizardTests(NamedWizardTests, TestCase): - wizard_urlname = 'nwiz_session' - wizard_step_1_data = { - 'session_contact_wizard-current_step': 'form1', - } - wizard_step_data = ( - { - 'form1-name': 'Pony', - 'form1-thirsty': '2', - 'session_contact_wizard-current_step': 'form1', - }, - { - 'form2-address1': '123 Main St', - 'form2-address2': 'Djangoland', - 'session_contact_wizard-current_step': 'form2', - }, - { - 'form3-random_crap': 'blah blah', - 'session_contact_wizard-current_step': 'form3', - }, - { - 'form4-INITIAL_FORMS': '0', - 'form4-TOTAL_FORMS': '2', - 'form4-MAX_NUM_FORMS': '0', - 'form4-0-random_crap': 'blah blah', - 'form4-1-random_crap': 'blah blah', - 'session_contact_wizard-current_step': 'form4', - } - ) - - -@skipIfCustomUser -class NamedCookieWizardTests(NamedWizardTests, TestCase): - wizard_urlname = 'nwiz_cookie' - wizard_step_1_data = { - 'cookie_contact_wizard-current_step': 'form1', - } - wizard_step_data = ( - { - 'form1-name': 'Pony', - 'form1-thirsty': '2', - 'cookie_contact_wizard-current_step': 'form1', - }, - { - 'form2-address1': '123 Main St', - 'form2-address2': 'Djangoland', - 'cookie_contact_wizard-current_step': 'form2', - }, - { - 'form3-random_crap': 'blah blah', - 'cookie_contact_wizard-current_step': 'form3', - }, - { - 'form4-INITIAL_FORMS': '0', - 'form4-TOTAL_FORMS': '2', - 'form4-MAX_NUM_FORMS': '0', - 'form4-0-random_crap': 'blah blah', - 'form4-1-random_crap': 'blah blah', - 'cookie_contact_wizard-current_step': 'form4', - } - ) - - -class NamedFormTests(object): - urls = 'django.contrib.formtools.tests.wizard.namedwizardtests.urls' - - def test_revalidation(self): - request = get_request() - - testform = self.formwizard_class.as_view( - [('start', Step1), ('step2', Step2)], - url_name=self.wizard_urlname) - response, instance = testform(request, step='done') - - instance.render_done(None) - self.assertEqual(instance.storage.current_step, 'start') - - -class TestNamedUrlSessionWizardView(NamedUrlSessionWizardView): - - def dispatch(self, request, *args, **kwargs): - response = super(TestNamedUrlSessionWizardView, self).dispatch(request, *args, **kwargs) - return response, self - - -class TestNamedUrlCookieWizardView(NamedUrlCookieWizardView): - - def dispatch(self, request, *args, **kwargs): - response = super(TestNamedUrlCookieWizardView, self).dispatch(request, *args, **kwargs) - return response, self - - -@skipIfCustomUser -class NamedSessionFormTests(NamedFormTests, TestCase): - formwizard_class = TestNamedUrlSessionWizardView - wizard_urlname = 'nwiz_session' - - -@skipIfCustomUser -class NamedCookieFormTests(NamedFormTests, TestCase): - formwizard_class = TestNamedUrlCookieWizardView - wizard_urlname = 'nwiz_cookie' diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/namedwizardtests/urls.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/namedwizardtests/urls.py deleted file mode 100644 index ac2cadc..0000000 --- a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/namedwizardtests/urls.py +++ /dev/null @@ -1,24 +0,0 @@ -from django.conf.urls import patterns, url -from django.contrib.formtools.tests.wizard.namedwizardtests.forms import ( - SessionContactWizard, CookieContactWizard, Page1, Page2, Page3, Page4) - -def get_named_session_wizard(): - return SessionContactWizard.as_view( - [('form1', Page1), ('form2', Page2), ('form3', Page3), ('form4', Page4)], - url_name='nwiz_session', - done_step_name='nwiz_session_done' - ) - -def get_named_cookie_wizard(): - return CookieContactWizard.as_view( - [('form1', Page1), ('form2', Page2), ('form3', Page3), ('form4', Page4)], - url_name='nwiz_cookie', - done_step_name='nwiz_cookie_done' - ) - -urlpatterns = patterns('', - url(r'^nwiz_session/(?P<step>.+)/$', get_named_session_wizard(), name='nwiz_session'), - url(r'^nwiz_session/$', get_named_session_wizard(), name='nwiz_session_start'), - url(r'^nwiz_cookie/(?P<step>.+)/$', get_named_cookie_wizard(), name='nwiz_cookie'), - url(r'^nwiz_cookie/$', get_named_cookie_wizard(), name='nwiz_cookie_start'), -) diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/storage.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/storage.py deleted file mode 100644 index 17968df..0000000 --- a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/storage.py +++ /dev/null @@ -1,87 +0,0 @@ -from datetime import datetime - -from django.http import HttpRequest -from django.conf import settings -from django.utils.importlib import import_module - -from django.contrib.auth.models import User - - -def get_request(): - request = HttpRequest() - engine = import_module(settings.SESSION_ENGINE) - request.session = engine.SessionStore(None) - return request - - -class TestStorage(object): - def setUp(self): - self.testuser, created = User.objects.get_or_create(username='testuser1') - - def test_current_step(self): - request = get_request() - storage = self.get_storage()('wizard1', request, None) - my_step = 2 - - self.assertEqual(storage.current_step, None) - - storage.current_step = my_step - self.assertEqual(storage.current_step, my_step) - - storage.reset() - self.assertEqual(storage.current_step, None) - - storage.current_step = my_step - storage2 = self.get_storage()('wizard2', request, None) - self.assertEqual(storage2.current_step, None) - - def test_step_data(self): - request = get_request() - storage = self.get_storage()('wizard1', request, None) - step1 = 'start' - step_data1 = {'field1': 'data1', - 'field2': 'data2', - 'field3': datetime.now(), - 'field4': self.testuser} - - self.assertEqual(storage.get_step_data(step1), None) - - storage.set_step_data(step1, step_data1) - self.assertEqual(storage.get_step_data(step1), step_data1) - - storage.reset() - self.assertEqual(storage.get_step_data(step1), None) - - storage.set_step_data(step1, step_data1) - storage2 = self.get_storage()('wizard2', request, None) - self.assertEqual(storage2.get_step_data(step1), None) - - def test_extra_context(self): - request = get_request() - storage = self.get_storage()('wizard1', request, None) - extra_context = {'key1': 'data1', - 'key2': 'data2', - 'key3': datetime.now(), - 'key4': self.testuser} - - self.assertEqual(storage.extra_data, {}) - - storage.extra_data = extra_context - self.assertEqual(storage.extra_data, extra_context) - - storage.reset() - self.assertEqual(storage.extra_data, {}) - - storage.extra_data = extra_context - storage2 = self.get_storage()('wizard2', request, None) - self.assertEqual(storage2.extra_data, {}) - - def test_extra_context_key_persistence(self): - request = get_request() - storage = self.get_storage()('wizard1', request, None) - - self.assertFalse('test' in storage.extra_data) - - storage.extra_data['test'] = True - - self.assertTrue('test' in storage.extra_data) diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/test_cookiestorage.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/test_cookiestorage.py deleted file mode 100644 index 4c1ff97..0000000 --- a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/test_cookiestorage.py +++ /dev/null @@ -1,47 +0,0 @@ -from django.test import TestCase -from django.core import signing -from django.core.exceptions import SuspiciousOperation -from django.http import HttpResponse - -from django.contrib.auth.tests.utils import skipIfCustomUser -from django.contrib.formtools.wizard.storage.cookie import CookieStorage -from django.contrib.formtools.tests.wizard.storage import get_request, TestStorage - - -@skipIfCustomUser -class TestCookieStorage(TestStorage, TestCase): - def get_storage(self): - return CookieStorage - - def test_manipulated_cookie(self): - request = get_request() - storage = self.get_storage()('wizard1', request, None) - - cookie_signer = signing.get_cookie_signer(storage.prefix) - - storage.request.COOKIES[storage.prefix] = cookie_signer.sign( - storage.encoder.encode({'key1': 'value1'})) - - self.assertEqual(storage.load_data(), {'key1': 'value1'}) - - storage.request.COOKIES[storage.prefix] = 'i_am_manipulated' - self.assertRaises(SuspiciousOperation, storage.load_data) - - def test_reset_cookie(self): - request = get_request() - storage = self.get_storage()('wizard1', request, None) - - storage.data = {'key1': 'value1'} - - response = HttpResponse() - storage.update_response(response) - - cookie_signer = signing.get_cookie_signer(storage.prefix) - signed_cookie_data = cookie_signer.sign(storage.encoder.encode(storage.data)) - self.assertEqual(response.cookies[storage.prefix].value, signed_cookie_data) - - storage.init_data() - storage.update_response(response) - unsigned_cookie_data = cookie_signer.unsign(response.cookies[storage.prefix].value) - self.assertJSONEqual(unsigned_cookie_data, - {"step_files": {}, "step": None, "extra_data": {}, "step_data": {}}) diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/test_forms.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/test_forms.py deleted file mode 100644 index 2191782..0000000 --- a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/test_forms.py +++ /dev/null @@ -1,253 +0,0 @@ -from __future__ import unicode_literals - -from django import forms, http -from django.conf import settings -from django.db import models -from django.test import TestCase -from django.template.response import TemplateResponse -from django.utils.importlib import import_module - -from django.contrib.auth.models import User - -from django.contrib.formtools.wizard.views import (WizardView, - SessionWizardView, - CookieWizardView) - - -class DummyRequest(http.HttpRequest): - def __init__(self, POST=None): - super(DummyRequest, self).__init__() - self.method = "POST" if POST else "GET" - if POST is not None: - self.POST.update(POST) - self.session = {} - self._dont_enforce_csrf_checks = True - - -def get_request(*args, **kwargs): - request = DummyRequest(*args, **kwargs) - engine = import_module(settings.SESSION_ENGINE) - request.session = engine.SessionStore(None) - return request - - -class Step1(forms.Form): - name = forms.CharField() - - -class Step2(forms.Form): - name = forms.CharField() - - -class Step3(forms.Form): - data = forms.CharField() - - -class CustomKwargsStep1(Step1): - - def __init__(self, test=None, *args, **kwargs): - self.test = test - return super(CustomKwargsStep1, self).__init__(*args, **kwargs) - - -class TestModel(models.Model): - name = models.CharField(max_length=100) - - class Meta: - app_label = 'formtools' - - -class TestModelForm(forms.ModelForm): - class Meta: - model = TestModel - fields = '__all__' - - -TestModelFormSet = forms.models.modelformset_factory(TestModel, form=TestModelForm, extra=2, - fields='__all__') - - -class TestWizard(WizardView): - storage_name = 'django.contrib.formtools.wizard.storage.session.SessionStorage' - - def dispatch(self, request, *args, **kwargs): - response = super(TestWizard, self).dispatch(request, *args, **kwargs) - return response, self - - def get_form_kwargs(self, step, *args, **kwargs): - kwargs = super(TestWizard, self).get_form_kwargs(step, *args, **kwargs) - if step == 'kwargs_test': - kwargs['test'] = True - return kwargs - -class TestWizardWithInitAttrs(TestWizard): - form_list = [Step1, Step2] - condition_dict = {'step2': True} - initial_dict = {'start': {'name': 'value1'}} - instance_dict = {'start': User()} - -class FormTests(TestCase): - def test_form_init(self): - testform = TestWizard.get_initkwargs([Step1, Step2]) - self.assertEqual(testform['form_list'], {'0': Step1, '1': Step2}) - - testform = TestWizard.get_initkwargs([('start', Step1), ('step2', Step2)]) - self.assertEqual( - testform['form_list'], {'start': Step1, 'step2': Step2}) - - testform = TestWizard.get_initkwargs([Step1, Step2, ('finish', Step3)]) - self.assertEqual( - testform['form_list'], {'0': Step1, '1': Step2, 'finish': Step3}) - - testform = TestWizardWithInitAttrs.get_initkwargs() - self.assertEqual(testform['form_list'], {'0': Step1, '1': Step2}) - - def test_first_step(self): - request = get_request() - - testform = TestWizard.as_view([Step1, Step2]) - response, instance = testform(request) - self.assertEqual(instance.steps.current, '0') - - testform = TestWizard.as_view([('start', Step1), ('step2', Step2)]) - response, instance = testform(request) - - self.assertEqual(instance.steps.current, 'start') - - def test_persistence(self): - testform = TestWizard.as_view([('start', Step1), ('step2', Step2)]) - request = get_request({'test_wizard-current_step': 'start', - 'name': 'data1'}) - response, instance = testform(request) - self.assertEqual(instance.steps.current, 'start') - - instance.storage.current_step = 'step2' - - testform2 = TestWizard.as_view([('start', Step1), ('step2', Step2)]) - request.POST = {'test_wizard-current_step': 'step2'} - response, instance = testform2(request) - self.assertEqual(instance.steps.current, 'step2') - - def test_form_condition(self): - request = get_request() - - testform = TestWizard.as_view( - [('start', Step1), ('step2', Step2), ('step3', Step3)], - condition_dict={'step2': True}) - response, instance = testform(request) - self.assertEqual(instance.get_next_step(), 'step2') - - testform = TestWizard.as_view( - [('start', Step1), ('step2', Step2), ('step3', Step3)], - condition_dict={'step2': False}) - response, instance = testform(request) - self.assertEqual(instance.get_next_step(), 'step3') - - testform = TestWizardWithInitAttrs.as_view( - [('start', Step1), ('step2', Step2), ('step3', Step3)]) - response, instance = testform(request) - self.assertEqual(instance.get_next_step(), 'step2') - - def test_form_kwargs(self): - request = get_request() - - testform = TestWizard.as_view([('start', Step1), - ('kwargs_test', CustomKwargsStep1)]) - response, instance = testform(request) - - self.assertEqual(instance.get_form_kwargs('start'), {}) - self.assertEqual(instance.get_form_kwargs('kwargs_test'), {'test': True}) - self.assertEqual(instance.get_form('kwargs_test').test, True) - - def test_form_prefix(self): - request = get_request() - - testform = TestWizard.as_view([('start', Step1), ('step2', Step2)]) - response, instance = testform(request) - - self.assertEqual(instance.get_form_prefix(), 'start') - self.assertEqual(instance.get_form_prefix('another'), 'another') - - def test_form_initial(self): - request = get_request() - - testform = TestWizard.as_view([('start', Step1), ('step2', Step2)], - initial_dict={'start': {'name': 'value1'}}) - response, instance = testform(request) - - self.assertEqual(instance.get_form_initial('start'), {'name': 'value1'}) - self.assertEqual(instance.get_form_initial('step2'), {}) - - testform = TestWizardWithInitAttrs.as_view( - [('start', Step1), ('step2', Step2)]) - response, instance = testform(request) - - self.assertEqual(instance.get_form_initial('start'), {'name': 'value1'}) - self.assertEqual(instance.get_form_initial('step2'), {}) - - def test_form_instance(self): - request = get_request() - the_instance = TestModel() - testform = TestWizard.as_view([('start', TestModelForm), ('step2', Step2)], - instance_dict={'start': the_instance}) - response, instance = testform(request) - - self.assertEqual( - instance.get_form_instance('start'), - the_instance) - self.assertEqual( - instance.get_form_instance('non_exist_instance'), - None) - - testform = TestWizardWithInitAttrs.as_view( - [('start', TestModelForm), ('step2', Step2)]) - response, instance = testform(request) - - self.assertEqual( - instance.get_form_instance('start'), - TestWizardWithInitAttrs.instance_dict['start']) - - def test_formset_instance(self): - request = get_request() - the_instance1, created = TestModel.objects.get_or_create( - name='test object 1') - the_instance2, created = TestModel.objects.get_or_create( - name='test object 2') - testform = TestWizard.as_view([('start', TestModelFormSet), ('step2', Step2)], - instance_dict={'start': TestModel.objects.filter(name='test object 1')}) - response, instance = testform(request) - - self.assertEqual(list(instance.get_form_instance('start')), [the_instance1]) - self.assertEqual(instance.get_form_instance('non_exist_instance'), None) - - self.assertEqual(instance.get_form().initial_form_count(), 1) - - def test_done(self): - request = get_request() - - testform = TestWizard.as_view([('start', Step1), ('step2', Step2)]) - response, instance = testform(request) - - self.assertRaises(NotImplementedError, instance.done, None) - - def test_revalidation(self): - request = get_request() - - testform = TestWizard.as_view([('start', Step1), ('step2', Step2)]) - response, instance = testform(request) - instance.render_done(None) - self.assertEqual(instance.storage.current_step, 'start') - - -class SessionFormTests(TestCase): - def test_init(self): - request = get_request() - testform = SessionWizardView.as_view([('start', Step1)]) - self.assertTrue(isinstance(testform(request), TemplateResponse)) - - -class CookieFormTests(TestCase): - def test_init(self): - request = get_request() - testform = CookieWizardView.as_view([('start', Step1)]) - self.assertTrue(isinstance(testform(request), TemplateResponse)) diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/test_loadstorage.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/test_loadstorage.py deleted file mode 100644 index bb0b06e..0000000 --- a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/test_loadstorage.py +++ /dev/null @@ -1,18 +0,0 @@ -from django.test import TestCase - -from django.contrib.formtools.wizard.storage import get_storage, MissingStorage -from django.contrib.formtools.wizard.storage.base import BaseStorage - - -class TestLoadStorage(TestCase): - def test_load_storage(self): - self.assertEqual( - type(get_storage('django.contrib.formtools.wizard.storage.base.BaseStorage', 'wizard1')), - BaseStorage) - - def test_missing_storage(self): - self.assertRaises(MissingStorage, get_storage, - 'django.contrib.formtools.wizard.storage.idontexist.IDontExistStorage', 'wizard1') - self.assertRaises(MissingStorage, get_storage, - 'django.contrib.formtools.wizard.storage.base.IDontExistStorage', 'wizard1') - diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/test_sessionstorage.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/test_sessionstorage.py deleted file mode 100644 index 0bd9fd8..0000000 --- a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/test_sessionstorage.py +++ /dev/null @@ -1,11 +0,0 @@ -from django.test import TestCase - -from django.contrib.auth.tests.utils import skipIfCustomUser -from django.contrib.formtools.tests.wizard.storage import TestStorage -from django.contrib.formtools.wizard.storage.session import SessionStorage - - -@skipIfCustomUser -class TestSessionStorage(TestStorage, TestCase): - def get_storage(self): - return SessionStorage diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/__init__.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/__init__.py deleted file mode 100644 index e69de29..0000000 --- a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/__init__.py +++ /dev/null diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/forms.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/forms.py deleted file mode 100644 index 6a81329..0000000 --- a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/forms.py +++ /dev/null @@ -1,67 +0,0 @@ -import os -import tempfile - -from django import forms -from django.contrib.auth.models import User -from django.core.files.storage import FileSystemStorage -from django.forms.formsets import formset_factory -from django.forms.models import modelformset_factory -from django.http import HttpResponse -from django.template import Template, Context - -from django.contrib.auth.models import User - -from django.contrib.formtools.wizard.views import WizardView - -temp_storage_location = tempfile.mkdtemp(dir=os.environ.get('DJANGO_TEST_TEMP_DIR')) -temp_storage = FileSystemStorage(location=temp_storage_location) - -class Page1(forms.Form): - name = forms.CharField(max_length=100) - user = forms.ModelChoiceField(queryset=User.objects.all()) - thirsty = forms.NullBooleanField() - -class Page2(forms.Form): - address1 = forms.CharField(max_length=100) - address2 = forms.CharField(max_length=100) - file1 = forms.FileField() - -class Page3(forms.Form): - random_crap = forms.CharField(max_length=100) - -Page4 = formset_factory(Page3, extra=2) - -class ContactWizard(WizardView): - file_storage = temp_storage - - def done(self, form_list, **kwargs): - c = Context({ - 'form_list': [x.cleaned_data for x in form_list], - 'all_cleaned_data': self.get_all_cleaned_data(), - }) - - for form in self.form_list.keys(): - c[form] = self.get_cleaned_data_for_step(form) - - c['this_will_fail'] = self.get_cleaned_data_for_step('this_will_fail') - return HttpResponse(Template('').render(c)) - - def get_context_data(self, form, **kwargs): - context = super(ContactWizard, self).get_context_data(form, **kwargs) - if self.storage.current_step == 'form2': - context.update({'another_var': True}) - return context - -class UserForm(forms.ModelForm): - class Meta: - model = User - fields = ('username', 'email') - -UserFormSet = modelformset_factory(User, form=UserForm) - -class SessionContactWizard(ContactWizard): - storage_name = 'django.contrib.formtools.wizard.storage.session.SessionStorage' - -class CookieContactWizard(ContactWizard): - storage_name = 'django.contrib.formtools.wizard.storage.cookie.CookieStorage' - diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/templates/other_wizard_form.html b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/templates/other_wizard_form.html deleted file mode 100644 index 45f812c..0000000 --- a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/templates/other_wizard_form.html +++ /dev/null @@ -1 +0,0 @@ -{% extends "formtools/wizard/wizard_form.html" %} diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/tests.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/tests.py deleted file mode 100644 index 3c2dbc3..0000000 --- a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/tests.py +++ /dev/null @@ -1,407 +0,0 @@ -from __future__ import unicode_literals - -import os - -from django import forms -from django.test import TestCase -from django.test.client import RequestFactory -from django.conf import settings -from django.contrib.auth.models import User -from django.contrib.auth.tests.utils import skipIfCustomUser -from django.contrib.formtools.wizard.views import CookieWizardView -from django.utils._os import upath - - -class UserForm(forms.ModelForm): - class Meta: - model = User - fields = '__all__' - - -UserFormSet = forms.models.modelformset_factory(User, form=UserForm, extra=2) - - -class WizardTests(object): - urls = 'django.contrib.formtools.tests.wizard.wizardtests.urls' - - def setUp(self): - self.testuser, created = User.objects.get_or_create(username='testuser1') - self.wizard_step_data[0]['form1-user'] = self.testuser.pk - - def test_initial_call(self): - response = self.client.get(self.wizard_url) - wizard = response.context['wizard'] - self.assertEqual(response.status_code, 200) - self.assertEqual(wizard['steps'].current, 'form1') - self.assertEqual(wizard['steps'].step0, 0) - self.assertEqual(wizard['steps'].step1, 1) - self.assertEqual(wizard['steps'].last, 'form4') - self.assertEqual(wizard['steps'].prev, None) - self.assertEqual(wizard['steps'].next, 'form2') - self.assertEqual(wizard['steps'].count, 4) - - def test_form_post_error(self): - response = self.client.post(self.wizard_url, self.wizard_step_1_data) - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form1') - self.assertEqual(response.context['wizard']['form'].errors, - {'name': ['This field is required.'], - 'user': ['This field is required.']}) - - def test_form_post_success(self): - response = self.client.post(self.wizard_url, self.wizard_step_data[0]) - wizard = response.context['wizard'] - self.assertEqual(response.status_code, 200) - self.assertEqual(wizard['steps'].current, 'form2') - self.assertEqual(wizard['steps'].step0, 1) - self.assertEqual(wizard['steps'].prev, 'form1') - self.assertEqual(wizard['steps'].next, 'form3') - - def test_form_stepback(self): - response = self.client.get(self.wizard_url) - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form1') - - response = self.client.post(self.wizard_url, self.wizard_step_data[0]) - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form2') - - response = self.client.post(self.wizard_url, { - 'wizard_goto_step': response.context['wizard']['steps'].prev}) - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form1') - - def test_template_context(self): - response = self.client.get(self.wizard_url) - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form1') - self.assertEqual(response.context.get('another_var', None), None) - - response = self.client.post(self.wizard_url, self.wizard_step_data[0]) - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form2') - self.assertEqual(response.context.get('another_var', None), True) - - # ticket #19025: `form` should be included in context - form = response.context_data['wizard']['form'] - self.assertEqual(response.context_data['form'], form) - - def test_form_finish(self): - response = self.client.get(self.wizard_url) - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form1') - - response = self.client.post(self.wizard_url, self.wizard_step_data[0]) - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form2') - - post_data = self.wizard_step_data[1] - post_data['form2-file1'] = open(upath(__file__), 'rb') - response = self.client.post(self.wizard_url, post_data) - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form3') - - response = self.client.post(self.wizard_url, self.wizard_step_data[2]) - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form4') - - response = self.client.post(self.wizard_url, self.wizard_step_data[3]) - self.assertEqual(response.status_code, 200) - - all_data = response.context['form_list'] - with open(upath(__file__), 'rb') as f: - self.assertEqual(all_data[1]['file1'].read(), f.read()) - all_data[1]['file1'].close() - del all_data[1]['file1'] - self.assertEqual(all_data, [ - {'name': 'Pony', 'thirsty': True, 'user': self.testuser}, - {'address1': '123 Main St', 'address2': 'Djangoland'}, - {'random_crap': 'blah blah'}, - [{'random_crap': 'blah blah'}, - {'random_crap': 'blah blah'}]]) - - def test_cleaned_data(self): - response = self.client.get(self.wizard_url) - self.assertEqual(response.status_code, 200) - - response = self.client.post(self.wizard_url, self.wizard_step_data[0]) - self.assertEqual(response.status_code, 200) - - post_data = self.wizard_step_data[1] - with open(upath(__file__), 'rb') as post_file: - post_data['form2-file1'] = post_file - response = self.client.post(self.wizard_url, post_data) - self.assertEqual(response.status_code, 200) - - response = self.client.post(self.wizard_url, self.wizard_step_data[2]) - self.assertEqual(response.status_code, 200) - - response = self.client.post(self.wizard_url, self.wizard_step_data[3]) - self.assertEqual(response.status_code, 200) - - all_data = response.context['all_cleaned_data'] - with open(upath(__file__), 'rb') as f: - self.assertEqual(all_data['file1'].read(), f.read()) - all_data['file1'].close() - del all_data['file1'] - self.assertEqual(all_data, { - 'name': 'Pony', 'thirsty': True, 'user': self.testuser, - 'address1': '123 Main St', 'address2': 'Djangoland', - 'random_crap': 'blah blah', 'formset-form4': [ - {'random_crap': 'blah blah'}, - {'random_crap': 'blah blah'}]}) - - def test_manipulated_data(self): - response = self.client.get(self.wizard_url) - self.assertEqual(response.status_code, 200) - - response = self.client.post(self.wizard_url, self.wizard_step_data[0]) - self.assertEqual(response.status_code, 200) - - post_data = self.wizard_step_data[1] - post_data['form2-file1'].close() - post_data['form2-file1'] = open(upath(__file__), 'rb') - response = self.client.post(self.wizard_url, post_data) - self.assertEqual(response.status_code, 200) - - response = self.client.post(self.wizard_url, self.wizard_step_data[2]) - self.assertEqual(response.status_code, 200) - self.client.cookies.pop('sessionid', None) - self.client.cookies.pop('wizard_cookie_contact_wizard', None) - - response = self.client.post(self.wizard_url, self.wizard_step_data[3]) - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form1') - - def test_form_refresh(self): - response = self.client.get(self.wizard_url) - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form1') - - response = self.client.post(self.wizard_url, self.wizard_step_data[0]) - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form2') - - response = self.client.post(self.wizard_url, self.wizard_step_data[0]) - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form2') - - post_data = self.wizard_step_data[1] - post_data['form2-file1'].close() - post_data['form2-file1'] = open(upath(__file__), 'rb') - response = self.client.post(self.wizard_url, post_data) - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form3') - - response = self.client.post(self.wizard_url, self.wizard_step_data[2]) - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form4') - - response = self.client.post(self.wizard_url, self.wizard_step_data[0]) - self.assertEqual(response.status_code, 200) - self.assertEqual(response.context['wizard']['steps'].current, 'form2') - - response = self.client.post(self.wizard_url, self.wizard_step_data[3]) - self.assertEqual(response.status_code, 200) - - -@skipIfCustomUser -class SessionWizardTests(WizardTests, TestCase): - wizard_url = '/wiz_session/' - wizard_step_1_data = { - 'session_contact_wizard-current_step': 'form1', - } - wizard_step_data = ( - { - 'form1-name': 'Pony', - 'form1-thirsty': '2', - 'session_contact_wizard-current_step': 'form1', - }, - { - 'form2-address1': '123 Main St', - 'form2-address2': 'Djangoland', - 'session_contact_wizard-current_step': 'form2', - }, - { - 'form3-random_crap': 'blah blah', - 'session_contact_wizard-current_step': 'form3', - }, - { - 'form4-INITIAL_FORMS': '0', - 'form4-TOTAL_FORMS': '2', - 'form4-MAX_NUM_FORMS': '0', - 'form4-0-random_crap': 'blah blah', - 'form4-1-random_crap': 'blah blah', - 'session_contact_wizard-current_step': 'form4', - } - ) - - -@skipIfCustomUser -class CookieWizardTests(WizardTests, TestCase): - wizard_url = '/wiz_cookie/' - wizard_step_1_data = { - 'cookie_contact_wizard-current_step': 'form1', - } - wizard_step_data = ( - { - 'form1-name': 'Pony', - 'form1-thirsty': '2', - 'cookie_contact_wizard-current_step': 'form1', - }, - { - 'form2-address1': '123 Main St', - 'form2-address2': 'Djangoland', - 'cookie_contact_wizard-current_step': 'form2', - }, - { - 'form3-random_crap': 'blah blah', - 'cookie_contact_wizard-current_step': 'form3', - }, - { - 'form4-INITIAL_FORMS': '0', - 'form4-TOTAL_FORMS': '2', - 'form4-MAX_NUM_FORMS': '0', - 'form4-0-random_crap': 'blah blah', - 'form4-1-random_crap': 'blah blah', - 'cookie_contact_wizard-current_step': 'form4', - } - ) - - -@skipIfCustomUser -class WizardTestKwargs(TestCase): - wizard_url = '/wiz_other_template/' - wizard_step_1_data = { - 'cookie_contact_wizard-current_step': 'form1', - } - wizard_step_data = ( - { - 'form1-name': 'Pony', - 'form1-thirsty': '2', - 'cookie_contact_wizard-current_step': 'form1', - }, - { - 'form2-address1': '123 Main St', - 'form2-address2': 'Djangoland', - 'cookie_contact_wizard-current_step': 'form2', - }, - { - 'form3-random_crap': 'blah blah', - 'cookie_contact_wizard-current_step': 'form3', - }, - { - 'form4-INITIAL_FORMS': '0', - 'form4-TOTAL_FORMS': '2', - 'form4-MAX_NUM_FORMS': '0', - 'form4-0-random_crap': 'blah blah', - 'form4-1-random_crap': 'blah blah', - 'cookie_contact_wizard-current_step': 'form4', - } - ) - urls = 'django.contrib.formtools.tests.wizard.wizardtests.urls' - - def setUp(self): - self.testuser, created = User.objects.get_or_create(username='testuser1') - self.wizard_step_data[0]['form1-user'] = self.testuser.pk - - def test_template(self): - templates = os.path.join(os.path.dirname(upath(__file__)), 'templates') - with self.settings( - TEMPLATE_DIRS=list(settings.TEMPLATE_DIRS) + [templates]): - response = self.client.get(self.wizard_url) - self.assertTemplateUsed(response, 'other_wizard_form.html') - - -class WizardTestGenericViewInterface(TestCase): - def test_get_context_data_inheritance(self): - class TestWizard(CookieWizardView): - """ - A subclass that implements ``get_context_data`` using the standard - protocol for generic views (accept only **kwargs). - - See ticket #17148. - """ - def get_context_data(self, **kwargs): - context = super(TestWizard, self).get_context_data(**kwargs) - context['test_key'] = 'test_value' - return context - - factory = RequestFactory() - view = TestWizard.as_view([forms.Form]) - - response = view(factory.get('/')) - self.assertEqual(response.context_data['test_key'], 'test_value') - - def test_get_context_data_with_mixin(self): - class AnotherMixin(object): - def get_context_data(self, **kwargs): - context = super(AnotherMixin, self).get_context_data(**kwargs) - context['another_key'] = 'another_value' - return context - - class TestWizard(AnotherMixin, CookieWizardView): - """ - A subclass that implements ``get_context_data`` using the standard - protocol for generic views (accept only **kwargs). - - See ticket #17148. - """ - def get_context_data(self, **kwargs): - context = super(TestWizard, self).get_context_data(**kwargs) - context['test_key'] = 'test_value' - return context - - factory = RequestFactory() - - view = TestWizard.as_view([forms.Form]) - - response = view(factory.get('/')) - self.assertEqual(response.context_data['test_key'], 'test_value') - self.assertEqual(response.context_data['another_key'], 'another_value') - - -@skipIfCustomUser -class WizardFormKwargsOverrideTests(TestCase): - def setUp(self): - super(WizardFormKwargsOverrideTests, self).setUp() - self.rf = RequestFactory() - - # Create two users so we can filter by is_staff when handing our - # wizard a queryset keyword argument. - self.normal_user = User.objects.create(username='test1', email='normal@example.com') - self.staff_user = User.objects.create(username='test2', email='staff@example.com', is_staff=True) - - def test_instance_is_maintained(self): - self.assertEqual(2, User.objects.count()) - queryset = User.objects.get(pk=self.staff_user.pk) - - class InstanceOverrideWizard(CookieWizardView): - def get_form_kwargs(self, step): - return {'instance': queryset} - - view = InstanceOverrideWizard.as_view([UserForm]) - response = view(self.rf.get('/')) - - form = response.context_data['wizard']['form'] - - self.assertNotEqual(form.instance.pk, None) - self.assertEqual(form.instance.pk, self.staff_user.pk) - self.assertEqual('staff@example.com', form.initial.get('email', None)) - - def test_queryset_is_maintained(self): - queryset = User.objects.filter(pk=self.staff_user.pk) - - class QuerySetOverrideWizard(CookieWizardView): - def get_form_kwargs(self, step): - return {'queryset': queryset} - - view = QuerySetOverrideWizard.as_view([UserFormSet]) - response = view(self.rf.get('/')) - - formset = response.context_data['wizard']['form'] - - self.assertNotEqual(formset.queryset, None) - self.assertEqual(formset.initial_form_count(), 1) - self.assertEqual(['staff@example.com'], - list(formset.queryset.values_list('email', flat=True))) diff --git a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/urls.py b/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/urls.py deleted file mode 100644 index dabce53..0000000 --- a/lib/python2.7/site-packages/django/contrib/formtools/tests/wizard/wizardtests/urls.py +++ /dev/null @@ -1,22 +0,0 @@ -from django.conf.urls import patterns, url -from django.contrib.formtools.tests.wizard.wizardtests.forms import ( - SessionContactWizard, CookieContactWizard, Page1, Page2, Page3, Page4) - -urlpatterns = patterns('', - url(r'^wiz_session/$', SessionContactWizard.as_view( - [('form1', Page1), - ('form2', Page2), - ('form3', Page3), - ('form4', Page4)])), - url(r'^wiz_cookie/$', CookieContactWizard.as_view( - [('form1', Page1), - ('form2', Page2), - ('form3', Page3), - ('form4', Page4)])), - url(r'^wiz_other_template/$', CookieContactWizard.as_view( - [('form1', Page1), - ('form2', Page2), - ('form3', Page3), - ('form4', Page4)], - template_name='other_wizard_form.html')), -) |