PYTHON-2054 Remove unused example TestTransactionExamples.test_transactions_beta

This commit is contained in:
Prashant Mital 2019-11-14 13:29:45 -08:00
parent d37540ae15
commit 1fdfb9864b
No known key found for this signature in database
GPG Key ID: D5A4E9E5CFB4CBD7

View File

@ -1074,83 +1074,6 @@ class TestTransactionExamples(IntegrationTest):
# End Transactions withTxn API Example 1
@client_context.require_transactions
def test_transactions_beta(self):
# Transaction beta examples
client = self.client
self.addCleanup(client.drop_database, "test")
db = client.test
shipment = db.create_collection("shipment")
inventory = db.create_collection("inventory")
inventory.insert_one({"sku": "abc123", "qty": 500})
# Start Beta Transaction Example 1
db = client.test
with client.start_session() as s:
with s.start_transaction():
db.inventory.update_one({'sku': 'abc123'},
{'$inc': {'qty': -100}},
session=s)
db.shipment.insert_one({'sku': 'abc123', 'qty': 100},
session=s)
# End Beta Transaction Example 1
# Beta Transaction Example 1 with explicit start, commit, and abort.
with client.start_session() as s:
s.start_transaction()
try:
db.inventory.update_one({'sku': 'abc123'},
{'$inc': {'qty': -100}},
session=s)
db.shipment.insert_one({'sku': 'abc123', 'qty': 100},
session=s)
except Exception:
s.abort_transaction()
raise
s.commit_transaction()
# Start Beta Transaction Example 2
db = client.test
shipment = db.get_collection('shipment',
write_concern=WriteConcern(w='majority'))
# In the following block, the following write concerns are used:
# the update_one and insert_one operations uses w = 1,
# the transaction commit/abort uses w = 'majority'.
with client.start_session() as s:
with s.start_transaction(write_concern=WriteConcern(w='majority')):
inventory.update_one({'sku': 'abc123'},
{'$inc': {'qty': -100}},
session=s)
shipment.insert_one({'sku': 'abc123', 'qty': 100}, session=s)
# End Beta Transaction Example 2
# Start Beta Transaction Example 3
def run_transaction(session, txn_callback):
with session.start_transaction():
txn_callback(session)
def run_transaction_with_retry(session, txn_callback):
try:
run_transaction(session, txn_callback)
except (OperationFailure, ConnectionFailure) as exc:
if exc.has_error_label("TransientTransactionError"):
# Retry the entire transaction on temporary transaction
# failures.
run_transaction(session, txn_callback)
else:
raise
def shipment_transaction(session):
inventory.update_one({'sku': 'abc123'}, {'$inc': {'qty': -100}},
session=session)
shipment.insert_one({'sku': 'abc123', 'qty': 100}, session=session)
with client.start_session() as session:
run_transaction_with_retry(session, shipment_transaction)
# End Beta Transaction Example 3
class TestCausalConsistencyExamples(IntegrationTest):
@client_context.require_version_min(3, 6, 0)