package test import ( "git.sxidc.com/go-tools/argo-api" "git.sxidc.com/go-tools/argo-api/client" "github.com/pkg/errors" "gopkg.in/yaml.v3" "testing" ) func TestWorkflowTemplate(t *testing.T) { argo.Init(baseUrl, token, client.WithTimeoutSec(10)) defer argo.Destroy() templateDefinition := make(map[string]any) err := yaml.Unmarshal(templateYamlStr, &templateDefinition) if err != nil { panic(err) } err = argo.GetInstance().LintWorkflowTemplate(namespace, templateDefinition) if err != nil { t.Fatalf("%+v\n", err) } err = argo.GetInstance().CreateWorkflowTemplate(namespace, templateDefinition) if err != nil { t.Fatalf("%+v\n", err) } defer func() { err := argo.GetInstance().DeleteWorkflowTemplate(namespace, workflowTemplateName) if err != nil { t.Fatalf("%+v\n", err) } }() createdTemplateDefinitions, err := argo.GetInstance().GetWorkflowTemplatesInNamespace(namespace) if err != nil { t.Fatalf("%+v\n", err) } if len(createdTemplateDefinitions) != 1 { t.Fatalf("%+v\n", errors.Errorf("数量不一致: %v", len(createdTemplateDefinitions))) } createdTemplateDefinition, err := argo.GetInstance().GetWorkflowTemplate(namespace, workflowTemplateName) if err != nil { t.Fatalf("%+v\n", err) } err = argo.GetInstance().UpdateWorkflowTemplate(namespace, workflowTemplateName, createdTemplateDefinition) if err != nil { t.Fatalf("%+v\n", err) } }