aports/community/py3-factory-boy/disable-mongoengine.patch
2024-04-15 12:30:04 +00:00

129 lines
3.5 KiB
Diff

diff --git a/factory/__init__.py b/factory/__init__.py
index bdc3ac0..088e48f 100644
--- a/factory/__init__.py
+++ b/factory/__init__.py
@@ -64,10 +64,6 @@ try:
from . import mogo
except ImportError:
pass
-try:
- from . import mongoengine
-except ImportError:
- pass
__author__ = 'Raphaël Barrois <raphael.barrois+fboy@polytechnique.org>'
try:
diff --git a/factory/mongoengine.py b/factory/mongoengine.py
deleted file mode 100644
index eb4a8dc..0000000
--- a/factory/mongoengine.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright: See the LICENSE file.
-
-
-"""factory_boy extensions for use with the mongoengine library (pymongo wrapper)."""
-
-
-from . import base
-
-
-class MongoEngineFactory(base.Factory):
- """Factory for mongoengine objects."""
-
- class Meta:
- abstract = True
-
- @classmethod
- def _build(cls, model_class, *args, **kwargs):
- return model_class(*args, **kwargs)
-
- @classmethod
- def _create(cls, model_class, *args, **kwargs):
- instance = model_class(*args, **kwargs)
- if instance._is_document:
- instance.save()
- return instance
diff --git a/tests/test_mongoengine.py b/tests/test_mongoengine.py
deleted file mode 100644
index bc930fc..0000000
--- a/tests/test_mongoengine.py
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright: See the LICENSE file.
-
-"""Tests for factory_boy/MongoEngine interactions."""
-
-import os
-import unittest
-
-try:
- import mongoengine
-except ImportError:
- raise unittest.SkipTest("mongodb tests disabled.")
-
-import factory
-from factory.mongoengine import MongoEngineFactory
-
-
-class Address(mongoengine.EmbeddedDocument):
- street = mongoengine.StringField()
-
-
-class Person(mongoengine.Document):
- name = mongoengine.StringField()
- address = mongoengine.EmbeddedDocumentField(Address)
-
-
-class AddressFactory(MongoEngineFactory):
- class Meta:
- model = Address
-
- street = factory.Sequence(lambda n: 'street%d' % n)
-
-
-class PersonFactory(MongoEngineFactory):
- class Meta:
- model = Person
-
- name = factory.Sequence(lambda n: 'name%d' % n)
- address = factory.SubFactory(AddressFactory)
-
-
-class MongoEngineTestCase(unittest.TestCase):
-
- db_name = os.environ.get('MONGO_DATABASE', 'factory_boy_test')
- db_host = os.environ.get('MONGO_HOST', 'localhost')
- db_port = int(os.environ.get('MONGO_PORT', '27017'))
- server_timeout_ms = int(os.environ.get('MONGO_TIMEOUT', '300'))
-
- @classmethod
- def setUpClass(cls):
- from pymongo import read_preferences as mongo_rp
- cls.db = mongoengine.connect(
- db=cls.db_name,
- host=cls.db_host,
- port=cls.db_port,
- # PyMongo>=2.1 requires an explicit read_preference.
- read_preference=mongo_rp.ReadPreference.PRIMARY,
- # PyMongo>=2.1 has a 20s timeout, use 100ms instead
- serverselectiontimeoutms=cls.server_timeout_ms,
- uuidRepresentation='standard',
- )
-
- @classmethod
- def tearDownClass(cls):
- cls.db.drop_database(cls.db_name)
-
- def test_build(self):
- std = PersonFactory.build()
- self.assertEqual('name0', std.name)
- self.assertEqual('street0', std.address.street)
- self.assertIsNone(std.id)
-
- def test_creation(self):
- std1 = PersonFactory.create()
- self.assertEqual('name1', std1.name)
- self.assertEqual('street1', std1.address.street)
- self.assertIsNotNone(std1.id)