Add tests for set_write_conern and set_read_write_concern
This commit is contained in:
		| @@ -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") | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user