github.com/hanks177/podman/v4@v4.1.3-0.20220613032544-16d90015bc83/pkg/specgenutil/volumes_test.go (about) 1 package specgenutil 2 3 import "testing" 4 5 func Test_validChownFlag(t *testing.T) { 6 type args struct { 7 flag string 8 } 9 tests := []struct { 10 name string 11 args args 12 want bool 13 wantErr bool 14 }{ 15 { 16 name: "U true", 17 args: args{ 18 flag: "U=true", 19 }, 20 want: true, 21 wantErr: false, 22 }, 23 { 24 name: "U true case doesnt matter", 25 args: args{ 26 flag: "u=True", 27 }, 28 want: true, 29 wantErr: false, 30 }, 31 { 32 name: "U is false", 33 args: args{ 34 flag: "U=false", 35 }, 36 want: false, 37 wantErr: false, 38 }, 39 { 40 name: "chown should also work", 41 args: args{ 42 flag: "chown=true", 43 }, 44 want: true, 45 wantErr: false, 46 }, 47 { 48 name: "garbage value should fail", 49 args: args{ 50 flag: "U=foobar", 51 }, 52 want: false, 53 wantErr: true, 54 }, 55 } 56 for _, tt := range tests { 57 t.Run(tt.name, func(t *testing.T) { 58 got, err := validChownFlag(tt.args.flag) 59 if (err != nil) != tt.wantErr { 60 t.Errorf("validChownFlag() error = %v, wantErr %v", err, tt.wantErr) 61 return 62 } 63 if got != tt.want { 64 t.Errorf("validChownFlag() got = %v, want %v", got, tt.want) 65 } 66 }) 67 } 68 }