@@ -180,3 +180,81 @@ func Test_retainSecretServiceAccountToken(t *testing.T) {
180
180
})
181
181
}
182
182
}
183
+
184
+ func Test_retainPersistentVolumeFields (t * testing.T ) {
185
+ createPV := func (claimRef * corev1.ObjectReference ) * unstructured.Unstructured {
186
+ ret , _ := helper .ToUnstructured (& corev1.PersistentVolume {
187
+ ObjectMeta : metav1.ObjectMeta {
188
+ Name : "pv" ,
189
+ },
190
+ Spec : corev1.PersistentVolumeSpec {
191
+ ClaimRef : claimRef ,
192
+ },
193
+ })
194
+ return ret
195
+ }
196
+ type args struct {
197
+ desired * unstructured.Unstructured
198
+ observed * unstructured.Unstructured
199
+ }
200
+ tests := []struct {
201
+ name string
202
+ args args
203
+ want * unstructured.Unstructured
204
+ }{
205
+ {
206
+ name : "retain claimRef" ,
207
+ args : args {
208
+ desired : createPV (& corev1.ObjectReference {Name : "pvc-1" , Namespace : "default" }),
209
+ observed : createPV (& corev1.ObjectReference {Name : "pvc-2" , Namespace : "default" }),
210
+ },
211
+ want : createPV (& corev1.ObjectReference {Name : "pvc-2" , Namespace : "default" }),
212
+ },
213
+ }
214
+ for _ , tt := range tests {
215
+ t .Run (tt .name , func (t * testing.T ) {
216
+ got , err := retainPersistentVolumeFields (tt .args .desired , tt .args .observed )
217
+ assert .Nil (t , err , "retainPersistentVolumeFields() error = %v" , err )
218
+ assert .Equalf (t , tt .want , got , "retainPersistentVolumeFields(%v, %v)" , tt .args .desired , tt .args .observed )
219
+ })
220
+ }
221
+ }
222
+
223
+ func Test_retainPersistentVolumeClaimFields (t * testing.T ) {
224
+ createPVC := func (volumeName string ) * unstructured.Unstructured {
225
+ ret , _ := helper .ToUnstructured (& corev1.PersistentVolumeClaim {
226
+ ObjectMeta : metav1.ObjectMeta {
227
+ Name : "pvc" ,
228
+ },
229
+ Spec : corev1.PersistentVolumeClaimSpec {
230
+ VolumeName : volumeName ,
231
+ },
232
+ })
233
+ return ret
234
+ }
235
+ type args struct {
236
+ desired * unstructured.Unstructured
237
+ observed * unstructured.Unstructured
238
+ }
239
+ tests := []struct {
240
+ name string
241
+ args args
242
+ want * unstructured.Unstructured
243
+ }{
244
+ {
245
+ name : "retain observed volume name" ,
246
+ args : args {
247
+ desired : createPVC ("desired-volume-name" ),
248
+ observed : createPVC ("observed-volume-name" ),
249
+ },
250
+ want : createPVC ("observed-volume-name" ),
251
+ },
252
+ }
253
+ for _ , tt := range tests {
254
+ t .Run (tt .name , func (t * testing.T ) {
255
+ got , err := retainPersistentVolumeClaimFields (tt .args .desired , tt .args .observed )
256
+ assert .Nil (t , err , "retainPersistentVolumeClaimFields() error = %v" , err )
257
+ assert .Equalf (t , tt .want , got , "retainPersistentVolumeClaimFields(%v, %v)" , tt .args .desired , tt .args .observed )
258
+ })
259
+ }
260
+ }
0 commit comments