- Nothing changed yet.
- Move ZODB and related dependencies to the optional 'zodb' extra.
- Add support for Python 3.14.
- Support and require testgres version 1.11. This version refactored
some internals, breaking the monkey-patches that
DatabaseLayerapplies.
- Nothing changed yet.
- Add support for Python 3.13.
- Use native namespace packages.
- Add support for, and require, testgres 1.10. This is needed because
they changed the signature for
get_pg_version. - Drop support for Python 3.8 and 3.9.
- Add support for Python 3.10, 3.11 and 3.12.
- Drop support for Python 2 and Python 3.6 and 3.7.
- Add a layer for working with a
testgresPostgres instance. - Add methods to the test base classes to support
unittest.mockpatches.
- Add support for Python 3.9.
- Drop support for Python 3.5.
- Add the module alias
nti.testing.mock, which is either the standard libraryunittest.mock, or the backportmock. This allows easy imports when backwards compatibility matters. - Make
mock,mock.Mockand various other API attributes, likeis_true, available directly from thenti.testingnamespace.
- Add support for Python 3.8.
- Require zope.interface 5.1. This lets the interface matchers produce much more informative error messages.
- Add
nti.testing.zodbwith helpers for dealing with ZODB. This makes ZODB 5.6 or above a required dependency.
Make transaction cleanup safer if the default transaction manager has been made explicit.
Also, reset the default transaction manager to implicit.
See issue 17.
- Add support for Python 3.7.
- Make
time_monotonically_increasesalso handletime.gmtimeand add a helper for using it in layers.
- Make
Acquisitionan optional dependency. If it is not installed, theaq_inContextOfmatcher will always return False. - Remove dependency on
fudge. Instead, we now useunittest.mockon Python 3, or its backportmockon Python 2. See issue 11. - Refactor ZCML configuration support to share more code and documentation. See issue 10.
- The layer
ConfiguringLayerMixinand the base classSharedConfiguringTestBasenow default to running configuration in the package the subclass is defined in, just as subclasses ofConfiguringTestBasedid.
- The validation matchers (
validated_byandnot_validated_by) now consider it a failure (by default) if the validate method raises anything other thanzope.interface.exceptions.Invalid(which includes thezope.schemaexceptions likeWrongType). Previously, they accepted any exception as meaning the object was invalid, but this could hide bugs in the actual validation method itself. You can supply theinvalidargument to the matchers to loosen or tighten this as desired. (Givinginvalid=Exceptionwill restore the old behaviour.) See issue 7.
- Add support for Python 3.6.
- Remove
unicode_literals. - Substantially rework
time_monotonically_increasesfor greater safety. Fixes issue 5.
- Add Python 3 support.
- Initial PyPI release.