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  }