File: helpers_test.go

package info (click to toggle)
golang-k8s-sigs-structured-merge-diff 6.3.0-2
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 2,608 kB
  • sloc: sh: 105; makefile: 4
file content (47 lines) | stat: -rw-r--r-- 970 bytes parent folder | download
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)
	}
}