2020import static org .junit .jupiter .api .Assertions .assertThrows ;
2121
2222import com .google .protobuf .TextFormat ;
23- import feast .serving .ServingAPIProto .FeatureSetRequest ;
23+ import feast .serving .ServingAPIProto .FeatureReference ;
2424import java .util .Arrays ;
2525import java .util .Collections ;
2626import java .util .Comparator ;
@@ -36,43 +36,56 @@ class RequestUtilTest {
3636 private static Stream <Arguments > provideValidFeatureIds () {
3737 return Stream .of (
3838 Arguments .of (
39- Collections .singletonList ("driver:1:driver_id " ),
39+ Collections .singletonList ("driver_project/driver_id:1 " ),
4040 Collections .singletonList (
41- FeatureSetRequest .newBuilder ()
42- .setName ("driver" )
43- .setVersion (1 )
44- .addFeatureNames ("driver_id" ))),
41+ FeatureReference .newBuilder ()
42+ .setProject ("driver_project" )
43+ .setName ("driver_id" )
44+ .setVersion (1 ).build ()
45+ )
46+ ),
4547 Arguments .of (
46- Arrays .asList ("driver:1:driver_id" , "driver:1:driver_name" ),
47- Collections .singletonList (
48- FeatureSetRequest .newBuilder ()
49- .setName ("driver" )
48+ Arrays .asList ("driver_project/driver_id:1" , "driver_project/driver_name:1" ),
49+ Arrays .asList (
50+ FeatureReference .newBuilder ()
51+ .setProject ("driver_project" )
52+ .setName ("driver_id" )
53+ .setVersion (1 )
54+ .build (),
55+ FeatureReference .newBuilder ()
56+ .setProject ("driver_project" )
57+ .setName ("driver_name" )
5058 .setVersion (1 )
51- .addAllFeatureNames ( Arrays . asList ( "driver_id" , "driver_name" ))
52- . build ()) ),
59+ .build ( ))
60+ ),
5361 Arguments .of (
54- Arrays .asList ("driver:1:driver_id " , "driver:1:driver_name " , "booking:2:booking_id " ),
62+ Arrays .asList ("driver_project/driver_id:1 " , "driver_project/driver_name:1 " , "booking_project/driver_name:1 " ),
5563 Arrays .asList (
56- FeatureSetRequest .newBuilder ()
57- .setName ("driver" )
64+ FeatureReference .newBuilder ()
65+ .setProject ("driver_project" )
66+ .setVersion (1 )
67+ .setName ("driver_id" )
68+ .build (),
69+ FeatureReference .newBuilder ()
70+ .setProject ("driver_project" )
5871 .setVersion (1 )
59- .addAllFeatureNames ( Arrays . asList ( "driver_id" , " driver_name") )
72+ .setName ( " driver_name" )
6073 .build (),
61- FeatureSetRequest .newBuilder ()
62- .setName ( "booking " )
63- .setVersion (2 )
64- .addFeatureNames ( "booking_id " )
74+ FeatureReference .newBuilder ()
75+ .setProject ( "booking_project " )
76+ .setVersion (1 )
77+ .setName ( "driver_name " )
6578 .build ())));
6679 }
6780
6881 @ ParameterizedTest
6982 @ MethodSource ("provideValidFeatureIds" )
7083 void createFeatureSets_ShouldReturnFeatureSetsForValidFeatureIds (
71- List <String > input , List <FeatureSetRequest > expected ) {
72- List <FeatureSetRequest > actual = RequestUtil .createFeatureSets (input );
84+ List <String > input , List <FeatureReference > expected ) {
85+ List <FeatureReference > actual = RequestUtil .createFeatureRefs (input , "my-project" );
7386 // Order of the actual and expected featureSets do no not matter
74- actual .sort (Comparator .comparing (FeatureSetRequest ::getName ));
75- expected .sort (Comparator .comparing (FeatureSetRequest ::getName ));
87+ actual .sort (Comparator .comparing (FeatureReference ::getName ));
88+ expected .sort (Comparator .comparing (FeatureReference ::getName ));
7689 assertEquals (expected .size (), actual .size ());
7790 for (int i = 0 ; i < expected .size (); i ++) {
7891 String expectedString = TextFormat .printer ().printToString (expected .get (i ));
@@ -81,23 +94,21 @@ void createFeatureSets_ShouldReturnFeatureSetsForValidFeatureIds(
8194 }
8295 }
8396
84- private static Stream <Arguments > provideInvalidFeatureIds () {
97+ private static Stream <Arguments > provideInvalidFeatureRefs () {
8598 return Stream .of (
86- Arguments .of (Collections .singletonList ("feature_set_only" )),
87- Arguments .of (Collections .singletonList ("missing:feature_name" )),
88- Arguments .of (Collections .singletonList ("invalid:version:value" )),
99+ Arguments .of (Collections .singletonList ("missing:bad_version" )),
89100 Arguments .of (Collections .singletonList ("" )));
90101 }
91102
92103 @ ParameterizedTest
93- @ MethodSource ("provideInvalidFeatureIds " )
94- void createFeatureSets_ShouldThrowExceptionForInvalidFeatureIds (List <String > input ) {
95- assertThrows (IllegalArgumentException .class , () -> RequestUtil .createFeatureSets (input ));
104+ @ MethodSource ("provideInvalidFeatureRefs " )
105+ void createFeatureSets_ShouldThrowExceptionForInvalidFeatureRefs (List <String > input ) {
106+ assertThrows (IllegalArgumentException .class , () -> RequestUtil .createFeatureRefs (input , "my-project" ));
96107 }
97108
98109 @ ParameterizedTest
99110 @ NullSource
100- void createFeatureSets_ShouldThrowExceptionForNullFeatureIds (List <String > input ) {
101- assertThrows (IllegalArgumentException .class , () -> RequestUtil .createFeatureSets (input ));
111+ void createFeatureSets_ShouldThrowExceptionForNullFeatureRefs (List <String > input ) {
112+ assertThrows (IllegalArgumentException .class , () -> RequestUtil .createFeatureRefs (input , "my-project" ));
102113 }
103114}
0 commit comments