File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -392,9 +392,17 @@ def test_check_standard_external_transforms_config_in_sync(self):
392392 'r' ) as f :
393393 standard_config = yaml .safe_load (f )
394394
395+ def _normalize (cfg ):
396+ # Sort each transform's fields deterministically
397+ for t in cfg :
398+ if "fields" in t and isinstance (t ["fields" ], list ):
399+ t ["fields" ] = sorted (t ["fields" ], key = lambda f : f .get ("name" , "" ))
400+ # Sort transforms deterministically
401+ return sorted (cfg , key = lambda t : t .get ("identifier" , "" ))
402+
395403 self .assertEqual (
396- test_config ,
397- standard_config ,
404+ _normalize ( test_config ) ,
405+ _normalize ( standard_config ) ,
398406 "The standard xlang transforms config file "
399407 "\" standard_external_transforms.yaml\" is out of sync! Please update "
400408 "by running './gradlew generateExternalTransformsConfig' "
Original file line number Diff line number Diff line change @@ -137,7 +137,8 @@ class name. This can be overriden by manually providing a name.
137137 # use dynamic provider to discover and populate wrapper details
138138 provider = ExternalTransformProvider (BeamJarExpansionService (target ))
139139 discovered : Dict [str , ExternalTransform ] = provider .get_all ()
140- for identifier , wrapper in discovered .items ():
140+ for identifier in sorted (discovered .keys ()):
141+ wrapper = discovered [identifier ]
141142 if identifier in transforms_to_skip :
142143 continue
143144
@@ -153,7 +154,8 @@ class name. This can be overriden by manually providing a name.
153154 name = modified_transform .get ('name' , wrapper .__name__ )
154155
155156 fields = []
156- for param in wrapper .configuration_schema .values ():
157+ for param_name in sorted (wrapper .configuration_schema .keys ()):
158+ param = wrapper .configuration_schema [param_name ]
157159 (tp , nullable ) = pretty_type (param .type )
158160 field_info = {
159161 'name' : param .original_name ,
You can’t perform that action at this time.
0 commit comments