Add tests for set_write_conern and set_read_write_concern
This commit is contained in:
parent
3d80637fa4
commit
4c62a060f0
@ -10,11 +10,59 @@ from mongoengine.context_managers import (
|
|||||||
query_counter,
|
query_counter,
|
||||||
switch_collection,
|
switch_collection,
|
||||||
switch_db,
|
switch_db,
|
||||||
|
set_write_concern,
|
||||||
|
set_read_write_concern,
|
||||||
)
|
)
|
||||||
from mongoengine.pymongo_support import count_documents
|
from mongoengine.pymongo_support import count_documents
|
||||||
|
|
||||||
|
|
||||||
class TestContextManagers:
|
class TestContextManagers:
|
||||||
|
def test_set_write_concern(self):
|
||||||
|
connect("mongoenginetest")
|
||||||
|
|
||||||
|
class User(Document):
|
||||||
|
name = StringField()
|
||||||
|
|
||||||
|
collection = User._get_collection()
|
||||||
|
original_write_concern = collection.write_concern
|
||||||
|
|
||||||
|
with set_write_concern(
|
||||||
|
collection, {"w": "majority", "j": True, "wtimeout": 1234}
|
||||||
|
) as updated_collection:
|
||||||
|
assert updated_collection.write_concern.document == {
|
||||||
|
"w": "majority",
|
||||||
|
"j": True,
|
||||||
|
"wtimeout": 1234,
|
||||||
|
}
|
||||||
|
|
||||||
|
assert original_write_concern.document == collection.write_concern.document
|
||||||
|
|
||||||
|
def test_set_read_write_concern(self):
|
||||||
|
connect("mongoenginetest")
|
||||||
|
|
||||||
|
class User(Document):
|
||||||
|
name = StringField()
|
||||||
|
|
||||||
|
collection = User._get_collection()
|
||||||
|
|
||||||
|
original_read_concern = collection.read_concern
|
||||||
|
original_write_concern = collection.write_concern
|
||||||
|
|
||||||
|
with set_read_write_concern(
|
||||||
|
collection,
|
||||||
|
{"w": "majority", "j": True, "wtimeout": 1234},
|
||||||
|
{"level": "local"},
|
||||||
|
) as update_collection:
|
||||||
|
assert update_collection.read_concern.document == {"level": "local"}
|
||||||
|
assert update_collection.write_concern.document == {
|
||||||
|
"w": "majority",
|
||||||
|
"j": True,
|
||||||
|
"wtimeout": 1234,
|
||||||
|
}
|
||||||
|
|
||||||
|
assert original_read_concern.document == collection.read_concern.document
|
||||||
|
assert original_write_concern.document == collection.write_concern.document
|
||||||
|
|
||||||
def test_switch_db_context_manager(self):
|
def test_switch_db_context_manager(self):
|
||||||
connect("mongoenginetest")
|
connect("mongoenginetest")
|
||||||
register_connection("testdb-1", "mongoenginetest2")
|
register_connection("testdb-1", "mongoenginetest2")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user