From c4d50bbbd32bae6850534a3336d92c6b64647e59 Mon Sep 17 00:00:00 2001 From: Rahul De Date: Sun, 15 Dec 2024 20:26:58 +0000 Subject: [PATCH] [test] Test supported params --- lib_test.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/lib_test.go b/lib_test.go index 6cf70fc..0962f14 100644 --- a/lib_test.go +++ b/lib_test.go @@ -27,6 +27,27 @@ func assertCmdTree(t *testing.T, cmd *cobra.Command, assertConf map[string]map[s assert.Equal(t, expected["Short"], cmd.Short) assert.Equal(t, expected["Aliases"], cmd.Aliases) + expectedFlags, ok := expected["Flags"] + if ok { + for name, info := range expectedFlags.(map[string]any) { + typ := OpenAPIType(info.(map[string]string)["Type"]) + var err error + + switch typ { + case String: + _, err = cmd.Flags().GetString(name) + case Integer: + _, err = cmd.Flags().GetInt(name) + case Number: + _, err = cmd.Flags().GetFloat64(name) + case Boolean: + _, err = cmd.Flags().GetBool(name) + } + + assert.NoError(t, err, fmt.Sprintf("Flag: %s Type: %s", name, typ)) + } + } + for _, subCmd := range cmd.Commands() { assertCmdTree(t, subCmd, assertConf, prefix+"/"+subCmd.Use) } @@ -84,11 +105,24 @@ func TestBootstrapV3(t *testing.T) { "Use": "add-get", "Short": "Adds two numbers", "Aliases": []string{"ag"}, + "Flags": map[string]any{ + "n1": map[string]string{ + "Type": "integer", + }, + "n2": map[string]string{ + "Type": "integer", + }, + }, }, "calc/ops/add-post": { "Use": "add-post", "Short": "Adds two numbers via POST", "Aliases": []string{"ap"}, + "Flags": map[string]any{ + "nmap": map[string]string{ + "Type": "string", + }, + }, }, "calc/ping": { "Use": "ping",