code: def bqs_client_full_mock(monkeypatch):
      client_mock = mock.create_autospec(
          bigquery_storage.BigQueryReadClient
      )
      client_mock.return_value = client_mock
  
      def bqs_create_read_session(max_stream_count=0, **kwargs):
          read_session_proto = gcbqs_stream.ReadSession()
          read_session_proto.streams = [
              gcbqs_stream.ReadStream() for _ in range(max_stream_count)
          ]
          return read_session_proto
  
      client_mock.create_read_session = bqs_create_read_session
  
      monkeypatch.setattr(
          bigquery_storage, "BigQueryReadClient", client_mock
      )
      client_mock.reset_mock()
      return client_mock
  
imports: from unittest import mock
  import pyarrow
  import pytest
  from google.api_core import exceptions, operation
  from google.cloud import bigquery, bigquery_storage
  from google.cloud.bigquery import job
  from google.cloud.bigquery_storage_v1.types import stream
  import ray
  from ray.data.datasource import BigQueryDatasource, _BigQueryDatasink
  from ray.data.tests.conftest import *
  from ray.data.tests.mock_http_server import *
  from ray.tests.conftest import *
label_desc: Use image node_id 2 for calling a global function with example usage: bqs_client_full_mock(monkeypatch) and returns: client_mock, read_session_proto