Skip to content
This repository was archived by the owner on May 27, 2022. It is now read-only.

Conversation

@pyup-bot
Copy link
Collaborator

This PR updates factory-boy from 2.10.0 to 3.0.1.

Changelog

3.0.1

------------------

*Bugfix:*

 - :issue:`769`: Fix ``import factory; factory.django.DjangoModelFactory`` and similar calls.

3.0.0

------------------

Breaking changes
""""""""""""""""

The following aliases were removed:

+------------------------------------------------+---------------------------------------------------+
| Broken alias                                   | New import                                        |
+================================================+===================================================+
| ``from factory import DjangoModelFactory``     | ``from factory.django import DjangoModelFactory`` |
+------------------------------------------------+---------------------------------------------------+
| ``from factory import MogoFactory``            | ``from factory.mogo import MogoFactory``          |
+------------------------------------------------+---------------------------------------------------+
| ``from factory.fuzzy import get_random_state`` | ``from factory.random import get_random_state``   |
+------------------------------------------------+---------------------------------------------------+
| ``from factory.fuzzy import set_random_state`` | ``from factory.random import set_random_state``   |
+------------------------------------------------+---------------------------------------------------+
| ``from factory.fuzzy import reseed_random``    | ``from factory.random import reseed_random``      |
+------------------------------------------------+---------------------------------------------------+

*Removed:*

 - Drop support for Python 2 and 3.4. These versions `are not maintained anymore <https://devguide.python.org/devcycle/end-of-life-branches>`__.
 - Drop support for Django 2.0 and 2.1. These versions `are not maintained anymore <https://www.djangoproject.com/download/supported-versions>`__.
 - Remove deprecated ``force_flush`` from ``SQLAlchemyModelFactory`` options. Use
   ``sqlalchemy_session_persistence = "flush"`` instead.
 - Drop deprecated ``attributes()`` from :class:`~factory.Factory` subclasses; use
   ``factory.make_factory(dict, FactoryClass._meta.pre_declarations)`` instead.
 - Drop deprecated ``declarations()`` from :class:`~factory.Factory` subclasses; use ``FactoryClass._meta.pre_declarations`` instead.
 - Drop ``factory.compat`` module.

*New:*

 - Add support for Python 3.8
 - Add support for Django 2.2 and 3.0
 - Report misconfiguration when a :py:class:`~factory.Factory` is used as the :py:attr:`~factory.Factory.model` for another :py:class:`~factory.Factory`.
 - Allow configuring the color palette of :py:class:`~factory.django.ImageField`.
 - :py:meth:`get_random_state()` now represents the state of Faker and ``factory_boy`` fuzzy attributes.
 - Add SQLAlchemy ``get_or_create`` support

*Improvements:*

 - :issue:`561`: Display a developer-friendly error message when providing a model instead of a factory in a :class:`~factory.declarations.SubFactory` class.

*Bugfix:*

 - Fix issue with SubFactory not preserving signal muting behaviour of the used factory, thanks `Patrick Stein <https://github.com/PFStein>`_.
 - Fix issue with overriding params in a Trait, thanks `Grégoire Rocher <https://github.com/cecedille1>`_.
 - :issue:`598`: Limit ``get_or_create`` behavior to fields specified in ``django_get_or_create``.
 - :issue:`606`: Re-raise :class:`~django.db.IntegrityError` when ``django_get_or_create`` with multiple fields fails to lookup model using user provided keyword arguments.
 - :issue:`630`: TypeError masked by __repr__ AttributeError when initializing ``Maybe`` with inconsistent phases.

2.12.0

-------------------

*New:*

 - Add support for Python 3.7
 - Add support for Django 2.1
 - Add :attr:`~factory.fuzzy.FuzzyChoice.getter` to :class:`~factory.fuzzy.FuzzyChoice` that mimics
   the behavior of ``getter`` in :class:`~factory.Iterator`
 - Make the ``extra_kwargs`` parameter of :meth:`~factory.faker.Faker.generate` optional
 - Add :class:`~factory.RelatedFactoryList` class for one-to-many support, thanks `Sean Harrington <https://github.com/seanharr11>`_.
 - Make the `locale` argument for :class:`~factory.faker.Faker` keyword-only

*Bugfix:*

 - Allow renamed arguments to be optional, thanks to `Justin Crown <https://github.com/mrname>`_.
 - Fix `django_get_or_create` behavior when using multiple fields with `unique=True`, thanks to `YPCrumble <https://github.com/YPCrumble>`

2.11.1

-------------------

*Bugfix:*

 - Fix passing deep context to a :class:`~factory.SubFactory` (``Foo(x__y__z=factory.Faker('name')``)

2.11.0

-------------------

*Bugfix:*

 - Fix :class:`~factory.fuzzy.FuzzyFloat` to return a 15 decimal digits precision float by default
 - :issue:`451`: Restore :class:`~factory.django.FileField` to a
   :class:`~factory.declarations.ParameteredAttribute`, relying on composition to parse the provided parameters.
 - :issue:`389`: Fix random state management with ``faker``.
 - :issue:`466`: Restore mixing :class:`~factory.Trait` and :meth:`~factory.post_generation`.
Links

@pyup-bot
Copy link
Collaborator Author

pyup-bot commented Oct 2, 2020

Closing this in favor of #357

@pyup-bot pyup-bot closed this Oct 2, 2020
@noirbizarre noirbizarre deleted the pyup/update-factory-boy-2.10.0-to-3.0.1 branch October 2, 2020 20:17
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant