| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- package test
- import (
- _ "embed"
- "github.com/pkg/errors"
- "sort"
- "testing"
- )
- const (
- kubeConfig = "/etc/rancher/k3s/k3s.yaml"
- namespace = "argo-api"
- workflowTemplateName = "approve"
- )
- //go:embed definitions/approve_workflow_template.yaml
- var templateYamlStr string
- //go:embed definitions/approve_workflow.yaml
- var workflowYamlStr string
- //go:embed definitions/workflow_template_with_params.yaml
- var workflowTemplateWithParamsYamlStr string
- //go:embed definitions/workflow_with_params.yaml
- var workflowWithParamsYamlStr string
- 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]))
- }
- }
- }
|