@@ -109,6 +109,7 @@ public void shouldWriteSuccessAndFailureTagsCorrectly() {
109109 .setCoder (ProtoCoder .of (FeatureRow .class ))
110110 .apply (
111111 ProcessAndValidateFeatureRows .newBuilder ()
112+ .setDefaultProject ("myproject" )
112113 .setFailureTag (FAILURE_TAG )
113114 .setSuccessTag (SUCCESS_TAG )
114115 .setFeatureSetSpecs (featureSetSpecs )
@@ -158,6 +159,56 @@ public void shouldStripVersions() {
158159 .setCoder (ProtoCoder .of (FeatureRow .class ))
159160 .apply (
160161 ProcessAndValidateFeatureRows .newBuilder ()
162+ .setDefaultProject ("myproject" )
163+ .setFailureTag (FAILURE_TAG )
164+ .setSuccessTag (SUCCESS_TAG )
165+ .setFeatureSetSpecs (featureSetSpecs )
166+ .build ());
167+
168+ PAssert .that (output .get (SUCCESS_TAG )).containsInAnyOrder (expected );
169+
170+ p .run ();
171+ }
172+
173+ @ Test
174+ public void shouldApplyDefaultProject () {
175+ FeatureSetSpec fs1 =
176+ FeatureSetSpec .newBuilder ()
177+ .setName ("feature_set" )
178+ .setProject ("myproject" )
179+ .addEntities (
180+ EntitySpec .newBuilder ()
181+ .setName ("entity_id_primary" )
182+ .setValueType (Enum .INT32 )
183+ .build ())
184+ .addEntities (
185+ EntitySpec .newBuilder ()
186+ .setName ("entity_id_secondary" )
187+ .setValueType (Enum .STRING )
188+ .build ())
189+ .addFeatures (
190+ FeatureSpec .newBuilder ().setName ("feature_1" ).setValueType (Enum .STRING ).build ())
191+ .addFeatures (
192+ FeatureSpec .newBuilder ().setName ("feature_2" ).setValueType (Enum .INT64 ).build ())
193+ .build ();
194+
195+ Map <String , FeatureSetSpec > featureSetSpecs = new HashMap <>();
196+ featureSetSpecs .put ("myproject/feature_set" , fs1 );
197+
198+ List <FeatureRow > input = new ArrayList <>();
199+ List <FeatureRow > expected = new ArrayList <>();
200+
201+ FeatureRow randomRow = TestUtil .createRandomFeatureRow (fs1 );
202+ expected .add (randomRow );
203+ randomRow = randomRow .toBuilder ().setFeatureSet ("feature_set" ).build ();
204+ input .add (randomRow );
205+
206+ PCollectionTuple output =
207+ p .apply (Create .of (input ))
208+ .setCoder (ProtoCoder .of (FeatureRow .class ))
209+ .apply (
210+ ProcessAndValidateFeatureRows .newBuilder ()
211+ .setDefaultProject ("myproject" )
161212 .setFailureTag (FAILURE_TAG )
162213 .setSuccessTag (SUCCESS_TAG )
163214 .setFeatureSetSpecs (featureSetSpecs )
@@ -212,6 +263,7 @@ public void shouldExcludeUnregisteredFields() {
212263 .setCoder (ProtoCoder .of (FeatureRow .class ))
213264 .apply (
214265 ProcessAndValidateFeatureRows .newBuilder ()
266+ .setDefaultProject ("myproject" )
215267 .setFailureTag (FAILURE_TAG )
216268 .setSuccessTag (SUCCESS_TAG )
217269 .setFeatureSetSpecs (featureSets )
0 commit comments