MCPcopy Create free account
hub / github.com/ProspectOne/perfops-cli / TestInvalidArgHelp

Function TestInvalidArgHelp

cmd/root_test.go:180–207  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

178}
179
180func TestInvalidArgHelp(t *testing.T) {
181 var fo string
182 var fr string
183 var fl string
184 var b bytes.Buffer
185 cmd := &cobra.Command{}
186 cmd.Flags().StringVarP(&fo, "flag", "F", "", "A flag")
187 cmd.Flags().StringVarP(&fr, "req", "R", "", "A second flag")
188 cmd.Flags().StringVarP(&fl, "limit", "L", "", "Limit")
189 cmd.MarkFlagRequired("req")
190 cmd.SetHelpFunc(invalidArgHelp("flag"))
191 cmd.SetOutput(&b)
192 if err := cmd.Execute(); err != nil {
193 t.Fatalf("exepected nil; got %v", err)
194 }
195 if got, exp := b.String(), "Missing or invalid arguments:\n -F, --flag string\n -R, --req string\n"; got != exp {
196 t.Fatalf("expected %q; got %q", exp, got)
197 }
198
199 b.Reset()
200 cmd.SetHelpFunc(invalidArgHelp("limit"))
201 if err := cmd.Execute(); err != nil {
202 t.Fatalf("exepected nil; got %v", err)
203 }
204 if got, exp := b.String(), "For free users the maximum allowed number nodes for a single test is 20. Please change your limit.\n"; got != exp {
205 t.Fatalf("expected %q; got %q", exp, got)
206 }
207}
208
209func cmpError(a, b error) bool {
210 return a == b || (a != nil && b != nil && a.Error() == b.Error())

Callers

nothing calls this directly

Calls 2

invalidArgHelpFunction · 0.85
SetOutputMethod · 0.80

Tested by

no test coverage detected