github.com/esnet/gdg@v0.6.1-0.20240412190737-6b6eba9c14d8/cli/test/version_test.go (about) 1 package test 2 3 import ( 4 "fmt" 5 "github.com/esnet/gdg/cli" 6 "github.com/esnet/gdg/cli/support" 7 "github.com/esnet/gdg/internal/service" 8 "github.com/esnet/gdg/internal/service/mocks" 9 "github.com/esnet/gdg/internal/version" 10 "github.com/stretchr/testify/assert" 11 "os" 12 "strings" 13 "testing" 14 ) 15 16 func TestVersionCommand(t *testing.T) { 17 var execMe = func(mock *mocks.GrafanaService, data []byte, optionMockSvc func() support.RootOption) error { 18 err := cli.Execute(string(data), []string{"version"}, optionMockSvc()) 19 return err 20 } 21 outStr, closeReader := setupAndExecuteMockingServices(t, execMe) 22 defer closeReader() 23 24 assert.True(t, strings.Contains(outStr, "Build Date:")) 25 assert.True(t, strings.Contains(outStr, "Git Commit:")) 26 assert.True(t, strings.Contains(outStr, "Version:")) 27 assert.True(t, strings.Contains(outStr, version.Version)) 28 assert.True(t, strings.Contains(outStr, "Date:")) 29 assert.True(t, strings.Contains(outStr, "Go Version:")) 30 assert.True(t, strings.Contains(outStr, "OS / Arch:")) 31 } 32 33 func TestVersionErrCommand(t *testing.T) { 34 testSvc := new(mocks.GrafanaService) 35 getMockSvc := func() service.GrafanaService { 36 return testSvc 37 } 38 39 optionMockSvc := func() support.RootOption { 40 return func(response *support.RootCommand) { 41 response.GrafanaSvc = getMockSvc 42 } 43 } 44 path, _ := os.Getwd() 45 fmt.Println(path) 46 data, err := os.ReadFile("../../config/testing.yml") 47 assert.Nil(t, err) 48 49 err = cli.Execute(string(data), []string{"dumb", "dumb"}, optionMockSvc()) 50 assert.NotNil(t, err) 51 assert.Equal(t, err.Error(), `command error: unknown command "dumb" for "gdg"`) 52 }