@pytest.mark.parametrize("full_feature_names", [True, False], ids=lambda v: str(v))
def test_historical_features(environment, universal_data_sources, full_feature_names):
store = environment.feature_store
(entities, datasets, data_sources) = universal_data_sources
feature_views = construct_universal_feature_views(data_sources)
customer_df, driver_df, orders_df, global_df, entity_df = (
customer_fv, driver_fv, driver_odfv, order_fv, global_fv = (
feature_views["customer"],
feature_views["driver_odfv"],
feature_service = FeatureService(
feature_views["driver"][["conv_rate"]],
feature_views["driver_odfv"]
store.apply(feast_objects)
job_from_df = store.get_historical_features(
entity_df=entity_df_with_request_data,
"driver_stats:conv_rate",
"driver_stats:avg_daily_trips",
"customer_profile:current_balance",
"customer_profile:avg_passenger_count",
"customer_profile:lifetime_trip_count",
"conv_rate_plus_100:conv_rate_plus_100",
"conv_rate_plus_100:conv_rate_plus_val_to_add",
"order:order_is_success",
"global_stats:num_rides",
"global_stats:avg_ride_length",
full_feature_names=full_feature_names,
actual_df_from_df_entities = job_from_df.to_df()
expected_df, actual_df_from_df_entities, check_dtype=False,