1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
package typed_test
import (
"strings"
"testing"
"sigs.k8s.io/structured-merge-diff/v6/internal/fixture"
"sigs.k8s.io/structured-merge-diff/v6/typed"
)
func TestInvalidOverride(t *testing.T) {
// Exercises code path for invalidly specifying a scalar type is atomic
parser, err := typed.NewParser(`
types:
- name: type
map:
fields:
- name: field
type:
scalar: numeric
elementRelationship: atomic
`)
if err != nil {
t.Fatal(err)
}
sameVersionParser := fixture.SameVersionParser{T: parser.Type("type")}
test := fixture.TestCase{
Ops: []fixture.Operation{
fixture.Apply{
Manager: "apply_one",
Object: `
field: 1
`,
APIVersion: "v1",
},
},
APIVersion: "v1",
}
if err := test.Test(sameVersionParser); err == nil ||
!strings.Contains(err.Error(), "no type found matching: inlined type") {
t.Fatal(err)
}
}
|