def test_builder_address_only_sanitized_if_untrustworthy():
  geo_service_mock = MagicMock(spec=listing_geo_service)

  listing_source_mock = MagicMock(trusted_geo_data=True)

  builder = ListingBuilder(listing_geo_service=geo_service_mock)

  builder.listing_attrs_output = MagicMock()

  builder.listing_attrs_output.get.return_value = listing_source_mock

  builder._sanitize_address()

  assert 0 == len(geo_service_mock.get_sanitized_address.call_args_list)
def test_builder_delegates_address_sanitization():
  geo_service_mock = MagicMock(spec=listing_geo_service)

  builder = ListingBuilder(listing_geo_service=geo_service_mock)

  listing_source_mock = MagicMock(trusted_geo_data=False)

  builder.listing_attrs_output = MagicMock()

  builder.listing_attrs_output.get.return_value = listing_source_mock

  builder._sanitize_address()

  geo_service_mock.get_sanitized_address.assert_called_with(ANY, ANY, ANY)