@@ -536,6 +536,57 @@ func TestFileOwner(t *testing.T) {
536
536
require .Nil (t , mkdir .Owner .Group )
537
537
}
538
538
539
+ func TestFileOwnerRoot (t * testing.T ) {
540
+ t .Parallel ()
541
+
542
+ st := Image ("foo" ).File (Mkdir ("bar/baz" , 0701 , WithUser ("root:root" )))
543
+ def , err := st .Marshal (context .TODO ())
544
+
545
+ require .NoError (t , err )
546
+
547
+ _ , arr := parseDef (t , def .Def )
548
+
549
+ action := arr [1 ].Op .(* pb.Op_File ).File .Actions [0 ]
550
+ mkdir := action .Action .(* pb.FileAction_Mkdir ).Mkdir
551
+
552
+ require .Equal (t , 0 , int (mkdir .Owner .User .User .(* pb.UserOpt_ByID ).ByID ))
553
+ require .Equal (t , 0 , int (mkdir .Owner .Group .User .(* pb.UserOpt_ByID ).ByID ))
554
+ }
555
+
556
+ func TestFileOwnerWithGroup (t * testing.T ) {
557
+ t .Parallel ()
558
+
559
+ st := Image ("foo" ).File (Mkdir ("bar/baz" , 0701 , WithUser ("foo:bar" )))
560
+ def , err := st .Marshal (context .TODO ())
561
+
562
+ require .NoError (t , err )
563
+
564
+ _ , arr := parseDef (t , def .Def )
565
+
566
+ action := arr [1 ].Op .(* pb.Op_File ).File .Actions [0 ]
567
+ mkdir := action .Action .(* pb.FileAction_Mkdir ).Mkdir
568
+
569
+ require .Equal (t , "foo" , mkdir .Owner .User .User .(* pb.UserOpt_ByName ).ByName .Name )
570
+ require .Equal (t , "bar" , mkdir .Owner .Group .User .(* pb.UserOpt_ByName ).ByName .Name )
571
+ }
572
+
573
+ func TestFileOwnerWithUIDAndGID (t * testing.T ) {
574
+ t .Parallel ()
575
+
576
+ st := Image ("foo" ).File (Mkdir ("bar/baz" , 0701 , WithUser ("1000:1001" )))
577
+ def , err := st .Marshal (context .TODO ())
578
+
579
+ require .NoError (t , err )
580
+
581
+ _ , arr := parseDef (t , def .Def )
582
+
583
+ action := arr [1 ].Op .(* pb.Op_File ).File .Actions [0 ]
584
+ mkdir := action .Action .(* pb.FileAction_Mkdir ).Mkdir
585
+
586
+ require .Equal (t , 1000 , int (mkdir .Owner .User .User .(* pb.UserOpt_ByID ).ByID ))
587
+ require .Equal (t , 1001 , int (mkdir .Owner .Group .User .(* pb.UserOpt_ByID ).ByID ))
588
+ }
589
+
539
590
func TestFileCopyOwner (t * testing.T ) {
540
591
t .Parallel ()
541
592
0 commit comments