code: def assert_that(
      request: Union[NamesGeocoder, GeocodingRequest]
  ) -> GeocodingRequestAssertion:
      if isinstance(request, NamesGeocoder):
          return GeocodingRequestAssertion(request._build_request())
      elif isinstance(request, GeocodingRequest):
          return GeocodingRequestAssertion(request)
      else:
          raise ValueError(
              "Expected types are [RegionsBuilder2, GeocodingRequest], but was {}",
              str(type(request)),
          )
  
imports: from typing import Optional, Union, List, Callable
  from unittest import mock
  import shapely
  from lets_plot.geo_data import GeocodingService, SuccessResponse, Answer, GeocodedFeature
  from lets_plot.geo_data import geocode, geocode_cities, geocode_states, geocode_countries
  from lets_plot.geo_data.gis.geometry import GeoRect, GeoPoint
  from lets_plot.geo_data.gis.request import MapRegion, AmbiguityResolver, GeocodingRequest, LevelKind, RegionQuery, IgnoringStrategyKind
  from lets_plot.geo_data.geocoder import NamesGeocoder
  from lets_plot.geo_data.geocodes import Geocodes
  from geo_data_test_util import make_answer, assert_row
  from request_assertion import GeocodingRequestAssertion, QueryMatcher, ScopeMatcher, ValueMatcher, eq, empty, eq_map_region_with_name, eq_map_region_with_id
label_desc: Use image node_id 34 for calling a global function with example usage: assert_that(request) and returns: GeocodingRequestAssertion, GeocodingRequestAssertion