Coverage for /var/srv/projects/api.amasfac.comuna18.com/tmp/venv/lib/python3.9/site-packages/factory/mongoengine.py: 65%

14 statements  

« prev     ^ index     » next       coverage.py v6.4.4, created at 2023-07-17 14:22 -0600

1# Copyright: See the LICENSE file. 

2 

3 

4"""factory_boy extensions for use with the mongoengine library (pymongo wrapper).""" 

5 

6 

7from . import base 

8 

9 

10class MongoEngineFactory(base.Factory): 

11 """Factory for mongoengine objects.""" 

12 

13 class Meta: 

14 abstract = True 

15 

16 @classmethod 

17 def _build(cls, model_class, *args, **kwargs): 

18 return model_class(*args, **kwargs) 

19 

20 @classmethod 

21 def _create(cls, model_class, *args, **kwargs): 

22 instance = model_class(*args, **kwargs) 

23 if instance._is_document: 

24 instance.save() 

25 return instance