- Nothing changed yet.
- Passing user=None to get/post/etc. methods will clear a user previously set with set_user instead of doing nothing.
- Avoid sharing settings between tests in pytest plugin
- Fix middleware settings name used
- silence warnings about is_authenticated on 1.11
- include correct hostname (testserver) when using set_cookie
- Fix package description (multiline are no longer allowed by pypi)
- Backward incompatibility: positionnal arguments are no longer supported. You'll need to replace them by keywords arguments.
- Added support for Django 1.11
- Dropped support for Django <= 1.7
- Dropped support for Python 2.6
- Changed value of HTTP_HOST header from localhost to testserver, to match behaviour of Django test client.
- Fixed DjangoTestApp.options
- Added DjangoTestApp.head
- Added pytest fixtures
- Fixed issue #40 - combining
app.get
auto_follow=True
with other keyword args. - Add compatibility to the MIDDLEWARE setting introduced in django 1.10
- Drop support for django 1.2
- Add set_user() to allow to set a user globally for the app
- Allow 'click' to be given a user param
- Mention testapp.reset() in readme
- Allow to use
json_
methods
- setup.py is switched to setuptools; WebTest is now installed automatically (thanks Eric Araujo);
- importlib from stdlib is used when available, for django 1.9 compatibility (thanks Helen Sherwood-Taylor);
- django-webtest's own tests are fixed to work in django 1.6+;
- https://bitbucket.org/kmike/django-webtest repository is no longer supported.
- Fix installation for Python 3.x on systems with C locales.
- DjangoTestApp methods pass all custom keyword arguments to webtest.TestApp;
this allows to use
xhr=True
feature (thanks Max Kharandziuk). - Travis CI testing fixes (thanks Darian Moody).
- OPTIONS method is fixed;
- added workaround for DELETE method warnings (see Pylons/webtest#50).
- Really add
TransactionWebTest
base class (thanks Julien Aubert).
- Added support for PATCH and OPTIONS HTTP methods (thanks Will Bradley).
TransactionWebTest
base class is added (thanks Iurii Kriachko).
- Added support for non-ascii usernames.
- Added support for django 1.6 (thanks Carl Meyer).
- Added support for django 1.5+ custom user models (thanks Gautier Hayoun).
- Added ability to pass a custom response_class and app_class to WebTest (thanks Bruno Renié);
- Added case-insensitive header access in DjangoWebtestResponse (thanks Bruno Renié).
- WebTest 2.0 support.
- django 1.5 support: transaction handling is fixed (thanks Marco Braak).
- Fixed django 1.5 support: DjangoWebtestResponse.streaming attribute is added (thanks David Winterbottom).
- fix django 1.5 issues with AdminMediaHandler (thanks Tai Lee);
- tox.ini is updated to use latest django versions and the official trunk with python3 support;
- django 1.5 SimpleCookie issues are fixed.
- self.assertRedirects is fixed for authenticated requests.
- if AuthenticationMiddleware is not in a middleware list, WebtestUserMiddleware is put to the end of middlewares in order to provide better backward compatibility with 1.4.x in case of custom auth middlewares.
- Fixed handling of forms with method="get". Thanks Jeroen Vloothuis.
- WebtestUserMiddleware is inserted after AuthenticationMiddleware, not to the end of middleware list (thanks bigkevmcd);
- don't list python 2.5 as supported because WebOb dropped 2.5 support;
- python 3 support;
- test running using tox.
- 'user' parameter for
self.app.put
andself.app.delete
methods (thanks Ruslan Popov).
- The django session dictionary is available via
self.app.session
.
REMOTE_ADDR
is now'127.0.0.1'
by default. This is how standard django's test client behave.Please note that this can slow tests down and cause other side effects if django-debug-toolbar 0.9.x is installed+configured and
INTERNAL_IPS
contain'127.0.0.1'
because debug toolbar will become turned on during tests. The workaround is to remove django-debug-toolbar middleware during tests in your test settings:DEBUG_MIDDLEWARE = 'debug_toolbar.middleware.DebugToolbarMiddleware' if DEBUG_MIDDLEWARE in MIDDLEWARE_CLASSES: MIDDLEWARE_CLASSES.remove(DEBUG_MIDDLEWARE)
self.renew_app()
method for resetting the 'browser' inside tests.
- Better auth implementation;
- support for assertRedirects, assertContains and assertNotContains.
- Django 1.3 compatibility: test responses are now having 'templates' attribute;
- Django 1.3 compatibility: the way exceptions are handled is changed;
- auto_follow parameter for app.get method (redirect chains will be auto-followed with auto_follow=True).
- REMOTE_USER authorization can be disabled.
response.template
andresponse.context
goodness (thanks Gregor Müllegger);- tests (thanks Gregor Müllegger);
- csrf checks are now optional (thanks Gregor Müllegger).
- User instance can be passed to get and post methods instead of user's username.
- Original traceback instead of html 500 error page;
- per-TestCase extra_environ (thanks Gael Pasgrimaud);
- fixed a bug with app.post parameters (thanks anonymous).
Initial release (thanks Ian Bicking for WebTest).