github.com/esnet/gdg@v0.6.1-0.20240412190737-6b6eba9c14d8/cli/test/devel_test.go (about) 1 package test 2 3 import ( 4 "github.com/esnet/gdg/cli" 5 "github.com/esnet/gdg/cli/support" 6 "github.com/esnet/gdg/internal/service/mocks" 7 "github.com/stretchr/testify/assert" 8 "strings" 9 "testing" 10 ) 11 12 func TestDevelSrvInfo(t *testing.T) { 13 var execMe = func(mock *mocks.GrafanaService, data []byte, optionMockSvc func() support.RootOption) error { 14 expected := make(map[string]interface{}) 15 expected["Database"] = "db" 16 expected["Commit"] = "commit" 17 expected["Version"] = "version" 18 19 mock.EXPECT().GetServerInfo().Return(expected) 20 err := cli.Execute(string(data), []string{"tools", "devel", "srvinfo"}, optionMockSvc()) 21 return err 22 } 23 outStr, closeReader := setupAndExecuteMockingServices(t, execMe) 24 defer closeReader() 25 26 assert.True(t, strings.Contains(outStr, "Version=")) 27 assert.True(t, strings.Contains(outStr, "Database=")) 28 assert.True(t, strings.Contains(outStr, "Commit=")) 29 } 30 31 func TestDevelSrvCompletion(t *testing.T) { 32 fn := func(args []string) func(mock *mocks.GrafanaService, data []byte, optionMockSvc func() support.RootOption) error { 33 return func(mock *mocks.GrafanaService, data []byte, optionMockSvc func() support.RootOption) error { 34 err := cli.Execute(string(data), args, optionMockSvc()) 35 return err 36 } 37 } 38 39 outStr, closeReader := setupAndExecuteMockingServices(t, fn([]string{"tools", "devel", "completion", "fish"})) 40 assert.True(t, strings.Contains(outStr, "fish")) 41 assert.True(t, strings.Contains(outStr, "__completion_prepare_completions")) 42 closeReader() 43 outStr, closeReader = setupAndExecuteMockingServices(t, fn([]string{"tools", "devel", "completion", "bash"})) 44 assert.True(t, strings.Contains(outStr, "bash")) 45 assert.True(t, strings.Contains(outStr, "flag_parsing_disabled")) 46 closeReader() 47 outStr, closeReader = setupAndExecuteMockingServices(t, fn([]string{"tools", "devel", "completion", "zsh"})) 48 assert.True(t, strings.Contains(outStr, "shellCompDirectiveKeepOrder")) 49 closeReader() 50 }