@@ -279,3 +279,56 @@ var _ = Describe("removeVolumeMount", func() {
279279 Expect (result ).To (BeEmpty ())
280280 })
281281})
282+
283+ var _ = Describe ("ensureVolumeMount" , func () {
284+ It ("adds a new volume mount to an empty list" , func () {
285+ var mounts []corev1.VolumeMount
286+ newMount := corev1.VolumeMount {Name : "mount1" , MountPath : "/path1" }
287+ result := ensureVolumeMount (mounts , newMount )
288+ Expect (result ).To (HaveLen (1 ))
289+ Expect (result [0 ]).To (Equal (newMount ))
290+ })
291+
292+ It ("adds a new volume mount to a non-empty list" , func () {
293+ mounts := []corev1.VolumeMount {{Name : "mount1" , MountPath : "/path1" }}
294+ newMount := corev1.VolumeMount {Name : "mount2" , MountPath : "/path2" }
295+ result := ensureVolumeMount (mounts , newMount )
296+ Expect (result ).To (HaveLen (2 ))
297+ Expect (result [0 ].Name ).To (Equal ("mount1" ))
298+ Expect (result [1 ].Name ).To (Equal ("mount2" ))
299+ })
300+
301+ It ("updates an existing volume mount" , func () {
302+ mounts := []corev1.VolumeMount {{Name : "mount1" , MountPath : "/path1" }}
303+ updatedMount := corev1.VolumeMount {Name : "mount1" , MountPath : "/new-path" }
304+ result := ensureVolumeMount (mounts , updatedMount )
305+ Expect (result ).To (HaveLen (1 ))
306+ Expect (result [0 ].MountPath ).To (Equal ("/new-path" ))
307+ })
308+
309+ It ("adds multiple new volume mounts" , func () {
310+ mounts := []corev1.VolumeMount {{Name : "mount1" , MountPath : "/path1" }}
311+ newMount1 := corev1.VolumeMount {Name : "mount2" , MountPath : "/path2" }
312+ newMount2 := corev1.VolumeMount {Name : "mount3" , MountPath : "/path3" }
313+ result := ensureVolumeMount (mounts , newMount1 , newMount2 )
314+ Expect (result ).To (HaveLen (3 ))
315+ Expect (result [0 ].Name ).To (Equal ("mount1" ))
316+ Expect (result [1 ].Name ).To (Equal ("mount2" ))
317+ Expect (result [2 ].Name ).To (Equal ("mount3" ))
318+ })
319+
320+ It ("handles a mix of new and existing volume mounts" , func () {
321+ mounts := []corev1.VolumeMount {
322+ {Name : "mount1" , MountPath : "/path1" },
323+ {Name : "mount2" , MountPath : "/path2" },
324+ }
325+ updatedMount := corev1.VolumeMount {Name : "mount1" , MountPath : "/new-path" }
326+ newMount := corev1.VolumeMount {Name : "mount3" , MountPath : "/path3" }
327+ result := ensureVolumeMount (mounts , updatedMount , newMount )
328+ Expect (result ).To (HaveLen (3 ))
329+ Expect (result [0 ].Name ).To (Equal ("mount1" ))
330+ Expect (result [0 ].MountPath ).To (Equal ("/new-path" ))
331+ Expect (result [1 ].Name ).To (Equal ("mount2" ))
332+ Expect (result [2 ].Name ).To (Equal ("mount3" ))
333+ })
334+ })
0 commit comments