mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-08-07 06:17:14 +02:00
129 lines
3.5 KiB
Diff
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)
|