def test__session_checkout(self, mock_database): from google.cloud.spanner_dbapi import Connection pool = self._make_pool() mock_database._pool = pool connection = Connection(INSTANCE, mock_database) connection._session_checkout() pool.get.assert_called_once_with() self.assertEqual(connection._session, pool.get.return_value) connection._session = "db_session" connection._session_checkout() self.assertEqual(connection._session, "db_session")
def test__session_checkout(self): from google.cloud.spanner_dbapi import Connection with mock.patch("google.cloud.spanner_v1.database.Database") as mock_database: mock_database._pool = mock.MagicMock() mock_database._pool.get = mock.MagicMock(return_value="db_session_pool") connection = Connection(self.INSTANCE, mock_database) connection._session_checkout() mock_database._pool.get.assert_called_once_with() self.assertEqual(connection._session, "db_session_pool") connection._session = "db_session" connection._session_checkout() self.assertEqual(connection._session, "db_session")
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_transaction_checkout(self): from google.cloud.spanner_dbapi import Connection connection = Connection(INSTANCE, DATABASE) mock_checkout = mock.MagicMock(autospec=True) connection._session_checkout = mock_checkout connection.transaction_checkout() mock_checkout.assert_called_once_with() mock_transaction = mock.MagicMock() mock_transaction.committed = mock_transaction.rolled_back = False connection._transaction = mock_transaction self.assertEqual(connection.transaction_checkout(), mock_transaction) connection._autocommit = True self.assertIsNone(connection.transaction_checkout())