github.com/winebarrel/terraform-provider-lambdazip@v0.6.1-0.20240313233639-361839f8c5c5/internal/cmd/run_test.go (about) 1 package cmd_test 2 3 import ( 4 "os" 5 "testing" 6 7 "github.com/stretchr/testify/assert" 8 "github.com/stretchr/testify/require" 9 "github.com/winebarrel/terraform-provider-lambdazip/internal/cmd" 10 ) 11 12 func TestRun_OK(t *testing.T) { 13 assert := assert.New(t) 14 require := require.New(t) 15 16 cwd, _ := os.Getwd() 17 os.Chdir(t.TempDir()) 18 defer os.Chdir(cwd) 19 20 os.WriteFile("hello.rb", []byte("puts 'world'"), 0755) 21 os.WriteFile("world.rb", []byte("puts 'hello'"), 0755) 22 23 out, err := cmd.Run("ls ./") 24 require.NoError(err) 25 assert.Equal(`hello.rb 26 world.rb 27 `, out) 28 } 29 30 func TestRun_Err(t *testing.T) { 31 assert := assert.New(t) 32 require := require.New(t) 33 34 cwd, _ := os.Getwd() 35 os.Chdir(t.TempDir()) 36 defer os.Chdir(cwd) 37 38 os.WriteFile("hello.rb", []byte("puts 'world'"), 0755) 39 os.WriteFile("world.rb", []byte("puts 'hello'"), 0755) 40 41 out, err := cmd.Run("ls /not/exist") 42 require.Error(err) 43 assert.NotEmpty(out) 44 } 45 46 func TestRun_WithEnv(t *testing.T) { 47 assert := assert.New(t) 48 require := require.New(t) 49 50 cwd, _ := os.Getwd() 51 os.Chdir(t.TempDir()) 52 defer os.Chdir(cwd) 53 54 out, err := cmd.Run("FOO=bar ZOO=baz sh -c 'echo $FOO $ZOO'") 55 require.NoError(err) 56 assert.Equal("bar baz\n", out) 57 }