package test import ( _ "embed" "github.com/pkg/errors" "sort" "testing" ) const ( baseUrl = "https://localhost:32337" token = `eyJhbGciOiJSUzI1NiIsImtpZCI6ImFOek1kOTJRUVZWSl9lVTNIRTRVVHNsWjl3YTg5VEp4XzNrQ0QxcU9xY0UifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6ImFyZ28tYXBpLnNlcnZpY2UtYWNjb3VudC10b2tlbiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJhcmdvLWFwaSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6ImU3YzJhNzhhLTg5ZTctNDJlMy04ODdkLTNmNjQ4MzY4NzczNSIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDpkZWZhdWx0OmFyZ28tYXBpIn0.FSxOIUkZsqp6y4duWBe1IwDfpBlx1VYMwK0o13JAt_pkmT7HYfNsTYnbLaKcxWJHR6Gyij9EtkFF6bmWths6-8QeIDbhSF8fcoRm3M-q_7L6lS77G7C2XbC2m0ZvlhjJ81Sy2wR_t3iOK0p4-WXql2ATTvAtvte_1al7Q9rNvSxoMd1WA1wfnXcd3Y0kw3G8GtgYYtPKfnIeHnNcclrERodqCkFh8fOR9XuuEOLIb8-n0Au2NR3OlS4j4oh80KWDcO2XVAXIiWuc40VbV_MiDylQnj7O-Pnp1N0UnDXB5DBry3vibI3FPKCJuzdHf-gNDnftDhEQRbakhLubeoX_WQ` namespace = "argo-api" workflowTemplateName = "approve" ) //go:embed approve_workflow_template.yaml var templateYamlStr []byte //go:embed approve_workflow.yaml var workflowYamlStr []byte func compareDefinitionMap(t *testing.T, definitionMap map[string]any, checkDefinitionMaps map[string]any) { keys := make([]string, 0) for key, _ := range definitionMap { keys = append(keys, key) } sort.Strings(keys) for _, key := range keys { innerDefinitionMap, ok := definitionMap[key].(map[string]any) if ok { compareDefinitionMap(t, innerDefinitionMap, checkDefinitionMaps[key].(map[string]any)) continue } sliceValues, ok := definitionMap[key].([]any) if ok { for i, sliceValue := range sliceValues { innerDefinitionMap, ok := sliceValue.(map[string]any) if ok { compareDefinitionMap(t, innerDefinitionMap, checkDefinitionMaps[key].([]any)[i].(map[string]any)) continue } if sliceValue != checkDefinitionMaps[key].([]any)[i] { t.Fatalf("%+v\n", errors.Errorf("key: %v value %v", key, definitionMap[key])) } } continue } if definitionMap[key] != checkDefinitionMaps[key] { t.Fatalf("%+v\n", errors.Errorf("key: %v value %v", key, definitionMap[key])) } } }