10000 test: updated unit test for `Connection.rollback` · MaxxleLLC/python-spanner-django@a6fcbdf · GitHub
[go: up one dir, main page]

Skip to content

Commit a6fcbdf

Browse files
committed
test: updated unit test for Connection.rollback
1 parent 4b7f7d8 commit a6fcbdf

File tree

2 files changed

+27
-13
lines changed

2 files changed

+27
-13
lines changed

google/cloud/spanner_dbapi/connection.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ def commit(self):
161161

162162
def rollback(self):
163163
"""Rollback all the pending transactions."""
164-
if self.autocommit:
164+
if self._autocommit:
165165
warnings.warn(AUTOCOMMIT_MODE_WARNING, UserWarning, stacklevel=2)
166166
elif self._transaction:
167167
self._transaction.rollback()

tests/unit/spanner_dbapi/test_connection.py

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -103,9 +103,9 @@ def test_transaction_checkout(self):
103103
connection.transaction_checkout()
104104
mock_checkout.assert_called_once_with()
105105

106-
connection._transaction = mock_xaction = mock.MagicMock()
107-
mock_xaction.committed = mock_xaction.rolled_back = False
108-
self.assertEqual(connection.transaction_checkout(), mock_xaction)
106+
connection._transaction = mock_transaction = mock.MagicMock()
107+
mock_transaction.committed = mock_transaction.rolled_back = False
108+
self.assertEqual(connection.transaction_checkout(), mock_transaction)
109109

110110
connection._autocommit = True
111111
self.assertIsNone(connection.transaction_checkout())
@@ -130,9 +130,9 @@ def test_close(self):
130130
with self.assertRaises(InterfaceError):
131131
connection.cursor()
132132

133-
connection._transaction = mock_xaction = mock.MagicMock()
134-
mock_xaction.committed = mock_xaction.rolled_back = False
135-
mock_xaction.rollback = mock_rollback = mock.MagicMock()
133+
connection._transaction = mock_transaction = mock.MagicMock()
134+
mock_transaction.committed = mock_transaction.rolled_back = False
135+
mock_transaction.rollback = mock_rollback = mock.MagicMock()
136136
connection.close()
137137
mock_rollback.assert_called_once_with()
138138

@@ -142,6 +142,13 @@ def test_commit(self, mock_warn):
142142
from google.cloud.spanner_dbapi.connection import AUTOCOMMIT_MODE_WARNING
143143

144144
connection = Connection(self.INSTANCE, self.DATABASE)
145+
146+
with mock.patch(
147+
"google.cloud.spanner_dbapi.connection.Connection._release_session"
148+
) as mock_release:
149+
connection.commit()
150+
mock_release.assert_not_called()
151+
145152
connection._transaction = mock_transaction = mock.MagicMock()
146153
mock_transaction.commit = mock_commit = mock.MagicMock()
147154

@@ -156,26 +163,33 @@ def test_commit(self, mock_warn):
156163
connection.commit()
157164
mock_warn.assert_called_once_with(AUTOCOMMIT_MODE_WARNING, UserWarning, stacklevel=2)
158165

159-
def test_rollback(self):
166+
@mock.patch.object(warnings, 'warn')
167+
def test_rollback(self, mock_warn):
160168
from google.cloud.spanner_dbapi import Connection
169+
from google.cloud.spanner_dbapi.connection import AUTOCOMMIT_MODE_WARNING
161170

162171
connection = Connection(self.INSTANCE, self.DATABASE)
163172

164-
# with mock.patch(
165-
# "google.cloud.spanner_dbapi.connection.Connection._raise_if_closed"
166-
# ) as check_closed_mock:
167-
# connection.rollback()
168-
# check_closed_mock.assert_called_once_with()
173+
with mock.patch(
174+
"google.cloud.spanner_dbapi.connection.Connection._release_session"
175+
) as mock_release:
176+
connection.rollback()
177+
mock_release.assert_not_called()
169178

170179
connection._transaction = mock_transaction = mock.MagicMock()
171180
mock_transaction.rollback = mock_rollback = mock.MagicMock()
181+
172182
with mock.patch(
173183
"google.cloud.spanner_dbapi.connection.Connection._release_session"
174184
) as mock_release:
175185
connection.rollback()
176186
mock_rollback.assert_called_once_with()
177187
mock_release.assert_called_once_with()
178188

189+
connection._autocommit = True
190+
connection.rollback()
191+
mock_warn.assert_called_once_with(AUTOCOMMIT_MODE_WARNING, UserWarning, stacklevel=2)
192+
179193
def test_run_prior_DDL_statements(self):
180194
from google.cloud.spanner_dbapi import Connection, InterfaceError
181195

0 commit comments

Comments
 (0)
0