def test_snapshot_checkout(self): from google.cloud.spanner_dbapi import Connection connection = Connection(INSTANCE, DATABASE, read_only=True) connection.autocommit = False session_checkout = mock.MagicMock(autospec=True) connection._session_checkout = session_checkout snapshot = connection.snapshot_checkout() session_checkout.assert_called_once() self.assertEqual(snapshot, connection.snapshot_checkout()) connection.commit() self.assertIsNone(connection._snapshot) connection.snapshot_checkout() self.assertIsNotNone(connection._snapshot) connection.rollback() self.assertIsNone(connection._snapshot) connection.autocommit = True self.assertIsNone(connection.snapshot_checkout())
def test_property_autocommit_setter(self): from google.cloud.spanner_dbapi import Connection connection = Connection(self.INSTANCE, self.DATABASE) with mock.patch( "google.cloud.spanner_dbapi.connection.Connection.commit" ) as mock_commit: connection.autocommit = True mock_commit.assert_called_once_with() self.assertEqual(connection._autocommit, True) with mock.patch( "google.cloud.spanner_dbapi.connection.Connection.commit" ) as mock_commit: connection.autocommit = False mock_commit.assert_not_called() self.assertEqual(connection._autocommit, False)