2020 SpecifiedFeaturesNotPresentError ,
2121)
2222from feast .feature_view import FeatureView
23+ from feast .field import Field
2324from feast .inference import (
2425 update_data_sources_with_inferred_event_timestamp_col ,
2526 update_entities_with_inferred_types_from_feature_views ,
2829 SparkSource ,
2930)
3031from feast .on_demand_feature_view import on_demand_feature_view
32+ from feast .types import String , UnixTimestamp
3133from tests .utils .data_source_utils import (
3234 prep_file_source ,
3335 simple_bq_source_using_query_arg ,
@@ -185,7 +187,10 @@ def test_view(features_df: pd.DataFrame) -> pd.DataFrame:
185187 test_view .infer_features ()
186188
187189 @on_demand_feature_view (
188- sources = {"date_request" : date_request },
190+ # Note: we deliberately use `inputs` instead of `sources` to test that `inputs`
191+ # still works correctly, even though it is deprecated.
192+ # TODO(felixwang9817): Remove references to `inputs` once it is fully deprecated.
193+ inputs = {"date_request" : date_request },
189194 features = [
190195 Feature (name = "output" , dtype = ValueType .UNIX_TIMESTAMP ),
191196 Feature (name = "object_output" , dtype = ValueType .STRING ),
@@ -201,11 +206,14 @@ def invalid_test_view(features_df: pd.DataFrame) -> pd.DataFrame:
201206 invalid_test_view .infer_features ()
202207
203208 @on_demand_feature_view (
204- sources = {"date_request" : date_request },
205- features = [
209+ # Note: we deliberately use positional arguments here to test that they work correctly,
210+ # even though positional arguments are deprecated in favor of keyword arguments.
211+ # TODO(felixwang9817): Remove positional arguments once they are fully deprecated.
212+ [
206213 Feature (name = "output" , dtype = ValueType .UNIX_TIMESTAMP ),
207214 Feature (name = "missing" , dtype = ValueType .STRING ),
208215 ],
216+ {"date_request" : date_request },
209217 )
210218 def test_view_with_missing_feature (features_df : pd .DataFrame ) -> pd .DataFrame :
211219 data = pd .DataFrame ()
@@ -223,11 +231,14 @@ def test_datasource_inference():
223231 )
224232
225233 @on_demand_feature_view (
226- sources = {"date_request" : date_request },
227- features = [
234+ # Note: we deliberately use positional arguments here to test that they work correctly,
235+ # even though positional arguments are deprecated in favor of keyword arguments.
236+ # TODO(felixwang9817): Remove positional arguments once they are fully deprecated.
237+ [
228238 Feature (name = "output" , dtype = ValueType .UNIX_TIMESTAMP ),
229239 Feature (name = "string_output" , dtype = ValueType .STRING ),
230240 ],
241+ sources = {"date_request" : date_request },
231242 )
232243 def test_view (features_df : pd .DataFrame ) -> pd .DataFrame :
233244 data = pd .DataFrame ()
@@ -239,9 +250,9 @@ def test_view(features_df: pd.DataFrame) -> pd.DataFrame:
239250
240251 @on_demand_feature_view (
241252 sources = {"date_request" : date_request },
242- features = [
243- Feature (name = "output" , dtype = ValueType . UNIX_TIMESTAMP ),
244- Feature (name = "object_output" , dtype = ValueType . STRING ),
253+ schema = [
254+ Field (name = "output" , dtype = UnixTimestamp ),
255+ Field (name = "object_output" , dtype = String ),
245256 ],
246257 )
247258 def invalid_test_view (features_df : pd .DataFrame ) -> pd .DataFrame :
0 commit comments