def test_close_child_cursors(self, mock_cursor_1, mock_cursor_2,
                                 mock_executor, mock_session):
        transaction = Transaction(mock_session, MOCK_READ_AHEAD, MOCK_ID,
                                  mock_executor)
        transaction._cursors = [mock_cursor_1, mock_cursor_2]

        transaction._close_child_cursors()

        self.assertEqual(transaction._cursors, [])
        mock_cursor_1.close.assert_called_once_with()
        mock_cursor_2.close.assert_called_once_with()
    def test_internal_close(self, mock_cursor_1, mock_cursor_2, mock_executor, mock_session):
        transaction = Transaction(mock_session, MOCK_READ_AHEAD, MOCK_ID, mock_executor)
        transaction._cursors = [mock_cursor_1, mock_cursor_2]
        transaction._is_closed = False

        transaction._internal_close()

        self.assertTrue(transaction._is_closed)
        self.assertEqual(transaction._cursors, [])
        mock_cursor_1.close.assert_called_once_with()
        mock_cursor_2.close.assert_called_once_with()