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 TestWorkflowBase(t *testing.T) { argo.Init(baseUrl, token, client.WithTimeoutSec(10)) defer argo.Destroy() workflowDefinition := make(map[string]any) err := yaml.Unmarshal(workflowYamlStr, &workflowDefinition) if err != nil { panic(err) } err = argo.GetInstance().LintWorkflow(client.LintWorkflowParams{ Namespace: namespace, WorkflowDefinition: workflowDefinition, }) if err != nil { t.Fatalf("%+v\n", err) } workflowName, err := argo.GetInstance().CreateWorkflow(client.CreateWorkflowParams{ Namespace: namespace, WorkflowDefinition: workflowDefinition, }) if err != nil { t.Fatalf("%+v\n", err) } defer func() { err := argo.GetInstance().DeleteWorkflow(client.DeleteWorkflowParams{ Namespace: namespace, Name: workflowName, }) if err != nil { t.Fatalf("%+v\n", err) } }() createdWorkflowDefinitions, err := argo.GetInstance().GetWorkflowsInNamespace(client.GetWorkflowsInNamespaceParams{ Namespace: namespace, }) if err != nil { t.Fatalf("%+v\n", err) } if len(createdWorkflowDefinitions) != 1 { t.Fatalf("%+v\n", errors.Errorf("数量不一致: %v", len(createdWorkflowDefinitions))) } createdWorkflowDefinition, err := argo.GetInstance().GetWorkflow(client.GetWorkflowParams{ Namespace: namespace, Name: workflowName, }) if err != nil { t.Fatalf("%+v\n", err) } compareDefinitionMap(t, createdWorkflowDefinition, createdWorkflowDefinitions[0]) }