package trimmer_test import ( "testing" "edge-infra.dev/pkg/edge/gitops/fn" "edge-infra.dev/pkg/edge/gitops/fn/testutil" "edge-infra.dev/pkg/edge/gitops/fns/trimmer" "github.com/stretchr/testify/assert" "sigs.k8s.io/kustomize/kyaml/yaml" ) func TestTrimmer(t *testing.T) { needsToBeTrimmedObj := yaml.MustParse(`kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: name: foo creationTimestamp: null status: {}`) y, _ := needsToBeTrimmedObj.String() t.Logf("Yaml before trimming:\n%s", y) err := trimmer.Trim(needsToBeTrimmedObj) assert.NoError(t, err) status, err := needsToBeTrimmedObj.Pipe(yaml.Get("status")) assert.True(t, yaml.IsMissingOrError(status, err)) assert.NoError(t, err) creationTimestamp, err := needsToBeTrimmedObj.Pipe(yaml.Get("metadata.creationTimestamp")) assert.True(t, yaml.IsMissingOrError(creationTimestamp, err)) assert.NoError(t, err) y, _ = needsToBeTrimmedObj.String() t.Logf("Yaml after trimming:\n%s", y) // test using vendored expected results // standalone mode is required to pass config file fn.EnableStandalone() tc := testutil.CommandResultsChecker{ Command: trimmer.NewKptFunction, OutputAssertionFunc: testutil.NormalizeAndAssert(t), } tc.Assert(t) }