From 4b9786f3ea8749707795f5df7ca7d8c0ad944e88 Mon Sep 17 00:00:00 2001 From: Andrey Pozolotin Date: Mon, 15 Mar 2021 17:46:51 +0300 Subject: [PATCH] Fixing sca --- cmd/client.go | 10 +---- cmd/root.go | 4 +- cmd/tunnel.go | 15 ++----- internal/pkg/config/manager_test.go | 6 +-- internal/pkg/config/valuesProvider.go | 13 +++--- internal/pkg/config/valuesProvider_test.go | 51 +++++++++++----------- 6 files changed, 43 insertions(+), 56 deletions(-) diff --git a/cmd/client.go b/cmd/client.go index 9030ce3..3bb7618 100644 --- a/cmd/client.go +++ b/cmd/client.go @@ -30,10 +30,7 @@ var clientsListCmd = &cobra.Command{ Short: "list all connected and disconnected rport clients", Args: cobra.ArbitraryArgs, RunE: func(cmd *cobra.Command, args []string) error { - rportAPI, err := buildRport() - if err != nil { - return err - } + rportAPI := buildRport() cr := &output.ClientRenderer{ ColCountCalculator: utils.CalcTerminalColumnsCount, Writer: os.Stdout, @@ -57,10 +54,7 @@ var clientCmd = &cobra.Command{ return fmt.Errorf("client id is not provided") } - rportAPI, err := buildRport() - if err != nil { - return err - } + rportAPI := buildRport() cr := &output.ClientRenderer{ ColCountCalculator: utils.CalcTerminalColumnsCount, diff --git a/cmd/root.go b/cmd/root.go index 9a89966..3039b81 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -79,12 +79,12 @@ func Execute() error { return nil } -func buildRport() (*api.Rport, error) { +func buildRport() *api.Rport { apiAuth := &utils.BasicAuth{ Login: config.Params.ReadString(config.Login, ""), Pass: config.Params.ReadString(config.Password, ""), } rportAPI := api.New(config.Params.ReadString(config.ServerURL, config.DefaultServerURL), apiAuth) - return rportAPI, nil + return rportAPI } diff --git a/cmd/tunnel.go b/cmd/tunnel.go index 92c9590..483c0f6 100644 --- a/cmd/tunnel.go +++ b/cmd/tunnel.go @@ -53,10 +53,7 @@ var tunnelListCmd = &cobra.Command{ Short: "list all active tunnels created with rport", Args: cobra.ArbitraryArgs, RunE: func(cmd *cobra.Command, args []string) error { - rportAPI, err := buildRport() - if err != nil { - return err - } + rportAPI := buildRport() tr := &output.TunnelRenderer{ ColCountCalculator: utils.CalcTerminalColumnsCount, @@ -86,10 +83,7 @@ var tunnelDeleteCmd = &cobra.Command{ return fmt.Errorf("either CLIENT_ID or TUNNEL_ID is not provided") } - rportAPI, err := buildRport() - if err != nil { - return err - } + rportAPI := buildRport() tr := &output.TunnelRenderer{ ColCountCalculator: utils.CalcTerminalColumnsCount, @@ -128,10 +122,7 @@ with ssh url scheme and an IP address 10:1:2:3 allowed to access the tunnel return err } - rportAPI, err := buildRport() - if err != nil { - return err - } + rportAPI := buildRport() tr := &output.TunnelRenderer{ ColCountCalculator: utils.CalcTerminalColumnsCount, diff --git a/internal/pkg/config/manager_test.go b/internal/pkg/config/manager_test.go index 6398a59..08412d9 100644 --- a/internal/pkg/config/manager_test.go +++ b/internal/pkg/config/manager_test.go @@ -94,8 +94,8 @@ func TestLoadConfigFromEnvOrFile(t *testing.T) { envs := map[string]string{ PathForConfigEnvVar: filePath, - PasswordEnvVar: "somepass", - LoginEnvVar: "log1", + PasswordEnvVar: "somepass", + LoginEnvVar: "log1", } for k, v := range envs { @@ -107,7 +107,7 @@ func TestLoadConfigFromEnvOrFile(t *testing.T) { } defer func() { - for k, _ := range envs { + for k := range envs { e := os.Unsetenv(k) if e != nil { logrus.Error(e) diff --git a/internal/pkg/config/valuesProvider.go b/internal/pkg/config/valuesProvider.go index 76d9238..dc35474 100644 --- a/internal/pkg/config/valuesProvider.go +++ b/internal/pkg/config/valuesProvider.go @@ -2,22 +2,23 @@ package config import ( "fmt" + "io" + "os" + options "github.com/breathbath/go_utils/utils/config" "github.com/breathbath/go_utils/utils/fs" "github.com/sirupsen/logrus" - "io" - "os" ) type ValuesProvider struct { - configFilePath string - envValuesProvider options.ValuesProvider + configFilePath string + envValuesProvider options.ValuesProvider fileValuesProvider options.ValuesProvider } func NewValuesProvider(configFilePath string) *ValuesProvider { return &ValuesProvider{ - configFilePath: configFilePath, + configFilePath: configFilePath, envValuesProvider: options.EnvValuesProvider{}, } } @@ -44,7 +45,7 @@ func (cvp *ValuesProvider) Read(name string) (val interface{}, found bool) { return cvp.fileValuesProvider.Read(name) } -func (cvp *ValuesProvider) readFromEnv(name string) (val interface{}, found bool){ +func (cvp *ValuesProvider) readFromEnv(name string) (val interface{}, found bool) { envNameToRead := "" switch name { case Login: diff --git a/internal/pkg/config/valuesProvider_test.go b/internal/pkg/config/valuesProvider_test.go index aa3cc77..85cad84 100644 --- a/internal/pkg/config/valuesProvider_test.go +++ b/internal/pkg/config/valuesProvider_test.go @@ -1,11 +1,12 @@ package config import ( - "github.com/sirupsen/logrus" - "github.com/stretchr/testify/assert" "io/ioutil" "os" "testing" + + "github.com/sirupsen/logrus" + "github.com/stretchr/testify/assert" ) func TestLoadFromEnv(t *testing.T) { @@ -39,34 +40,34 @@ func TestLoadFromEnv(t *testing.T) { assert.Equal(t, "somePass", val) assert.True(t, found) - val, found = vp.Read(ServerURL) - assert.Equal(t, "10.9.8.7", val) - assert.True(t, found) + val2, found2 := vp.Read(ServerURL) + assert.Equal(t, "10.9.8.7", val2) + assert.True(t, found2) - val, found = vp.Read("unknownVal") - assert.False(t, found) + _, found3 := vp.Read("unknownVal") + assert.False(t, found3) } func TestLoadFromEnvAndFile(t *testing.T) { fileName := "testingFile.json" fileData := []byte(`{"login":"root","password":"root","server_url":"https://10.10.10.10:3000"}`) - err := ioutil.WriteFile(fileName, fileData, 0644) + err := ioutil.WriteFile(fileName, fileData, 0600) assert.NoError(t, err) if err != nil { return } defer func() { - err := os.Remove(fileName) - if err != nil { - logrus.Error(err) + e := os.Remove(fileName) + if e != nil { + logrus.Error(e) } }() vp := NewValuesProvider(fileName) err = changeEnvs(map[string]string{ - LoginEnvVar: "admin", - PasswordEnvVar: "somePass", + LoginEnvVar: "admin", + PasswordEnvVar: "somePass", }, true) assert.NoError(t, err) @@ -76,8 +77,8 @@ func TestLoadFromEnvAndFile(t *testing.T) { defer func() { err = changeEnvs(map[string]string{ - LoginEnvVar: "admin", - PasswordEnvVar: "somePass", + LoginEnvVar: "admin", + PasswordEnvVar: "somePass", }, false) if err != nil { logrus.Error(err) @@ -88,22 +89,22 @@ func TestLoadFromEnvAndFile(t *testing.T) { assert.Equal(t, "admin", val) assert.True(t, found) - val, found = vp.Read(Password) - assert.Equal(t, "somePass", val) - assert.True(t, found) + val1, found1 := vp.Read(Password) + assert.Equal(t, "somePass", val1) + assert.True(t, found1) - val, found = vp.Read(ServerURL) - assert.Equal(t, "https://10.10.10.10:3000", val) - assert.True(t, found) + val2, found2 := vp.Read(ServerURL) + assert.Equal(t, "https://10.10.10.10:3000", val2) + assert.True(t, found2) - val, found = vp.Read("unknownVal") - assert.False(t, found) + _, found3 := vp.Read("unknownVal") + assert.False(t, found3) } func TestLoadFromBrokenFile(t *testing.T) { fileName := "testingFile2.json" fileData := []byte(`dlfasdj`) - err := ioutil.WriteFile(fileName, fileData, 0644) + err := ioutil.WriteFile(fileName, fileData, 0600) assert.NoError(t, err) if err != nil { return @@ -125,7 +126,7 @@ func changeEnvs(vals map[string]string, isCreate bool) error { var err error for k, v := range vals { if isCreate { - err = os.Setenv(k,v) + err = os.Setenv(k, v) } else { err = os.Unsetenv(k) }