...
1 package trimmer_test
2
3 import (
4 "testing"
5
6 "edge-infra.dev/pkg/edge/gitops/fn"
7 "edge-infra.dev/pkg/edge/gitops/fn/testutil"
8 "edge-infra.dev/pkg/edge/gitops/fns/trimmer"
9
10 "github.com/stretchr/testify/assert"
11 "sigs.k8s.io/kustomize/kyaml/yaml"
12 )
13
14 func TestTrimmer(t *testing.T) {
15 needsToBeTrimmedObj := yaml.MustParse(`kind: Role
16 apiVersion: rbac.authorization.k8s.io/v1
17 metadata:
18 name: foo
19 creationTimestamp: null
20 status: {}`)
21
22 y, _ := needsToBeTrimmedObj.String()
23 t.Logf("Yaml before trimming:\n%s", y)
24
25 err := trimmer.Trim(needsToBeTrimmedObj)
26 assert.NoError(t, err)
27
28 status, err := needsToBeTrimmedObj.Pipe(yaml.Get("status"))
29 assert.True(t, yaml.IsMissingOrError(status, err))
30 assert.NoError(t, err)
31
32 creationTimestamp, err := needsToBeTrimmedObj.Pipe(yaml.Get("metadata.creationTimestamp"))
33 assert.True(t, yaml.IsMissingOrError(creationTimestamp, err))
34 assert.NoError(t, err)
35
36 y, _ = needsToBeTrimmedObj.String()
37 t.Logf("Yaml after trimming:\n%s", y)
38
39
40 fn.EnableStandalone()
41 tc := testutil.CommandResultsChecker{
42 Command: trimmer.NewKptFunction,
43 OutputAssertionFunc: testutil.NormalizeAndAssert(t),
44 }
45 tc.Assert(t)
46 }
47
View as plain text