Skip to content

Commit

Permalink
Fixing sca
Browse files Browse the repository at this point in the history
  • Loading branch information
breathbath committed Mar 15, 2021
1 parent a9081b7 commit 4b9786f
Show file tree
Hide file tree
Showing 6 changed files with 43 additions and 56 deletions.
10 changes: 2 additions & 8 deletions cmd/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -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,
Expand Down
4 changes: 2 additions & 2 deletions cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
15 changes: 3 additions & 12 deletions cmd/tunnel.go
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -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,
Expand Down
6 changes: 3 additions & 3 deletions internal/pkg/config/manager_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand All @@ -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)
Expand Down
13 changes: 7 additions & 6 deletions internal/pkg/config/valuesProvider.go
Original file line number Diff line number Diff line change
Expand Up @@ -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{},
}
}
Expand All @@ -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:
Expand Down
51 changes: 26 additions & 25 deletions internal/pkg/config/valuesProvider_test.go
Original file line number Diff line number Diff line change
@@ -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) {
Expand Down Expand Up @@ -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)
Expand All @@ -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)
Expand All @@ -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
Expand All @@ -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)
}
Expand Down

0 comments on commit 4b9786f

Please sign in to comment.