code: def gcs_fs():
      if should_skip(GCS_URI):
          yield [None] * NUM_ATR_FS
          return
  
      import tensorflow_io_gcs_filesystem
      from google.cloud import storage
  
      monkeypatch = pytest.MonkeyPatch()
      bucket_name = os.environ.get("GCS_TEST_BUCKET")
      bucket = None
  
      # This means we are running against emulator.
      if bucket_name is None:
          monkeypatch.setenv(
              "STORAGE_EMULATOR_HOST", "http://localhost:9099"
          )
          monkeypatch.setenv(
              "CLOUD_STORAGE_EMULATOR_ENDPOINT", "http://localhost:9099"
          )
  
          bucket_name = f"tf-io-bucket-gs-{int(time.time())}"
          client = storage.Client.create_anonymous_client()
          client.project = "test_project"
          bucket = client.create_bucket(bucket_name)
      else:
          # TODO(vnvo2409): Implement for testing against production scenario
          pass
  
      def parse(path):
          res = urlparse(path, scheme=GCS_URI, allow_fragments=False)
          return res.path[1:]
  
      def path_to(*args):
          return f"{GCS_URI}://{bucket_name}/{posixpath.join(ROOT_PREFIX, *args)}"
  
      def read(path):
          key_name = parse(path)
          blob = bucket.get_blob(key_name)
          return blob.download_as_bytes()
  
      def write(path, body):
          key_name = parse(path)
          blob = bucket.blob(key_name)
          blob.upload_from_string(body)
  
      def mkdirs(path):
          if path[-1] != "/":
              path += "/"
          write(path, b"")
  
      yield path_to, read, write, mkdirs, posixpath.join, None
      monkeypatch.undo()
  
imports: import functools
  import os
  import posixpath
  import random
  import socket
  import sys
  import time
  from urllib.parse import urlparse
  import pytest
  import tensorflow
  import tensorflow_io
label_desc: Use image node_id 8 for calling a global function with example usage: gcs_fs() and returns: res, GCS_URI, str, bucket_name, str, posixpath, blob