Skip to content

Commit ee4b8a6

Browse files
committed
diff: additional test cases
Signed-off-by: Hidde Beydals <hello@hidde.co>
1 parent 93ee87f commit ee4b8a6

File tree

1 file changed

+113
-0
lines changed

1 file changed

+113
-0
lines changed

internal/diff/differ_test.go

+113
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package diff
1818

1919
import (
2020
"context"
21+
"fmt"
2122
"testing"
2223

2324
. "github.com/onsi/gomega"
@@ -87,6 +88,14 @@ metadata:
8788
name: test
8889
stringData:
8990
foo: bar
91+
---
92+
apiVersion: v1
93+
kind: Secret
94+
metadata:
95+
name: test-ns
96+
namespace: other
97+
stringData:
98+
foo: bar
9099
`,
91100
},
92101
want: &ssa.ChangeSet{
@@ -103,10 +112,114 @@ stringData:
103112
Subject: "Secret/release/test",
104113
Action: ssa.CreatedAction,
105114
},
115+
{
116+
ObjMetadata: object.ObjMetadata{
117+
Namespace: "other",
118+
Name: "test-ns",
119+
GroupKind: schema.GroupKind{
120+
Kind: "Secret",
121+
},
122+
},
123+
GroupVersion: "v1",
124+
Subject: "Secret/other/test-ns",
125+
Action: ssa.CreatedAction,
126+
},
127+
},
128+
},
129+
wantDrift: true,
130+
},
131+
{
132+
name: "ignores exclusions",
133+
client: fake.NewClientBuilder().
134+
WithScheme(scheme).
135+
WithRESTMapper(mapper).
136+
Build(),
137+
rel: &release.Release{
138+
Namespace: "release",
139+
Manifest: fmt.Sprintf(`---
140+
apiVersion: v1
141+
kind: Secret
142+
metadata:
143+
name: test
144+
labels:
145+
%[1]s: %[2]s
146+
stringData:
147+
foo: bar
148+
---
149+
apiVersion: v1
150+
kind: Secret
151+
metadata:
152+
name: test2
153+
stringData:
154+
foo: bar
155+
`, MetadataKey, MetadataDisabledValue),
156+
},
157+
want: &ssa.ChangeSet{
158+
Entries: []ssa.ChangeSetEntry{
159+
{
160+
ObjMetadata: object.ObjMetadata{
161+
Namespace: "release",
162+
Name: "test",
163+
GroupKind: schema.GroupKind{
164+
Kind: "Secret",
165+
},
166+
},
167+
GroupVersion: "v1",
168+
Subject: "Secret/release/test",
169+
Action: ssa.SkippedAction,
170+
},
171+
{
172+
ObjMetadata: object.ObjMetadata{
173+
Namespace: "release",
174+
Name: "test2",
175+
GroupKind: schema.GroupKind{
176+
Kind: "Secret",
177+
},
178+
},
179+
GroupVersion: "v1",
180+
Subject: "Secret/release/test2",
181+
Action: ssa.CreatedAction,
182+
},
106183
},
107184
},
108185
wantDrift: true,
109186
},
187+
{
188+
name: "ignores exclusions (without diff)",
189+
client: fake.NewClientBuilder().
190+
WithScheme(scheme).
191+
WithRESTMapper(mapper).
192+
Build(),
193+
rel: &release.Release{
194+
Namespace: "release",
195+
Manifest: fmt.Sprintf(`---
196+
apiVersion: v1
197+
kind: Secret
198+
metadata:
199+
name: test
200+
labels:
201+
%[1]s: %[2]s
202+
stringData:
203+
foo: bar`, MetadataKey, MetadataDisabledValue),
204+
},
205+
want: &ssa.ChangeSet{
206+
Entries: []ssa.ChangeSetEntry{
207+
{
208+
ObjMetadata: object.ObjMetadata{
209+
Namespace: "release",
210+
Name: "test",
211+
GroupKind: schema.GroupKind{
212+
Kind: "Secret",
213+
},
214+
},
215+
GroupVersion: "v1",
216+
Subject: "Secret/release/test",
217+
Action: ssa.SkippedAction,
218+
},
219+
},
220+
},
221+
wantDrift: false,
222+
},
110223
}
111224
for _, tt := range tests {
112225
t.Run(tt.name, func(t *testing.T) {

0 commit comments

Comments
 (0)