package test import ( _ "embed" "github.com/pkg/errors" "sort" "testing" ) const ( baseUrl = "https://localhost:32337" token = `eyJhbGciOiJSUzI1NiIsImtpZCI6ImFOek1kOTJRUVZWSl9lVTNIRTRVVHNsWjl3YTg5VEp4XzNrQ0QxcU9xY0UifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJhcmdvLWFwaSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhcmdvLWFwaS5zZXJ2aWNlLWFjY291bnQtdG9rZW4iLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGVmYXVsdCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50LnVpZCI6IjUzZTU3YmMxLTBhMGUtNGQzMC05Mzg1LWI0NTQ5MzdlNWVmZiIsInN1YiI6InN5c3RlbTpzZXJ2aWNlYWNjb3VudDphcmdvLWFwaTpkZWZhdWx0In0.BTzRLy8df-gpnwCaS3PZ67ioevD_QddMY-rnr6vfDJIQpBZTfjEjshCQiVZd03GG1HsZJzXsBXx0gTWfaQa6gVTMfRLYo5-6gQMO0b5-i3AvXXJ17-BYkpbTzyM8l4KUWpYpkRJQaUbuqG-QvZef0T44Akcfh1OuzdRgDdNDtvPr5aV1cNSJ0tGJH0LOs32f0i53M_GtrgyqNJfnmFSYktnWnvDS-jkF_itXqTWDy7ESKagUS81vUki-kG0nXDd9kzzCJ20rgD0K6utGsgwIgZPXRujLGmx-zV-DD-6bucRbtEGoa30cLIv4dHSX5rzzt8KYMpHn1bAIgzdxitwqNA` namespace = "argo-api" workflowTemplateName = "approve" workflowTemplateWithParamsName = "hello" ) //go:embed definitions/approve_workflow_template.yaml var templateYamlStr []byte //go:embed definitions/approve_workflow.yaml var workflowYamlStr []byte //go:embed definitions/workflow_template_with_params.yaml var workflowTemplateWithParamsYamlStr []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])) } } }