Skip to content

Commit c4d50bb

Browse files
committed
[test] Test supported params
1 parent 0c282ce commit c4d50bb

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

lib_test.go

+34
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,27 @@ func assertCmdTree(t *testing.T, cmd *cobra.Command, assertConf map[string]map[s
2727
assert.Equal(t, expected["Short"], cmd.Short)
2828
assert.Equal(t, expected["Aliases"], cmd.Aliases)
2929

30+
expectedFlags, ok := expected["Flags"]
31+
if ok {
32+
for name, info := range expectedFlags.(map[string]any) {
33+
typ := OpenAPIType(info.(map[string]string)["Type"])
34+
var err error
35+
36+
switch typ {
37+
case String:
38+
_, err = cmd.Flags().GetString(name)
39+
case Integer:
40+
_, err = cmd.Flags().GetInt(name)
41+
case Number:
42+
_, err = cmd.Flags().GetFloat64(name)
43+
case Boolean:
44+
_, err = cmd.Flags().GetBool(name)
45+
}
46+
47+
assert.NoError(t, err, fmt.Sprintf("Flag: %s Type: %s", name, typ))
48+
}
49+
}
50+
3051
for _, subCmd := range cmd.Commands() {
3152
assertCmdTree(t, subCmd, assertConf, prefix+"/"+subCmd.Use)
3253
}
@@ -84,11 +105,24 @@ func TestBootstrapV3(t *testing.T) {
84105
"Use": "add-get",
85106
"Short": "Adds two numbers",
86107
"Aliases": []string{"ag"},
108+
"Flags": map[string]any{
109+
"n1": map[string]string{
110+
"Type": "integer",
111+
},
112+
"n2": map[string]string{
113+
"Type": "integer",
114+
},
115+
},
87116
},
88117
"calc/ops/add-post": {
89118
"Use": "add-post",
90119
"Short": "Adds two numbers via POST",
91120
"Aliases": []string{"ap"},
121+
"Flags": map[string]any{
122+
"nmap": map[string]string{
123+
"Type": "string",
124+
},
125+
},
92126
},
93127
"calc/ping": {
94128
"Use": "ping",

0 commit comments

Comments
 (0)