mongomock-ng 7.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mongomock_ng/__init__.py +149 -0
- mongomock_ng/__init__.pyi +33 -0
- mongomock_ng/__version__.py +4 -0
- mongomock_ng/aggregate.py +1754 -0
- mongomock_ng/codec_options.py +134 -0
- mongomock_ng/collection.py +2477 -0
- mongomock_ng/command_cursor.py +37 -0
- mongomock_ng/database.py +267 -0
- mongomock_ng/filtering.py +587 -0
- mongomock_ng/gridfs.py +70 -0
- mongomock_ng/helpers.py +459 -0
- mongomock_ng/mongo_client.py +215 -0
- mongomock_ng/not_implemented.py +36 -0
- mongomock_ng/object_id.py +24 -0
- mongomock_ng/patch.py +95 -0
- mongomock_ng/py.typed +0 -0
- mongomock_ng/read_concern.py +21 -0
- mongomock_ng/read_preferences.py +40 -0
- mongomock_ng/results.py +131 -0
- mongomock_ng/store.py +188 -0
- mongomock_ng/thread.py +93 -0
- mongomock_ng/write_concern.py +41 -0
- mongomock_ng-7.0.0.dist-info/METADATA +342 -0
- mongomock_ng-7.0.0.dist-info/RECORD +26 -0
- mongomock_ng-7.0.0.dist-info/WHEEL +4 -0
- mongomock_ng-7.0.0.dist-info/licenses/LICENSE +15 -0
mongomock_ng/__init__.py
ADDED
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import os
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
try:
|
|
5
|
+
from pymongo.errors import PyMongoError
|
|
6
|
+
except ImportError:
|
|
7
|
+
|
|
8
|
+
class _FallbackPyMongoError(Exception): # type: ignore[misc]
|
|
9
|
+
pass
|
|
10
|
+
|
|
11
|
+
PyMongoError = _FallbackPyMongoError
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
try:
|
|
15
|
+
from pymongo.errors import OperationFailure
|
|
16
|
+
except ImportError:
|
|
17
|
+
|
|
18
|
+
class _FallbackOperationFailure(PyMongoError):
|
|
19
|
+
def __init__(self, message, code=None, details=None):
|
|
20
|
+
super().__init__()
|
|
21
|
+
self._message = message
|
|
22
|
+
self._code = code
|
|
23
|
+
self._details = details
|
|
24
|
+
|
|
25
|
+
code = property(lambda self: self._code)
|
|
26
|
+
details = property(lambda self: self._details)
|
|
27
|
+
|
|
28
|
+
def __str__(self):
|
|
29
|
+
return self._message
|
|
30
|
+
|
|
31
|
+
OperationFailure = _FallbackOperationFailure
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
try:
|
|
35
|
+
from pymongo.errors import WriteError
|
|
36
|
+
except ImportError:
|
|
37
|
+
|
|
38
|
+
class _FallbackWriteError(OperationFailure):
|
|
39
|
+
pass
|
|
40
|
+
|
|
41
|
+
WriteError = _FallbackWriteError
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
try:
|
|
45
|
+
from pymongo.errors import DuplicateKeyError
|
|
46
|
+
except ImportError:
|
|
47
|
+
|
|
48
|
+
class _FallbackDuplicateKeyError(WriteError):
|
|
49
|
+
pass
|
|
50
|
+
|
|
51
|
+
DuplicateKeyError = _FallbackDuplicateKeyError
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
try:
|
|
55
|
+
from pymongo.errors import BulkWriteError
|
|
56
|
+
except ImportError:
|
|
57
|
+
|
|
58
|
+
class _FallbackBulkWriteError(OperationFailure):
|
|
59
|
+
def __init__(self, results):
|
|
60
|
+
super().__init__('batch op errors occurred', 65, results)
|
|
61
|
+
|
|
62
|
+
BulkWriteError = _FallbackBulkWriteError
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
try:
|
|
66
|
+
from pymongo.errors import CollectionInvalid
|
|
67
|
+
except ImportError:
|
|
68
|
+
|
|
69
|
+
class _FallbackCollectionInvalid(PyMongoError):
|
|
70
|
+
pass
|
|
71
|
+
|
|
72
|
+
CollectionInvalid = _FallbackCollectionInvalid
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
try:
|
|
76
|
+
from pymongo.errors import InvalidName
|
|
77
|
+
except ImportError:
|
|
78
|
+
|
|
79
|
+
class _FallbackInvalidName(PyMongoError):
|
|
80
|
+
pass
|
|
81
|
+
|
|
82
|
+
InvalidName = _FallbackInvalidName
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
try:
|
|
86
|
+
from pymongo.errors import InvalidOperation
|
|
87
|
+
except ImportError:
|
|
88
|
+
|
|
89
|
+
class _FallbackInvalidOperation(PyMongoError):
|
|
90
|
+
pass
|
|
91
|
+
|
|
92
|
+
InvalidOperation = _FallbackInvalidOperation
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
try:
|
|
96
|
+
from pymongo.errors import ConfigurationError
|
|
97
|
+
except ImportError:
|
|
98
|
+
|
|
99
|
+
class _FallbackConfigurationError(PyMongoError):
|
|
100
|
+
pass
|
|
101
|
+
|
|
102
|
+
ConfigurationError = _FallbackConfigurationError
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
try:
|
|
106
|
+
from pymongo.errors import InvalidURI
|
|
107
|
+
except ImportError:
|
|
108
|
+
|
|
109
|
+
class _FallbackInvalidURI(ConfigurationError):
|
|
110
|
+
pass
|
|
111
|
+
|
|
112
|
+
InvalidURI = _FallbackInvalidURI
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
from .helpers import ObjectId, utcnow # noqa
|
|
116
|
+
from .__version__ import __version__
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
__all__ = [
|
|
120
|
+
'SERVER_VERSION',
|
|
121
|
+
'Collection',
|
|
122
|
+
'CollectionInvalid',
|
|
123
|
+
'Database',
|
|
124
|
+
'DuplicateKeyError',
|
|
125
|
+
'InvalidName',
|
|
126
|
+
'InvalidURI',
|
|
127
|
+
'MongoClient',
|
|
128
|
+
'ObjectId',
|
|
129
|
+
'OperationFailure',
|
|
130
|
+
'WriteConcern',
|
|
131
|
+
'__version__',
|
|
132
|
+
'ignore_feature',
|
|
133
|
+
'patch',
|
|
134
|
+
'warn_on_feature',
|
|
135
|
+
]
|
|
136
|
+
|
|
137
|
+
from .collection import Collection
|
|
138
|
+
from .database import Database
|
|
139
|
+
from .mongo_client import MongoClient
|
|
140
|
+
from .not_implemented import ignore_feature
|
|
141
|
+
from .not_implemented import warn_on_feature
|
|
142
|
+
from .patch import patch
|
|
143
|
+
from .write_concern import WriteConcern
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
# The version of the server faked by mongomock. Callers may patch it before creating connections to
|
|
147
|
+
# update the behavior of mongomock.
|
|
148
|
+
# Keep the default version in sync with docker-compose.yml and travis.yml.
|
|
149
|
+
SERVER_VERSION = os.getenv('MONGODB', '7.0.34')
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
from typing import Any, Callable, Dict, List, Literal, Optional, Sequence, Tuple, Union
|
|
2
|
+
from unittest import mock
|
|
3
|
+
|
|
4
|
+
from bson.objectid import ObjectId as ObjectId
|
|
5
|
+
from pymongo import MongoClient as MongoClient
|
|
6
|
+
from pymongo.collection import Collection as Collection
|
|
7
|
+
from pymongo.database import Database as Database
|
|
8
|
+
from pymongo.errors import (
|
|
9
|
+
BulkWriteError as BulkWriteError,
|
|
10
|
+
CollectionInvalid as CollectionInvalid,
|
|
11
|
+
ConfigurationError as ConfigurationError,
|
|
12
|
+
DuplicateKeyError as DuplicateKeyError,
|
|
13
|
+
InvalidName as InvalidName,
|
|
14
|
+
InvalidOperation as InvalidOperation,
|
|
15
|
+
InvalidURI as InvalidURI,
|
|
16
|
+
OperationFailure as OperationFailure,
|
|
17
|
+
PyMongoError as PyMongoError,
|
|
18
|
+
WriteError as WriteError,
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
from .write_concern import WriteConcern as WriteConcern
|
|
22
|
+
|
|
23
|
+
def patch(
|
|
24
|
+
servers: Union[str, Tuple[str, int], Sequence[Union[str, Tuple[str, int]]]] = ...,
|
|
25
|
+
on_new: Literal['error', 'create', 'timeout', 'pymongo'] = ...,
|
|
26
|
+
) -> mock._patch: ...
|
|
27
|
+
|
|
28
|
+
_FeatureName = Literal['collation', 'session']
|
|
29
|
+
|
|
30
|
+
def ignore_feature(feature: _FeatureName) -> None: ...
|
|
31
|
+
def warn_on_feature(feature: _FeatureName) -> None: ...
|
|
32
|
+
|
|
33
|
+
SERVER_VERSION: str = ...
|