@@ -10,6 +10,7 @@ import (
1010
1111 "github.com/sensu/sensu-go/types"
1212 "github.com/spf13/pflag"
13+ "github.com/spf13/viper"
1314 "github.com/stretchr/testify/assert"
1415 "github.com/stretchr/testify/require"
1516)
@@ -38,8 +39,10 @@ func TestSaveAPIUrl(t *testing.T) {
3839 // Set flags
3940 flags := pflag .NewFlagSet ("config-dir" , pflag .ContinueOnError )
4041 flags .String ("config-dir" , dir , "" )
42+ v := viper .New ()
43+ _ = v .BindPFlags (flags )
4144
42- config := Load (flags )
45+ config := Load (flags , v )
4346
4447 url := "http://127.0.0.1:8080"
4548 require .NoError (t , config .SaveAPIUrl (url ))
@@ -53,8 +56,10 @@ func TestSaveFormat(t *testing.T) {
5356 // Set flags
5457 flags := pflag .NewFlagSet ("config-dir" , pflag .ContinueOnError )
5558 flags .String ("config-dir" , dir , "" )
59+ v := viper .New ()
60+ _ = v .BindPFlags (flags )
5661
57- config := Load (flags )
62+ config := Load (flags , v )
5863
5964 format := "json"
6065 require .NoError (t , config .SaveFormat (format ))
@@ -68,8 +73,10 @@ func TestSaveNamespace(t *testing.T) {
6873 // Set flags
6974 flags := pflag .NewFlagSet ("config-dir" , pflag .ContinueOnError )
7075 flags .String ("config-dir" , dir , "" )
76+ v := viper .New ()
77+ _ = v .BindPFlags (flags )
7178
72- config := Load (flags )
79+ config := Load (flags , v )
7380
7481 namespace := "json"
7582 require .NoError (t , config .SaveNamespace (namespace ))
@@ -83,8 +90,10 @@ func TestSaveTimeout(t *testing.T) {
8390 // Set flags
8491 flags := pflag .NewFlagSet ("config-dir" , pflag .ContinueOnError )
8592 flags .String ("config-dir" , dir , "" )
93+ v := viper .New ()
94+ _ = v .BindPFlags (flags )
8695
87- config := Load (flags )
96+ config := Load (flags , v )
8897
8998 timeout := 30 * time .Second
9099 require .NoError (t , config .SaveTimeout (timeout ))
@@ -98,8 +107,10 @@ func TestSaveTokens(t *testing.T) {
98107 // Set flags
99108 flags := pflag .NewFlagSet ("config-dir" , pflag .ContinueOnError )
100109 flags .String ("config-dir" , dir , "" )
110+ v := viper .New ()
111+ _ = v .BindPFlags (flags )
101112
102- config := Load (flags )
113+ config := Load (flags , v )
103114
104115 tokens := & types.Tokens {Access : "foo" }
105116 _ = config .SaveTokens (tokens )
@@ -114,25 +125,29 @@ func TestSaveTokensWithAPIUrlFlag(t *testing.T) {
114125 // Set flags
115126 flags := pflag .NewFlagSet ("api-url" , pflag .ContinueOnError )
116127 flags .String ("api-url" , "setFromFlag" , "" )
128+ v := viper .New ()
129+ _ = v .BindPFlags (flags )
117130
118131 dirFlag := pflag .NewFlagSet ("config-dir" , pflag .ContinueOnError )
119132 dirFlag .String ("config-dir" , dir , "" )
120133 flags .AddFlagSet (dirFlag )
134+ dirViper := viper .New ()
135+ _ = dirViper .BindPFlags (dirFlag )
121136
122137 // Create a dummy cluster file
123138 cluster := & Cluster {APIUrl : "setFromFile" }
124139 clusterBytes , _ := json .Marshal (cluster )
125140 clusterPath := filepath .Join (dir , clusterFilename )
126141 require .NoError (t , ioutil .WriteFile (clusterPath , clusterBytes , 0644 ))
127142
128- config := Load (flags )
143+ config := Load (flags , v )
129144
130145 tokens := & types.Tokens {Access : "foo" }
131146 require .NoError (t , config .SaveTokens (tokens ))
132147 assert .Equal (t , tokens , config .Tokens ())
133148
134- // Make sure we didn't override the orginal API URL
135- configFile := Load (dirFlag )
149+ // Make sure we didn't override the original API URL
150+ configFile := Load (flags , dirViper )
136151 assert .Equal (t , "setFromFile" , configFile .APIUrl ())
137152}
138153
@@ -143,14 +158,16 @@ func TestWrite(t *testing.T) {
143158 // Set flags
144159 flags := pflag .NewFlagSet ("config-dir" , pflag .ContinueOnError )
145160 flags .String ("config-dir" , dir , "" )
161+ v := viper .New ()
162+ _ = v .BindPFlags (flags )
146163
147- config := Load (flags )
164+ config := Load (flags , v )
148165
149166 url := "http://127.0.0.1:8080"
150167 require .NoError (t , config .SaveAPIUrl (url ))
151168 assert .Equal (t , url , config .APIUrl ())
152169
153170 // Reload the config files to make sure the changes were saved
154- config2 := Load (flags )
171+ config2 := Load (flags , v )
155172 assert .Equal (t , config .APIUrl (), config2 .APIUrl ())
156173}
0 commit comments