@@ -27,6 +27,27 @@ func assertCmdTree(t *testing.T, cmd *cobra.Command, assertConf map[string]map[s
27
27
assert .Equal (t , expected ["Short" ], cmd .Short )
28
28
assert .Equal (t , expected ["Aliases" ], cmd .Aliases )
29
29
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
+
30
51
for _ , subCmd := range cmd .Commands () {
31
52
assertCmdTree (t , subCmd , assertConf , prefix + "/" + subCmd .Use )
32
53
}
@@ -84,11 +105,24 @@ func TestBootstrapV3(t *testing.T) {
84
105
"Use" : "add-get" ,
85
106
"Short" : "Adds two numbers" ,
86
107
"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
+ },
87
116
},
88
117
"calc/ops/add-post" : {
89
118
"Use" : "add-post" ,
90
119
"Short" : "Adds two numbers via POST" ,
91
120
"Aliases" : []string {"ap" },
121
+ "Flags" : map [string ]any {
122
+ "nmap" : map [string ]string {
123
+ "Type" : "string" ,
124
+ },
125
+ },
92
126
},
93
127
"calc/ping" : {
94
128
"Use" : "ping" ,
0 commit comments