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  }