@@ -536,6 +536,57 @@ func TestFileOwner(t *testing.T) {
536536 require .Nil (t , mkdir .Owner .Group )
537537}
538538
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+
539590func TestFileCopyOwner (t * testing.T ) {
540591 t .Parallel ()
541592
0 commit comments