Skip to content

Commit e83ffcf

Browse files
author
Chris Gilmer
committed
Rename test file for setup subcommand
1 parent 08a0f72 commit e83ffcf

File tree

2 files changed

+84
-85
lines changed

2 files changed

+84
-85
lines changed

cmd/main_test.go

Lines changed: 0 additions & 85 deletions
This file was deleted.

cmd/setup_test.go

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package main
22

33
import (
4+
<<<<<<< HEAD
45
"io/ioutil"
56
"log"
67
"os"
@@ -85,4 +86,87 @@ func TestGetPartition(t *testing.T) {
8586

8687
_, err = getPartition("aws-under-the-sea")
8788
assert.Error(t, err)
89+
=======
90+
"fmt"
91+
"io/ioutil"
92+
"log"
93+
"os"
94+
"strings"
95+
"testing"
96+
97+
"github.com/spf13/pflag"
98+
"github.com/spf13/viper"
99+
"github.com/stretchr/testify/suite"
100+
)
101+
102+
type commandTestSuite struct {
103+
suite.Suite
104+
viper *viper.Viper
105+
logger *log.Logger
106+
}
107+
108+
type initFlags func(f *pflag.FlagSet)
109+
110+
func (suite *commandTestSuite) Setup(fn initFlags, flagSet []string) {
111+
// Disable any logging that isn't attached to the logger unless using the verbose flag
112+
log.SetOutput(ioutil.Discard)
113+
log.SetFlags(0)
114+
115+
// Setup logger
116+
var logger = log.New(os.Stdout, "", log.LstdFlags)
117+
118+
// Remove the flags for the logger
119+
logger.SetFlags(0)
120+
suite.SetLogger(logger)
121+
122+
// Setup viper
123+
suite.viper = nil
124+
125+
flag := pflag.NewFlagSet(os.Args[0], pflag.ExitOnError)
126+
fn(flag)
127+
errFlagParse := flag.Parse(flagSet)
128+
if errFlagParse != nil {
129+
suite.logger.Fatal(errFlagParse)
130+
}
131+
132+
v := viper.New()
133+
err := v.BindPFlags(flag)
134+
if err != nil {
135+
suite.logger.Fatal(fmt.Errorf("could not bind flags: %w", err))
136+
}
137+
v.SetEnvKeyReplacer(strings.NewReplacer("-", "_"))
138+
v.AutomaticEnv()
139+
140+
suite.SetViper(v)
141+
}
142+
143+
func (suite *commandTestSuite) SetViper(v *viper.Viper) {
144+
suite.viper = v
145+
}
146+
147+
func (suite *commandTestSuite) SetLogger(logger *log.Logger) {
148+
suite.logger = logger
149+
}
150+
151+
func TestCommandSuite(t *testing.T) {
152+
suite.Run(t, &commandTestSuite{})
153+
}
154+
155+
func (suite *commandTestSuite) TestAddProfileFlags() {
156+
suite.Setup(AddProfileInitFlags, []string{
157+
"--aws-profile-account", "test-new:012345678901",
158+
"--iam-user", "me",
159+
"--iam-role", "engineer",
160+
})
161+
suite.NoError(AddProfileCheckConfig(suite.viper))
162+
}
163+
164+
func (suite *commandTestSuite) TestSetupFlags() {
165+
suite.Setup(SetupUserInitFlags, []string{
166+
"--aws-profile-account", "test-id:012345678901",
167+
"--iam-user", "me",
168+
"--iam-role", "engineer",
169+
})
170+
suite.NoError(SetupUserCheckConfig(suite.viper))
171+
>>>>>>> 887956c... Rename test file for setup subcommand
88172
}

0 commit comments

Comments
 (0)