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  }