summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAge
* Stop calling Foo.objects.create() when it doesn't break (Closes #23).Raphaël Barrois2013-03-05
| | | | | | | | | This will be properly fixed in v2.0.0; the current heuristic is: - If the user defined a custom _create method, use it - If he didn't, but the associated class has a objects attribute, use TheClass.objects.create(*args, **kwargs) - Otherwise, simply call TheClass(*args, **kwargs). Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Improve doc on post-generation hooks (Closes #36).Raphaël Barrois2013-03-05
| | | | | | This was the last missing bit from PR#36 by @gotgenes. Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Cleanup argument extraction in PostGenMethod (See #36).Raphaël Barrois2013-03-05
| | | | | | | This provides a consistent behaviour for extracting arguments to a PostGenerationMethodCall. Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Let mock source be chosen by Python major version.Chris Lasher2013-03-04
| | | | | | | | | | | This should provide better Python 3 compatibility, since mock is in the Python 3 standard library as unittest.mock. Conflicts: tests/test_declarations.py Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Use extracted argument in PostGenerationMethodCall.Chris Lasher2013-03-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This changeset makes it possible possible to override the default method arguments (or "method_args") passed in when instantiating PostGenerationMethodCall. Now the user can override the default arguments to the method called during post-generation when instantiating a factory. For example, using this UserFactory, class UserFactory(factory.Factory): FACTORY_FOR = User username = factory.Sequence(lambda n: 'user{0}'.format(n)) password = factory.PostGenerationMethodCall( 'set_password', None, 'defaultpassword') by default, the user will have a password set to 'defaultpassword', but this can be overridden by passing in a new password as a keyword argument: >>> u = UserFactory() >>> u.check_password('defaultpassword') True >>> other_u = UserFactory(password='different') >>> other_u.check_password('defaultpassword') False >>> other_u.check_password('different') True This changeset introduces a testing dependency on the Mock package http://pypi.python.org/pypi/mock. While this is a third-party dependency in Python 2, it is part of the Python 3 standard library, as unit.mock, and so a reasonable dependency to satisfy. Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Add a 'after post_generation' hook to Factory.Raphaël Barrois2013-03-04
| | | | | | Use it in DjangoModelFactory to save objects again if a post_generation hook ran. Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Allow symbol names in RelatedFactory (Closes #30).Raphaël Barrois2013-03-03
| | | | | | This works exactly as for SubFactory. Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Get rid of the FACTORY_ABSTRACT rename.Raphaël Barrois2013-03-03
| | | | | | This was just adding noise to an already complex release. Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Improve coverage.Raphaël Barrois2013-03-03
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Deprecate the extract_prefix option to PostGeneration.Raphaël Barrois2013-03-03
| | | | | | Introduces a new, call-less syntax for the @post_generation decorator. Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Tests: improve deprecation warning detection in test_base.Raphaël Barrois2013-03-03
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Tests: move disable_warnings to its own class.Raphaël Barrois2013-03-03
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Improve Iterator and SubFactory declarations.Raphaël Barrois2013-03-03
| | | | | | | | | | | | * Iterator now cycles by default * Iterator can be provided with a custom getter * SubFactory accepts a factory import path as well Deprecates: * InfiniteIterator * CircularSubFactory Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Add test for dual class/factory inheritance.Raphaël Barrois2013-02-27
| | | | | | If it works properly, this would make pylint happy. Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Happy New Year!Raphaël Barrois2013-01-02
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Keep FACTORY_FOR around.Raphaël Barrois2012-11-15
| | | | | | And add a test too. Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Rename ABSTRACT_FACTORY to FACTORY_ABSTRACT.Raphaël Barrois2012-11-15
| | | | | | And add a deprecation warning too. Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Add an extension point for kwargs mangling.Raphaël Barrois2012-11-15
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Mix SelfAttribute with ContainerAttribute.Raphaël Barrois2012-11-15
| | | | | | With a very simple syntax. Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* [py3] Various python3-compatibility fixes.Raphaël Barrois2012-11-15
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* [py3] Rename xrange to rangeRaphaël Barrois2012-11-15
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* [py3] Disable 'scope bleeding' test on py3.Raphaël Barrois2012-11-15
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* [py3] Remove calls to iteritems().Raphaël Barrois2012-11-15
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Add support for passing non-kwarg parameters to factories.Raphaël Barrois2012-08-17
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Improve test coverage.Raphaël Barrois2012-08-16
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Disable new warnings in tests.Raphaël Barrois2012-08-16
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Refactor building_function/creation_function handling.Raphaël Barrois2012-08-16
| | | | | | Rely on inheritance instead of handwritten set_creation_function and such. Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Mark automatic associated class discovery as deprecated.Raphaël Barrois2012-08-16
| | | | | | Also improve warning reporting. Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Explicitly set FACTORY_FOR in tests.Raphaël Barrois2012-08-16
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Add full tests for CircularSubFactory.Raphaël Barrois2012-08-16
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Introduce 'CircularSubFactory.Raphaël Barrois2012-08-09
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Switch `sorted` argument from `cmp` to `key`.Marc Abramowitz2012-07-10
|
* Fix TestCase name conflictRaphaël Barrois2012-07-09
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Fix sequence count for SubFactory (Closes #16).Raphaël Barrois2012-06-01
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polyconseil.fr>
* Only absorb dependant arguments for SubFactory fields (Closes #15).Raphaël Barrois2012-05-04
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Rename post_declaration to post_generation.Raphaël Barrois2012-04-15
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polyconseil.fr>
* Expose and test factory.RelatedFactory.Raphaël Barrois2012-04-15
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polyconseil.fr>
* Handle the PostGeneration declarations.Raphaël Barrois2012-04-15
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polyconseil.fr>
* Make tests compatible with python2.6 + unittest2Raphaël Barrois2012-04-15
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polyconseil.fr>
* Cleaner extract_dict: allow excluded keys.Raphaël Barrois2012-04-15
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Test running improvements: tests can be run under python 2.6 (by using ↵Mikhail Korobov2012-04-10
| | | | optional unittest2), tox config for testing under different pythons, explicit python version requirements (factory_boy works with python 2.6 and 2.7); ./setup.py test returns proper error code in case of test failure.
* Move ATTR_SPLITTER logic to a dedicated module.Raphaël Barrois2012-04-09
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Fix tests.Raphaël Barrois2012-04-07
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Add and document abstract factories (Closes #8).Raphaël Barrois2012-04-07
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Add a '@use_strategy' decorator for forcing alternate strategies.Raphaël Barrois2012-03-17
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Add a couple of tests for scope bleeding with InfiniteIterator and list ↵Raphaël Barrois2012-03-09
| | | | | | comprehensions (See #6). Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Add the Iterator and InfiniteIterator attribute kinds.Raphaël Barrois2012-02-24
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Add support for 'generate' and 'simple_generate'Raphaël Barrois2012-02-24
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Add batches.Raphaël Barrois2012-02-24
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
* Improve the 'SelfAttribute' syntax.v1.1.0Raphaël Barrois2012-02-24
| | | | Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>