github.com/jfrog/jfrog-cli-go@v1.22.1-0.20200318093948-4826ef344ffd/completion/shells/generate_scripts_test.go (about) 1 package main 2 3 import ( 4 "github.com/jfrog/jfrog-cli-go/completion/shells/bash" 5 "github.com/jfrog/jfrog-cli-go/completion/shells/zsh" 6 "github.com/stretchr/testify/assert" 7 "io/ioutil" 8 "os" 9 "os/exec" 10 "path/filepath" 11 "testing" 12 ) 13 14 func TestGenerateScripts(t *testing.T) { 15 bashPath := filepath.Join("bash", "jfrog") 16 zshPath := filepath.Join("zsh", "jfrog") 17 18 // Make sure test environment is clean before and after test 19 os.Remove(bashPath) 20 os.Remove(zshPath) 21 defer os.Remove(bashPath) 22 defer os.Remove(zshPath) 23 24 // Run go generate ./... 25 cmd := exec.Command("go", "generate", "./...") 26 err := cmd.Run() 27 assert.NoError(t, err) 28 29 // Check bash completion script 30 bashFile, err := os.Open(bashPath) 31 defer bashFile.Close() 32 assert.NoError(t, err) 33 b, err := ioutil.ReadAll(bashFile) 34 assert.Equal(t, bash.BashAutocomplete, string(b)) 35 36 // Check zsh completion script 37 zshFile, err := os.Open(zshPath) 38 defer zshFile.Close() 39 assert.NoError(t, err) 40 b, err = ioutil.ReadAll(zshFile) 41 assert.Equal(t, zsh.ZshAutocomplete, string(b)) 42 }