Accepting request 1125175 from devel:languages:python
- Update to 3.3.0 * New: - :issue:`366`: Add :class:`factory.django.Password` to generate Django :class:`~django.contrib.auth.models.User` passwords. - :issue:`304`: Add :attr:`~factory.alchemy.SQLAlchemyOptions.sqlalchemy_session_factory` to dynamically create sessions for use by the :class:`~factory.alchemy.SQLAlchemyModelFactory`. - Add support for Django 4.0 - Add support for Django 4.1 - Add support for Python 3.10 - Add support for Python 3.11 * Bugfix: - Make :meth:`~factory.django.mute_signals` mute signals during post-generation. - :issue:`775`: Change the signature for :meth:`~factory.alchemy.SQLAlchemyModelFactory._save` and :meth:`~factory.alchemy.SQLAlchemyModelFactory._get_or_create` to avoid argument names clashes with a field named session. * Deprecated: - :class:`~factory.django.DjangoModelFactory` will stop issuing a second call to :meth:`~django.db.models.Model.save` on the created instance when :ref:`post-generation-hooks` return a value. - To help with the transition, :class:`factory.django.DjangoModelFactory._after_postgeneration` raises a :class:`DeprecationWarning` when calling :meth:`~django.db.models.Model.save`. Inspect your :class:`~factory.django.DjangoModelFactory` subclasses: + If the :meth:`~django.db.models.Model.save` call is not needed after :class:`~factory.PostGeneration`, set :attr:`factory.django.DjangoOptions.skip_postgeneration_save` to True in the factory meta. + Otherwise, the instance has been modified by :class:`~factory.PostGeneration` hooks and needs to be :meth:`~django.db.models.Model.save`d. Either: - call :meth:`django.db.models.Model.save` in the :class:`~factory.PostGeneration` hook that modifies the instance, or - override :class:`~factory.django.DjangoModelFactory._after_postgeneration` to :meth:`~django.db.models.Model.save` the instance. OBS-URL: https://build.opensuse.org/request/show/1125175 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-factory_boy?expand=0&rev=20
This commit is contained in:
commit
9efcbee070
BIN
factory_boy-3.2.1.tar.gz
(Stored with Git LFS)
BIN
factory_boy-3.2.1.tar.gz
(Stored with Git LFS)
Binary file not shown.
3
factory_boy-3.3.0.tar.gz
Normal file
3
factory_boy-3.3.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bc76d97d1a65bbd9842a6d722882098eb549ec8ee1081f9fb2e8ff29f0c300f1
|
||||
size 163604
|
@ -1,3 +1,46 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 9 11:32:25 UTC 2023 - ecsos <ecsos@opensuse.org>
|
||||
|
||||
- Update to 3.3.0
|
||||
* New:
|
||||
- :issue:`366`: Add :class:`factory.django.Password` to generate Django
|
||||
:class:`~django.contrib.auth.models.User` passwords.
|
||||
- :issue:`304`: Add :attr:`~factory.alchemy.SQLAlchemyOptions.sqlalchemy_session_factory`
|
||||
to dynamically create sessions for use by the :class:`~factory.alchemy.SQLAlchemyModelFactory`.
|
||||
- Add support for Django 4.0
|
||||
- Add support for Django 4.1
|
||||
- Add support for Python 3.10
|
||||
- Add support for Python 3.11
|
||||
* Bugfix:
|
||||
- Make :meth:`~factory.django.mute_signals` mute signals during post-generation.
|
||||
- :issue:`775`: Change the signature for :meth:`~factory.alchemy.SQLAlchemyModelFactory._save`
|
||||
and :meth:`~factory.alchemy.SQLAlchemyModelFactory._get_or_create` to avoid argument names
|
||||
clashes with a field named session.
|
||||
* Deprecated:
|
||||
- :class:`~factory.django.DjangoModelFactory` will stop issuing
|
||||
a second call to :meth:`~django.db.models.Model.save` on the
|
||||
created instance when :ref:`post-generation-hooks` return a value.
|
||||
- To help with the transition, :class:`factory.django.DjangoModelFactory._after_postgeneration`
|
||||
raises a :class:`DeprecationWarning` when calling :meth:`~django.db.models.Model.save`.
|
||||
Inspect your :class:`~factory.django.DjangoModelFactory` subclasses:
|
||||
+ If the :meth:`~django.db.models.Model.save` call is not needed after :class:`~factory.PostGeneration`, set
|
||||
:attr:`factory.django.DjangoOptions.skip_postgeneration_save` to True in the factory meta.
|
||||
+ Otherwise, the instance has been modified by :class:`~factory.PostGeneration`
|
||||
hooks and needs to be :meth:`~django.db.models.Model.save`d. Either:
|
||||
- call :meth:`django.db.models.Model.save` in the :class:`~factory.PostGeneration`
|
||||
hook that modifies the instance, or
|
||||
- override :class:`~factory.django.DjangoModelFactory._after_postgeneration`
|
||||
to :meth:`~django.db.models.Model.save` the instance.
|
||||
* Removed:
|
||||
- Drop support for Django 2.2
|
||||
- Drop support for Django 3.0
|
||||
- Drop support for Django 3.1
|
||||
- Drop support for Python 3.6
|
||||
- Drop support for Python 3.7
|
||||
|
||||
- Drop tests-skip-django-py36.patch because new version need
|
||||
python >= 3.7.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 21 12:24:55 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
|
@ -16,20 +16,17 @@
|
||||
#
|
||||
|
||||
|
||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
||||
%define skip_python2 1
|
||||
%{?sle15_python_module_pythons}
|
||||
Name: python-factory_boy
|
||||
Version: 3.2.1
|
||||
Version: 3.3.0
|
||||
Release: 0
|
||||
Summary: Python test fixtures
|
||||
License: MIT
|
||||
URL: https://github.com/rbarrois/factory_boy
|
||||
Source: https://files.pythonhosted.org/packages/source/f/factory_boy/factory_boy-%{version}.tar.gz
|
||||
# PATCH-FEATURE-OPENSUSE tests-skip-django-py36.patch -- don't test django on python36: no python36-Django 4, code@bnavigator.de
|
||||
Patch0: tests-skip-django-py36.patch
|
||||
BuildRequires: %{python_module Faker >= 0.7.0}
|
||||
BuildRequires: %{python_module Pillow}
|
||||
BuildRequires: %{python_module base >= 3.7}
|
||||
BuildRequires: %{python_module setuptools >= 0.8}
|
||||
BuildRequires: %{python_module typing_extensions}
|
||||
BuildRequires: fdupes
|
||||
@ -52,6 +49,8 @@ sed -i -e '/test_mongoengine/d' tests/__init__.py
|
||||
# sqlalchemy hickups a lot
|
||||
rm tests/test_alchemy.py
|
||||
sed -i -e '/test_alchemy/d' tests/__init__.py
|
||||
# Fix wrong version
|
||||
sed -i -e 's|"3.2.1.dev0"|"3.3.0"|g' tests/test_version.py
|
||||
|
||||
%build
|
||||
%python_build
|
||||
|
@ -1,92 +0,0 @@
|
||||
Index: factory_boy-3.2.0/tests/test_django.py
|
||||
===================================================================
|
||||
--- factory_boy-3.2.0.orig/tests/test_django.py
|
||||
+++ factory_boy-3.2.0/tests/test_django.py
|
||||
@@ -7,11 +7,14 @@ import os
|
||||
import unittest
|
||||
from unittest import mock
|
||||
|
||||
-import django
|
||||
-from django import test as django_test
|
||||
-from django.conf import settings
|
||||
-from django.db.models import signals
|
||||
-from django.test import utils as django_test_utils
|
||||
+try:
|
||||
+ import django
|
||||
+ from django import test as django_test
|
||||
+ from django.conf import settings
|
||||
+ from django.db.models import signals
|
||||
+ from django.test import utils as django_test_utils
|
||||
+except ImportError:
|
||||
+ raise unittest.SkipTest("No Django installed")
|
||||
|
||||
import factory.django
|
||||
|
||||
Index: factory_boy-3.2.0/tests/test_using.py
|
||||
===================================================================
|
||||
--- factory_boy-3.2.0.orig/tests/test_using.py
|
||||
+++ factory_boy-3.2.0/tests/test_using.py
|
||||
@@ -11,6 +11,7 @@ import unittest
|
||||
|
||||
import factory
|
||||
from factory import errors
|
||||
+nodjango = not hasattr(factory, 'django')
|
||||
|
||||
from . import utils
|
||||
|
||||
@@ -141,6 +142,7 @@ class SimpleBuildTestCase(unittest.TestC
|
||||
self.assertEqual(obj.id, None)
|
||||
self.assertEqual(obj.foo, 'bar')
|
||||
|
||||
+ @unittest.skipIf(nodjango, "No Django installed")
|
||||
def test_create_custom_base(self):
|
||||
obj = factory.create(FakeModel, foo='bar', FACTORY_CLASS=factory.django.DjangoModelFactory)
|
||||
self.assertEqual(obj.id, 2)
|
||||
@@ -156,6 +158,7 @@ class SimpleBuildTestCase(unittest.TestC
|
||||
self.assertEqual(obj.id, None)
|
||||
self.assertEqual(obj.foo, 'bar')
|
||||
|
||||
+ @unittest.skipIf(nodjango, "No Django installed")
|
||||
def test_create_batch_custom_base(self):
|
||||
objs = factory.create_batch(
|
||||
FakeModel,
|
||||
@@ -196,6 +199,7 @@ class SimpleBuildTestCase(unittest.TestC
|
||||
self.assertEqual(obj.id, None)
|
||||
self.assertEqual(obj.foo, 'bar')
|
||||
|
||||
+ @unittest.skipIf(nodjango, "No Django installed")
|
||||
def test_generate_create_custom_base(self):
|
||||
obj = factory.generate(
|
||||
FakeModel,
|
||||
@@ -231,6 +235,7 @@ class SimpleBuildTestCase(unittest.TestC
|
||||
self.assertEqual(obj.id, None)
|
||||
self.assertEqual(obj.foo, 'bar')
|
||||
|
||||
+ @unittest.skipIf(nodjango, "No Django installed")
|
||||
def test_generate_batch_create_custom_base(self):
|
||||
objs = factory.generate_batch(
|
||||
FakeModel,
|
||||
@@ -267,6 +272,7 @@ class SimpleBuildTestCase(unittest.TestC
|
||||
self.assertEqual(obj.id, None)
|
||||
self.assertEqual(obj.foo, 'bar')
|
||||
|
||||
+ @unittest.skipIf(nodjango, "No Django installed")
|
||||
def test_simple_generate_create_custom_base(self):
|
||||
obj = factory.simple_generate(FakeModel, True, foo='bar', FACTORY_CLASS=factory.django.DjangoModelFactory)
|
||||
self.assertEqual(obj.id, 2)
|
||||
@@ -292,6 +298,7 @@ class SimpleBuildTestCase(unittest.TestC
|
||||
self.assertEqual(obj.id, None)
|
||||
self.assertEqual(obj.foo, 'bar')
|
||||
|
||||
+ @unittest.skipIf(nodjango, "No Django installed")
|
||||
def test_simple_generate_batch_create_custom_base(self):
|
||||
objs = factory.simple_generate_batch(
|
||||
FakeModel,
|
||||
@@ -2046,6 +2053,7 @@ class BetterFakeModel:
|
||||
self.id = None
|
||||
|
||||
|
||||
+@unittest.skipIf(nodjango, "No Django installed")
|
||||
class DjangoModelFactoryTestCase(unittest.TestCase):
|
||||
def test_simple(self):
|
||||
class FakeModelFactory(factory.django.DjangoModelFactory):
|
Loading…
x
Reference in New Issue
Block a user