Skip to content

Commit b1fda53

Browse files
author
Antoine Pelisse
committed
Add test for AsTypedDeduced
1 parent d591413 commit b1fda53

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

typed/deduced_test.go

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
/*
2+
Copyright 2019 The Kubernetes Authors.
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
*/
16+
17+
package typed_test
18+
19+
import (
20+
"fmt"
21+
"testing"
22+
23+
"sigs.k8s.io/structured-merge-diff/typed"
24+
"sigs.k8s.io/structured-merge-diff/value"
25+
)
26+
27+
func TestValidateDeducedType(t *testing.T) {
28+
tests := []string{
29+
`{"a": null}`,
30+
`{"a": ["a", "b"]}`,
31+
`{"a": {"b": [], "c": 2, "d": {"f": "string"}}}`,
32+
}
33+
34+
for i, test := range tests {
35+
t.Run(fmt.Sprintf("test %d", i), func(t *testing.T) {
36+
v, err := value.FromYAML([]byte(test))
37+
if err != nil {
38+
t.Fatalf("Failed to parse yaml: %v", err)
39+
}
40+
if err := typed.AsTypedDeduced(v).Validate(); err != nil {
41+
t.Fatalf("Validation failed: %v", err)
42+
}
43+
})
44+
}
45+
}

0 commit comments

Comments
 (0)