github.com/joselitofilho/goreleaser@v0.155.1-0.20210123221854-e4891856c593/cmd/init_test.go (about) 1 package cmd 2 3 import ( 4 "os" 5 "path/filepath" 6 "testing" 7 8 "github.com/stretchr/testify/require" 9 ) 10 11 func TestInit(t *testing.T) { 12 var folder = t.TempDir() 13 var cmd = newInitCmd().cmd 14 var path = filepath.Join(folder, "foo.yaml") 15 cmd.SetArgs([]string{"-f", path}) 16 require.NoError(t, cmd.Execute()) 17 require.FileExists(t, path) 18 } 19 20 func TestInitFileExists(t *testing.T) { 21 var folder = t.TempDir() 22 var cmd = newInitCmd().cmd 23 var path = filepath.Join(folder, "twice.yaml") 24 cmd.SetArgs([]string{"-f", path}) 25 require.NoError(t, cmd.Execute()) 26 require.EqualError(t, cmd.Execute(), "open "+path+": file exists") 27 require.FileExists(t, path) 28 } 29 30 func TestInitFileError(t *testing.T) { 31 var folder = t.TempDir() 32 var cmd = newInitCmd().cmd 33 var path = filepath.Join(folder, "nope.yaml") 34 require.NoError(t, os.Chmod(folder, 0000)) 35 cmd.SetArgs([]string{"-f", path}) 36 require.EqualError(t, cmd.Execute(), "open "+path+": permission denied") 37 }