apiextensions: add items+additionalProperties test coverage for objectmeta.Validate

This commit is contained in:
Dr. Stefan Schimanski 2019-06-10 18:06:37 +02:00
parent d86cc85448
commit e280ec0fa2

View File

@ -139,6 +139,20 @@ func TestValidate(t *testing.T) {
required("nested", "embedded", "apiVersion"), required("nested", "embedded", "apiVersion"),
required("nested", "embedded", "kind"), required("nested", "embedded", "kind"),
}}, }},
{name: "items", object: `
{
"items": [{}]
}`, errors: []validationMatch{
required("items[0]", "apiVersion"),
required("items[0]", "kind"),
}},
{name: "additionalProperties", object: `
{
"additionalProperties": {"foo":{}}
}`, errors: []validationMatch{
required("additionalProperties[foo]", "apiVersion"),
required("additionalProperties[foo]", "kind"),
}},
} }
for _, tt := range tests { for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
@ -151,6 +165,20 @@ func TestValidate(t *testing.T) {
"embedded": {Extensions: structuralschema.Extensions{XEmbeddedResource: true}}, "embedded": {Extensions: structuralschema.Extensions{XEmbeddedResource: true}},
}, },
}, },
"items": {
Items: &structuralschema.Structural{
Extensions: structuralschema.Extensions{XEmbeddedResource: true},
},
},
"additionalProperties": {
Generic: structuralschema.Generic{
AdditionalProperties: &structuralschema.StructuralOrBool{
Structural: &structuralschema.Structural{
Extensions: structuralschema.Extensions{XEmbeddedResource: true},
},
},
},
},
}, },
} }