refactor(test): run cases as sub-tests (#4912)

This commit is contained in:
Julio Lopez
2025-10-24 12:40:45 -07:00
committed by GitHub
parent 5bc467e2ca
commit d8519ab9fa

View File

@@ -36,21 +36,23 @@ func ensureTypesMatch(t *testing.T, policyType, definitionType reflect.Type) {
for i := range policyType.NumField() {
f := policyType.Field(i)
dt, ok := definitionType.FieldByName(f.Name)
if !ok {
require.True(t, omittedDefinitionFields[definitionType.Name()+"."+f.Name], "definition field %q not found in %q", f.Name, definitionType.Name())
continue
}
t.Run(definitionType.Name()+"_"+f.Name, func(t *testing.T) {
t.Logf("f: %v %v", definitionType.Name(), f.Name)
t.Logf("f: %v %v", definitionType.Name(), f.Name)
dt, ok := definitionType.FieldByName(f.Name)
if !ok {
require.True(t, omittedDefinitionFields[definitionType.Name()+"."+f.Name], "definition field %q not found in %q", f.Name, definitionType.Name())
return
}
if f.Type.Kind() == reflect.Struct {
ensureTypesMatch(t, f.Type, dt.Type)
} else {
require.True(t, sourceInfoType.AssignableTo(dt.Type), "invalid type of %v.%v - %v", definitionType.Name(), dt.Name, dt.Type)
}
if f.Type.Kind() == reflect.Struct {
ensureTypesMatch(t, f.Type, dt.Type)
} else {
require.True(t, sourceInfoType.AssignableTo(dt.Type), "invalid type of %v.%v - %v", definitionType.Name(), dt.Name, dt.Type)
}
require.Equal(t, f.Tag.Get("json"), dt.Tag.Get("json"), dt.Name)
require.Equal(t, f.Tag.Get("json"), dt.Tag.Get("json"), dt.Name)
})
}
}