@@ -599,6 +599,84 @@ func TestApplyContainerEdits(t *testing.T) {
599
599
},
600
600
result : & oci.Spec {},
601
601
},
602
+ {
603
+ name : "apply mount edits do not change the order of original mounts" ,
604
+ spec : & oci.Spec {
605
+ Mounts : []oci.Mount {
606
+ {
607
+ Source : "/some/host/path1" ,
608
+ Destination : "/dest/path/b" ,
609
+ },
610
+ {
611
+ Source : "/some/host/path2" ,
612
+ Destination : "/dest/path/a" ,
613
+ },
614
+ },
615
+ },
616
+ edits : & cdi.ContainerEdits {
617
+ Mounts : []* cdi.Mount {
618
+ {
619
+ HostPath : "/some/host/path3" ,
620
+ ContainerPath : "/dest/edit" ,
621
+ },
622
+ },
623
+ },
624
+ result : & oci.Spec {
625
+ Mounts : []oci.Mount {
626
+ {
627
+ Source : "/some/host/path3" ,
628
+ Destination : "/dest/edit" ,
629
+ },
630
+ {
631
+ Source : "/some/host/path1" ,
632
+ Destination : "/dest/path/b" ,
633
+ },
634
+ {
635
+ Source : "/some/host/path2" ,
636
+ Destination : "/dest/path/a" ,
637
+ },
638
+ },
639
+ },
640
+ },
641
+ {
642
+ name : "mount added by edit comes after existing ones of same number of path parts" ,
643
+ spec : & oci.Spec {
644
+ Mounts : []oci.Mount {
645
+ {
646
+ Source : "/some/host/path1" ,
647
+ Destination : "/dest/path/c" ,
648
+ },
649
+ {
650
+ Source : "/some/host/path2" ,
651
+ Destination : "/dest/path/b" ,
652
+ },
653
+ },
654
+ },
655
+ edits : & cdi.ContainerEdits {
656
+ Mounts : []* cdi.Mount {
657
+ {
658
+ HostPath : "/some/host/path3" ,
659
+ ContainerPath : "/dest/path/a" ,
660
+ },
661
+ },
662
+ },
663
+ result : & oci.Spec {
664
+ Mounts : []oci.Mount {
665
+ {
666
+ Source : "/some/host/path1" ,
667
+ Destination : "/dest/path/c" ,
668
+ },
669
+ {
670
+ Source : "/some/host/path2" ,
671
+ Destination : "/dest/path/b" ,
672
+ },
673
+ {
674
+ Source : "/some/host/path3" ,
675
+ Destination : "/dest/path/a" ,
676
+ },
677
+ },
678
+ },
679
+ },
602
680
} {
603
681
t .Run (tc .name , func (t * testing.T ) {
604
682
edits := ContainerEdits {tc .edits }
0 commit comments