Codebase list python-mockupdb / 237d3db
New upstream snapshot. Debian Janitor 1 year, 4 months ago
6 changed file(s) with 342 addition(s) and 310 deletion(s). Raw diff Collapse all Expand all
44
55 Next Release
66 ------------
7
8 1.8.1 (2021-10-14)
9 ------------------
10
11 Fix a bug where MockupDB did not recognize the OP_MSG exhaustAllowed flag.
12
13 1.8.0 (2020-09-26)
14 ------------------
715
816 MockupDB supports Python 3.4 through 3.8; it no longer supports Python 2.6 or
917 Python 3.3.
+161
-152
PKG-INFO less more
0 Metadata-Version: 1.2
0 Metadata-Version: 2.1
11 Name: mockupdb
2 Version: 1.8.0
2 Version: 1.9.0.dev1
33 Summary: MongoDB Wire Protocol server library
44 Home-page: https://github.com/ajdavis/mongo-mockup-db
55 Author: A. Jesse Jiryu Davis
66 Author-email: jesse@mongodb.com
77 License: Apache License, Version 2.0
8 Description: ========
9 MockupDB
10 ========
11
12 Mock server for testing MongoDB clients and creating MongoDB Wire Protocol
13 servers.
14
15 * Documentation: http://mockupdb.readthedocs.org/
16
17
18
19
20 Changelog
21 =========
22
23 Next Release
24 ------------
25
26 MockupDB supports Python 3.4 through 3.8; it no longer supports Python 2.6 or
27 Python 3.3.
28
29 New method ``MockupDB.append_responder`` to add an autoresponder of last resort.
30
31 Fix a bug in ``interactive_server`` with ``all_ok=True``. It had returned an
32 empty isMaster response, causing drivers to throw errors like "Server at
33 localhost:27017 reports wire version 0, but this version of PyMongo requires at
34 least 2 (MongoDB 2.6)."
35
36 Stop logging "OSError: [WinError 10038] An operation was attempted on something
37 that is not a socket" on Windows after a client disconnects.
38
39 Parse OP_MSGs with any number of sections in any order. This allows write
40 commands from the mongo shell, which sends sections in the opposite order from
41 drivers. Handle OP_MSGs with checksums, such as those sent by the mongo shell
42 beginning in 4.2.
43
44 1.7.0 (2018-12-02)
45 ------------------
46
47 Improve datetime support in match expressions. Python datetimes have microsecond
48 precision but BSON only has milliseconds, so expressions like this always
49 failed::
50
51 server.receives(Command('foo', when=datetime(2018, 12, 1, 6, 6, 6, 12345)))
52
53 Now, the matching logic has been rewritten to recurse through arrays and
54 subdocuments, comparing them value by value. It compares datetime values with
55 only millisecond precision.
56
57 1.6.0 (2018-11-16)
58 ------------------
59
60 Remove vendored BSON library. Instead, require PyMongo and use its BSON library.
61 This avoids surprising problems where a BSON type created with PyMongo does not
62 appear equal to one created with MockupDB, and it avoids the occasional need to
63 update the vendored code to support new BSON features.
64
65 1.5.0 (2018-11-02)
66 ------------------
67
68 Support for Unix domain paths with ``uds_path`` parameter.
69
70 The ``interactive_server()`` function now prepares the server to autorespond to
71 the ``getFreeMonitoringStatus`` command from the mongo shell.
72
73 1.4.1 (2018-06-30)
74 ------------------
75
76 Fix an inadvertent dependency on PyMongo, which broke the docs build.
77
78 1.4.0 (2018-06-29)
79 ------------------
80
81 Support, and expect, OP_MSG requests from clients. Thanks to Shane Harvey for
82 the contribution.
83
84 Update vendored bson library from PyMongo. Support the Decimal128 BSON type. Fix
85 Matcher so it equates BSON objects from PyMongo like ``ObjectId(...)`` with
86 equivalent objects created from MockupDB's vendored bson library.
87
88 1.3.0 (2018-02-19)
89 ------------------
90
91 Support Windows. Log a traceback if a bad client request causes an assert. Fix
92 SSL. Make errors less likely on shutdown. Enable testing on Travis and Appveyor.
93 Fix doctests and interactive server for modern MongoDB protocol.
94
95 1.2.1 (2017-12-06)
96 ------------------
97
98 Set minWireVersion to 0, not to 2. I had been wrong about MongoDB 3.6's wire
99 version range: it's actually 0 to 6. MockupDB now reports the same wire version
100 range as MongoDB 3.6 by default.
101
102 1.2.0 (2017-09-22)
103 ------------------
104
105 Update for MongoDB 3.6: report minWireVersion 2 and maxWireVersion 6 by default.
106
107 1.1.3 (2017-04-23)
108 ------------------
109
110 Avoid rare RuntimeError in close(), if a client thread shuts down a socket as
111 MockupDB iterates its list of sockets.
112
113 1.1.2 (2016-08-23)
114 ------------------
115
116 Properly detect closed sockets so ``MockupDB.stop()`` doesn't take 10 seconds
117 per connection. Thanks to Sean Purcell.
118
119 1.1.1 (2016-08-01)
120 ------------------
121
122 Don't use "client" as a keyword arg for ``Request``, it conflicts with the
123 actual "client" field in drivers' new handshake protocol.
124
125 1.1.0 (2016-02-11)
126 ------------------
127
128 Add cursor_id property to OpGetMore, and ssl parameter to interactive_server.
129
130 1.0.3 (2015-09-12)
131 ------------------
132
133 ``MockupDB(auto_ismaster=True)`` had just responded ``{"ok": 1}``, but this
134 isn't enough to convince PyMongo 3 it's talking to a valid standalone,
135 so auto-respond ``{"ok": 1, "ismaster": True}``.
136
137 1.0.2 (2015-09-11)
138 ------------------
139
140 Restore Request.assert_matches method, used in pymongo-mockup-tests.
141
142 1.0.1 (2015-09-11)
143 ------------------
144
145 Allow co-installation with PyMongo.
146
147 1.0.0 (2015-09-10)
148 ------------------
149
150 First release.
151
152 0.1.0 (2015-02-25)
153 ------------------
154
155 Development begun.
156
1578 Keywords: mongo,mongodb,wire protocol,mockupdb,mock
158 Platform: UNKNOWN
1599 Classifier: Development Status :: 5 - Production/Stable
16010 Classifier: Intended Audience :: Developers
16111 Classifier: License :: OSI Approved :: Apache Software License
16919 Classifier: Programming Language :: Python :: 3.7
17020 Classifier: Programming Language :: Python :: 3.8
17121 Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*
22 License-File: LICENSE
23 License-File: AUTHORS.rst
24
25 ========
26 MockupDB
27 ========
28
29 Mock server for testing MongoDB clients and creating MongoDB Wire Protocol
30 servers.
31
32 * Documentation: http://mockupdb.readthedocs.org/
33
34
35
36
37 Changelog
38 =========
39
40 Next Release
41 ------------
42
43 1.8.1 (2021-10-14)
44 ------------------
45
46 Fix a bug where MockupDB did not recognize the OP_MSG exhaustAllowed flag.
47
48 1.8.0 (2020-09-26)
49 ------------------
50
51 MockupDB supports Python 3.4 through 3.8; it no longer supports Python 2.6 or
52 Python 3.3.
53
54 New method ``MockupDB.append_responder`` to add an autoresponder of last resort.
55
56 Fix a bug in ``interactive_server`` with ``all_ok=True``. It had returned an
57 empty isMaster response, causing drivers to throw errors like "Server at
58 localhost:27017 reports wire version 0, but this version of PyMongo requires at
59 least 2 (MongoDB 2.6)."
60
61 Stop logging "OSError: [WinError 10038] An operation was attempted on something
62 that is not a socket" on Windows after a client disconnects.
63
64 Parse OP_MSGs with any number of sections in any order. This allows write
65 commands from the mongo shell, which sends sections in the opposite order from
66 drivers. Handle OP_MSGs with checksums, such as those sent by the mongo shell
67 beginning in 4.2.
68
69 1.7.0 (2018-12-02)
70 ------------------
71
72 Improve datetime support in match expressions. Python datetimes have microsecond
73 precision but BSON only has milliseconds, so expressions like this always
74 failed::
75
76 server.receives(Command('foo', when=datetime(2018, 12, 1, 6, 6, 6, 12345)))
77
78 Now, the matching logic has been rewritten to recurse through arrays and
79 subdocuments, comparing them value by value. It compares datetime values with
80 only millisecond precision.
81
82 1.6.0 (2018-11-16)
83 ------------------
84
85 Remove vendored BSON library. Instead, require PyMongo and use its BSON library.
86 This avoids surprising problems where a BSON type created with PyMongo does not
87 appear equal to one created with MockupDB, and it avoids the occasional need to
88 update the vendored code to support new BSON features.
89
90 1.5.0 (2018-11-02)
91 ------------------
92
93 Support for Unix domain paths with ``uds_path`` parameter.
94
95 The ``interactive_server()`` function now prepares the server to autorespond to
96 the ``getFreeMonitoringStatus`` command from the mongo shell.
97
98 1.4.1 (2018-06-30)
99 ------------------
100
101 Fix an inadvertent dependency on PyMongo, which broke the docs build.
102
103 1.4.0 (2018-06-29)
104 ------------------
105
106 Support, and expect, OP_MSG requests from clients. Thanks to Shane Harvey for
107 the contribution.
108
109 Update vendored bson library from PyMongo. Support the Decimal128 BSON type. Fix
110 Matcher so it equates BSON objects from PyMongo like ``ObjectId(...)`` with
111 equivalent objects created from MockupDB's vendored bson library.
112
113 1.3.0 (2018-02-19)
114 ------------------
115
116 Support Windows. Log a traceback if a bad client request causes an assert. Fix
117 SSL. Make errors less likely on shutdown. Enable testing on Travis and Appveyor.
118 Fix doctests and interactive server for modern MongoDB protocol.
119
120 1.2.1 (2017-12-06)
121 ------------------
122
123 Set minWireVersion to 0, not to 2. I had been wrong about MongoDB 3.6's wire
124 version range: it's actually 0 to 6. MockupDB now reports the same wire version
125 range as MongoDB 3.6 by default.
126
127 1.2.0 (2017-09-22)
128 ------------------
129
130 Update for MongoDB 3.6: report minWireVersion 2 and maxWireVersion 6 by default.
131
132 1.1.3 (2017-04-23)
133 ------------------
134
135 Avoid rare RuntimeError in close(), if a client thread shuts down a socket as
136 MockupDB iterates its list of sockets.
137
138 1.1.2 (2016-08-23)
139 ------------------
140
141 Properly detect closed sockets so ``MockupDB.stop()`` doesn't take 10 seconds
142 per connection. Thanks to Sean Purcell.
143
144 1.1.1 (2016-08-01)
145 ------------------
146
147 Don't use "client" as a keyword arg for ``Request``, it conflicts with the
148 actual "client" field in drivers' new handshake protocol.
149
150 1.1.0 (2016-02-11)
151 ------------------
152
153 Add cursor_id property to OpGetMore, and ssl parameter to interactive_server.
154
155 1.0.3 (2015-09-12)
156 ------------------
157
158 ``MockupDB(auto_ismaster=True)`` had just responded ``{"ok": 1}``, but this
159 isn't enough to convince PyMongo 3 it's talking to a valid standalone,
160 so auto-respond ``{"ok": 1, "ismaster": True}``.
161
162 1.0.2 (2015-09-11)
163 ------------------
164
165 Restore Request.assert_matches method, used in pymongo-mockup-tests.
166
167 1.0.1 (2015-09-11)
168 ------------------
169
170 Allow co-installation with PyMongo.
171
172 1.0.0 (2015-09-10)
173 ------------------
174
175 First release.
176
177 0.1.0 (2015-02-25)
178 ------------------
179
180 Development begun.
0 python-mockupdb (1.8.1+git20211019.1.317c4e0-1) UNRELEASED; urgency=low
1
2 * New upstream snapshot.
3
4 -- Debian Janitor <janitor@jelmer.uk> Sat, 17 Dec 2022 02:14:56 -0000
5
06 python-mockupdb (1.8.0-4) unstable; urgency=medium
17
28 [ Debian Janitor ]
1818
1919 __author__ = 'A. Jesse Jiryu Davis'
2020 __email__ = 'jesse@mongodb.com'
21 __version__ = '1.8.0'
21 __version__ = '1.9.0.dev1'
2222
2323 import atexit
2424 import contextlib
268268 ('QueryFailure', 2)])
269269
270270 OP_MSG_FLAGS = OrderedDict([
271 ('checksumPresent', 1),
272 ('moreToCome', 2),
273 ('exhaustAllowed', 16)])
271 ('checksumPresent', 1 << 0),
272 ('moreToCome', 1 << 1),
273 ('exhaustAllowed', 1 << 16)])
274274
275275 _ALL_OP_MSG_FLAGS = functools.reduce(operator.or_, OP_MSG_FLAGS.values())
276276
14281428 @_synchronized
14291429 def autoresponds(self, matcher, *args, **kwargs):
14301430 """Send a canned reply to all matching client requests.
1431
1431
14321432 ``matcher`` is a `Matcher` or a command name, or an instance of
14331433 `OpInsert`, `OpQuery`, etc.
14341434
0 Metadata-Version: 1.2
0 Metadata-Version: 2.1
11 Name: mockupdb
2 Version: 1.8.0
2 Version: 1.9.0.dev1
33 Summary: MongoDB Wire Protocol server library
44 Home-page: https://github.com/ajdavis/mongo-mockup-db
55 Author: A. Jesse Jiryu Davis
66 Author-email: jesse@mongodb.com
77 License: Apache License, Version 2.0
8 Description: ========
9 MockupDB
10 ========
11
12 Mock server for testing MongoDB clients and creating MongoDB Wire Protocol
13 servers.
14
15 * Documentation: http://mockupdb.readthedocs.org/
16
17
18
19
20 Changelog
21 =========
22
23 Next Release
24 ------------
25
26 MockupDB supports Python 3.4 through 3.8; it no longer supports Python 2.6 or
27 Python 3.3.
28
29 New method ``MockupDB.append_responder`` to add an autoresponder of last resort.
30
31 Fix a bug in ``interactive_server`` with ``all_ok=True``. It had returned an
32 empty isMaster response, causing drivers to throw errors like "Server at
33 localhost:27017 reports wire version 0, but this version of PyMongo requires at
34 least 2 (MongoDB 2.6)."
35
36 Stop logging "OSError: [WinError 10038] An operation was attempted on something
37 that is not a socket" on Windows after a client disconnects.
38
39 Parse OP_MSGs with any number of sections in any order. This allows write
40 commands from the mongo shell, which sends sections in the opposite order from
41 drivers. Handle OP_MSGs with checksums, such as those sent by the mongo shell
42 beginning in 4.2.
43
44 1.7.0 (2018-12-02)
45 ------------------
46
47 Improve datetime support in match expressions. Python datetimes have microsecond
48 precision but BSON only has milliseconds, so expressions like this always
49 failed::
50
51 server.receives(Command('foo', when=datetime(2018, 12, 1, 6, 6, 6, 12345)))
52
53 Now, the matching logic has been rewritten to recurse through arrays and
54 subdocuments, comparing them value by value. It compares datetime values with
55 only millisecond precision.
56
57 1.6.0 (2018-11-16)
58 ------------------
59
60 Remove vendored BSON library. Instead, require PyMongo and use its BSON library.
61 This avoids surprising problems where a BSON type created with PyMongo does not
62 appear equal to one created with MockupDB, and it avoids the occasional need to
63 update the vendored code to support new BSON features.
64
65 1.5.0 (2018-11-02)
66 ------------------
67
68 Support for Unix domain paths with ``uds_path`` parameter.
69
70 The ``interactive_server()`` function now prepares the server to autorespond to
71 the ``getFreeMonitoringStatus`` command from the mongo shell.
72
73 1.4.1 (2018-06-30)
74 ------------------
75
76 Fix an inadvertent dependency on PyMongo, which broke the docs build.
77
78 1.4.0 (2018-06-29)
79 ------------------
80
81 Support, and expect, OP_MSG requests from clients. Thanks to Shane Harvey for
82 the contribution.
83
84 Update vendored bson library from PyMongo. Support the Decimal128 BSON type. Fix
85 Matcher so it equates BSON objects from PyMongo like ``ObjectId(...)`` with
86 equivalent objects created from MockupDB's vendored bson library.
87
88 1.3.0 (2018-02-19)
89 ------------------
90
91 Support Windows. Log a traceback if a bad client request causes an assert. Fix
92 SSL. Make errors less likely on shutdown. Enable testing on Travis and Appveyor.
93 Fix doctests and interactive server for modern MongoDB protocol.
94
95 1.2.1 (2017-12-06)
96 ------------------
97
98 Set minWireVersion to 0, not to 2. I had been wrong about MongoDB 3.6's wire
99 version range: it's actually 0 to 6. MockupDB now reports the same wire version
100 range as MongoDB 3.6 by default.
101
102 1.2.0 (2017-09-22)
103 ------------------
104
105 Update for MongoDB 3.6: report minWireVersion 2 and maxWireVersion 6 by default.
106
107 1.1.3 (2017-04-23)
108 ------------------
109
110 Avoid rare RuntimeError in close(), if a client thread shuts down a socket as
111 MockupDB iterates its list of sockets.
112
113 1.1.2 (2016-08-23)
114 ------------------
115
116 Properly detect closed sockets so ``MockupDB.stop()`` doesn't take 10 seconds
117 per connection. Thanks to Sean Purcell.
118
119 1.1.1 (2016-08-01)
120 ------------------
121
122 Don't use "client" as a keyword arg for ``Request``, it conflicts with the
123 actual "client" field in drivers' new handshake protocol.
124
125 1.1.0 (2016-02-11)
126 ------------------
127
128 Add cursor_id property to OpGetMore, and ssl parameter to interactive_server.
129
130 1.0.3 (2015-09-12)
131 ------------------
132
133 ``MockupDB(auto_ismaster=True)`` had just responded ``{"ok": 1}``, but this
134 isn't enough to convince PyMongo 3 it's talking to a valid standalone,
135 so auto-respond ``{"ok": 1, "ismaster": True}``.
136
137 1.0.2 (2015-09-11)
138 ------------------
139
140 Restore Request.assert_matches method, used in pymongo-mockup-tests.
141
142 1.0.1 (2015-09-11)
143 ------------------
144
145 Allow co-installation with PyMongo.
146
147 1.0.0 (2015-09-10)
148 ------------------
149
150 First release.
151
152 0.1.0 (2015-02-25)
153 ------------------
154
155 Development begun.
156
1578 Keywords: mongo,mongodb,wire protocol,mockupdb,mock
158 Platform: UNKNOWN
1599 Classifier: Development Status :: 5 - Production/Stable
16010 Classifier: Intended Audience :: Developers
16111 Classifier: License :: OSI Approved :: Apache Software License
16919 Classifier: Programming Language :: Python :: 3.7
17020 Classifier: Programming Language :: Python :: 3.8
17121 Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*
22 License-File: LICENSE
23 License-File: AUTHORS.rst
24
25 ========
26 MockupDB
27 ========
28
29 Mock server for testing MongoDB clients and creating MongoDB Wire Protocol
30 servers.
31
32 * Documentation: http://mockupdb.readthedocs.org/
33
34
35
36
37 Changelog
38 =========
39
40 Next Release
41 ------------
42
43 1.8.1 (2021-10-14)
44 ------------------
45
46 Fix a bug where MockupDB did not recognize the OP_MSG exhaustAllowed flag.
47
48 1.8.0 (2020-09-26)
49 ------------------
50
51 MockupDB supports Python 3.4 through 3.8; it no longer supports Python 2.6 or
52 Python 3.3.
53
54 New method ``MockupDB.append_responder`` to add an autoresponder of last resort.
55
56 Fix a bug in ``interactive_server`` with ``all_ok=True``. It had returned an
57 empty isMaster response, causing drivers to throw errors like "Server at
58 localhost:27017 reports wire version 0, but this version of PyMongo requires at
59 least 2 (MongoDB 2.6)."
60
61 Stop logging "OSError: [WinError 10038] An operation was attempted on something
62 that is not a socket" on Windows after a client disconnects.
63
64 Parse OP_MSGs with any number of sections in any order. This allows write
65 commands from the mongo shell, which sends sections in the opposite order from
66 drivers. Handle OP_MSGs with checksums, such as those sent by the mongo shell
67 beginning in 4.2.
68
69 1.7.0 (2018-12-02)
70 ------------------
71
72 Improve datetime support in match expressions. Python datetimes have microsecond
73 precision but BSON only has milliseconds, so expressions like this always
74 failed::
75
76 server.receives(Command('foo', when=datetime(2018, 12, 1, 6, 6, 6, 12345)))
77
78 Now, the matching logic has been rewritten to recurse through arrays and
79 subdocuments, comparing them value by value. It compares datetime values with
80 only millisecond precision.
81
82 1.6.0 (2018-11-16)
83 ------------------
84
85 Remove vendored BSON library. Instead, require PyMongo and use its BSON library.
86 This avoids surprising problems where a BSON type created with PyMongo does not
87 appear equal to one created with MockupDB, and it avoids the occasional need to
88 update the vendored code to support new BSON features.
89
90 1.5.0 (2018-11-02)
91 ------------------
92
93 Support for Unix domain paths with ``uds_path`` parameter.
94
95 The ``interactive_server()`` function now prepares the server to autorespond to
96 the ``getFreeMonitoringStatus`` command from the mongo shell.
97
98 1.4.1 (2018-06-30)
99 ------------------
100
101 Fix an inadvertent dependency on PyMongo, which broke the docs build.
102
103 1.4.0 (2018-06-29)
104 ------------------
105
106 Support, and expect, OP_MSG requests from clients. Thanks to Shane Harvey for
107 the contribution.
108
109 Update vendored bson library from PyMongo. Support the Decimal128 BSON type. Fix
110 Matcher so it equates BSON objects from PyMongo like ``ObjectId(...)`` with
111 equivalent objects created from MockupDB's vendored bson library.
112
113 1.3.0 (2018-02-19)
114 ------------------
115
116 Support Windows. Log a traceback if a bad client request causes an assert. Fix
117 SSL. Make errors less likely on shutdown. Enable testing on Travis and Appveyor.
118 Fix doctests and interactive server for modern MongoDB protocol.
119
120 1.2.1 (2017-12-06)
121 ------------------
122
123 Set minWireVersion to 0, not to 2. I had been wrong about MongoDB 3.6's wire
124 version range: it's actually 0 to 6. MockupDB now reports the same wire version
125 range as MongoDB 3.6 by default.
126
127 1.2.0 (2017-09-22)
128 ------------------
129
130 Update for MongoDB 3.6: report minWireVersion 2 and maxWireVersion 6 by default.
131
132 1.1.3 (2017-04-23)
133 ------------------
134
135 Avoid rare RuntimeError in close(), if a client thread shuts down a socket as
136 MockupDB iterates its list of sockets.
137
138 1.1.2 (2016-08-23)
139 ------------------
140
141 Properly detect closed sockets so ``MockupDB.stop()`` doesn't take 10 seconds
142 per connection. Thanks to Sean Purcell.
143
144 1.1.1 (2016-08-01)
145 ------------------
146
147 Don't use "client" as a keyword arg for ``Request``, it conflicts with the
148 actual "client" field in drivers' new handshake protocol.
149
150 1.1.0 (2016-02-11)
151 ------------------
152
153 Add cursor_id property to OpGetMore, and ssl parameter to interactive_server.
154
155 1.0.3 (2015-09-12)
156 ------------------
157
158 ``MockupDB(auto_ismaster=True)`` had just responded ``{"ok": 1}``, but this
159 isn't enough to convince PyMongo 3 it's talking to a valid standalone,
160 so auto-respond ``{"ok": 1, "ismaster": True}``.
161
162 1.0.2 (2015-09-11)
163 ------------------
164
165 Restore Request.assert_matches method, used in pymongo-mockup-tests.
166
167 1.0.1 (2015-09-11)
168 ------------------
169
170 Allow co-installation with PyMongo.
171
172 1.0.0 (2015-09-10)
173 ------------------
174
175 First release.
176
177 0.1.0 (2015-02-25)
178 ------------------
179
180 Development begun.
1818
1919 setup(
2020 name='mockupdb',
21 version='1.8.0',
21 version='1.9.0.dev1',
2222 description="MongoDB Wire Protocol server library",
2323 long_description=readme + '\n\n' + changelog,
2424 author="A. Jesse Jiryu Davis",