1
2
3
4 package merge2_test
5
6 import (
7 "sigs.k8s.io/kustomize/kyaml/yaml"
8 )
9
10 var scalarTestCases = []testCase{
11 {description: `replace scalar -- different value in dest`,
12 source: `
13 kind: Deployment
14 field: value1
15 `,
16 dest: `
17 kind: Deployment
18 field: value0
19 `,
20 expected: `
21 kind: Deployment
22 field: value1
23 `,
24 mergeOptions: yaml.MergeOptions{
25 ListIncreaseDirection: yaml.MergeOptionsListAppend,
26 },
27 },
28
29 {description: `replace scalar -- missing from dest`,
30 source: `
31 kind: Deployment
32 field: value1
33 `,
34 dest: `
35 kind: Deployment
36 `,
37 expected: `
38 kind: Deployment
39 field: value1
40 `,
41 mergeOptions: yaml.MergeOptions{
42 ListIncreaseDirection: yaml.MergeOptionsListAppend,
43 },
44 },
45
46
47
48
49 {description: `keep scalar -- same value in src and dest`,
50 source: `
51 kind: Deployment
52 field: value1
53 `,
54 dest: `
55 kind: Deployment
56 field: value1
57 `,
58 expected: `
59 kind: Deployment
60 field: value1
61 `,
62 mergeOptions: yaml.MergeOptions{
63 ListIncreaseDirection: yaml.MergeOptionsListAppend,
64 },
65 },
66
67
68
69
70 {description: `keep scalar -- unspecified in src`,
71 source: `
72 kind: Deployment
73 `,
74 dest: `
75 kind: Deployment
76 field: value1
77 `,
78 expected: `
79 kind: Deployment
80 field: value1
81 `,
82 mergeOptions: yaml.MergeOptions{
83 ListIncreaseDirection: yaml.MergeOptionsListAppend,
84 },
85 },
86
87
88
89
90 {description: `remove scalar -- null in src`,
91 source: `
92 kind: Deployment
93 field: null
94 `,
95 dest: `
96 kind: Deployment
97 field: value1
98 `,
99 expected: `
100 kind: Deployment
101 `,
102 mergeOptions: yaml.MergeOptions{
103 ListIncreaseDirection: yaml.MergeOptionsListAppend,
104 },
105 },
106
107
108
109
110 {description: `remove scalar -- empty in src`,
111 source: `
112 kind: Deployment
113 field:
114 `,
115 dest: `
116 kind: Deployment
117 field: value1
118 `,
119 expected: `
120 kind: Deployment
121 `,
122 mergeOptions: yaml.MergeOptions{
123 ListIncreaseDirection: yaml.MergeOptionsListAppend,
124 },
125 },
126
127
128
129
130 {description: `remove scalar -- null in src, missing in dest`,
131 source: `
132 kind: Deployment
133 field: null
134 `,
135 dest: `
136 kind: Deployment
137 `,
138 expected: `
139 kind: Deployment
140 `,
141 mergeOptions: yaml.MergeOptions{
142 ListIncreaseDirection: yaml.MergeOptionsListAppend,
143 },
144 },
145
146
147
148
149 {description: `remove scalar -- null in src, empty in dest`,
150 source: `
151 kind: Deployment
152 field: null
153 `,
154 dest: `
155 kind: Deployment
156 field:
157 `,
158 expected: `
159 kind: Deployment
160 `,
161 mergeOptions: yaml.MergeOptions{
162 ListIncreaseDirection: yaml.MergeOptionsListAppend,
163 },
164 },
165
166
167
168
169 {description: `remove scalar -- null in src, null in dest`,
170 source: `
171 kind: Deployment
172 field: null
173 `,
174 dest: `
175 kind: Deployment
176 field: null
177 `,
178 expected: `
179 kind: Deployment
180 `,
181 mergeOptions: yaml.MergeOptions{
182 ListIncreaseDirection: yaml.MergeOptionsListAppend,
183 },
184 },
185
186
187
188
189 {description: `keep scalar -- missing in src, null in dest`,
190 source: `
191 kind: Deployment
192 `,
193 dest: `
194 kind: Deployment
195 field: null
196 `,
197 expected: `
198 kind: Deployment
199 field: null
200 `,
201 mergeOptions: yaml.MergeOptions{
202 ListIncreaseDirection: yaml.MergeOptionsListAppend,
203 },
204 },
205 {description: `keep scalar -- missing in src, null in dest, preserves null marker`,
206 source: `
207 kind: Deployment
208 `,
209 dest: `
210 kind: Deployment
211 field: ~
212 `,
213 expected: `
214 kind: Deployment
215 field: ~
216 `,
217 mergeOptions: yaml.MergeOptions{
218 ListIncreaseDirection: yaml.MergeOptionsListAppend,
219 },
220 },
221
222
223
224
225 {description: `merge an empty value`,
226 source: `
227 kind: Deployment
228 field: {}
229 `,
230 dest: `
231 kind: Deployment
232 `,
233 expected: `
234 kind: Deployment
235 field: {}
236 `,
237 mergeOptions: yaml.MergeOptions{
238 ListIncreaseDirection: yaml.MergeOptionsListAppend,
239 },
240 },
241 }
242
View as plain text