github.com/itscaro/cli@v0.0.0-20190705081621-c9db0fe93829/opts/secret_test.go (about) 1 package opts 2 3 import ( 4 "os" 5 "testing" 6 7 "gotest.tools/assert" 8 is "gotest.tools/assert/cmp" 9 ) 10 11 func TestSecretOptionsSimple(t *testing.T) { 12 var opt SecretOpt 13 14 testCase := "app-secret" 15 assert.NilError(t, opt.Set(testCase)) 16 17 reqs := opt.Value() 18 assert.Assert(t, is.Len(reqs, 1)) 19 req := reqs[0] 20 assert.Check(t, is.Equal("app-secret", req.SecretName)) 21 assert.Check(t, is.Equal("app-secret", req.File.Name)) 22 assert.Check(t, is.Equal("0", req.File.UID)) 23 assert.Check(t, is.Equal("0", req.File.GID)) 24 } 25 26 func TestSecretOptionsSourceTarget(t *testing.T) { 27 var opt SecretOpt 28 29 testCase := "source=foo,target=testing" 30 assert.NilError(t, opt.Set(testCase)) 31 32 reqs := opt.Value() 33 assert.Assert(t, is.Len(reqs, 1)) 34 req := reqs[0] 35 assert.Check(t, is.Equal("foo", req.SecretName)) 36 assert.Check(t, is.Equal("testing", req.File.Name)) 37 } 38 39 func TestSecretOptionsShorthand(t *testing.T) { 40 var opt SecretOpt 41 42 testCase := "src=foo,target=testing" 43 assert.NilError(t, opt.Set(testCase)) 44 45 reqs := opt.Value() 46 assert.Assert(t, is.Len(reqs, 1)) 47 req := reqs[0] 48 assert.Check(t, is.Equal("foo", req.SecretName)) 49 } 50 51 func TestSecretOptionsCustomUidGid(t *testing.T) { 52 var opt SecretOpt 53 54 testCase := "source=foo,target=testing,uid=1000,gid=1001" 55 assert.NilError(t, opt.Set(testCase)) 56 57 reqs := opt.Value() 58 assert.Assert(t, is.Len(reqs, 1)) 59 req := reqs[0] 60 assert.Check(t, is.Equal("foo", req.SecretName)) 61 assert.Check(t, is.Equal("testing", req.File.Name)) 62 assert.Check(t, is.Equal("1000", req.File.UID)) 63 assert.Check(t, is.Equal("1001", req.File.GID)) 64 } 65 66 func TestSecretOptionsCustomMode(t *testing.T) { 67 var opt SecretOpt 68 69 testCase := "source=foo,target=testing,uid=1000,gid=1001,mode=0444" 70 assert.NilError(t, opt.Set(testCase)) 71 72 reqs := opt.Value() 73 assert.Assert(t, is.Len(reqs, 1)) 74 req := reqs[0] 75 assert.Check(t, is.Equal("foo", req.SecretName)) 76 assert.Check(t, is.Equal("testing", req.File.Name)) 77 assert.Check(t, is.Equal("1000", req.File.UID)) 78 assert.Check(t, is.Equal("1001", req.File.GID)) 79 assert.Check(t, is.Equal(os.FileMode(0444), req.File.Mode)) 80 }