workflow_template_test.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package test
  2. import (
  3. "git.sxidc.com/go-tools/argo-api"
  4. "git.sxidc.com/go-tools/argo-api/client"
  5. "github.com/pkg/errors"
  6. "gopkg.in/yaml.v3"
  7. "testing"
  8. )
  9. func TestWorkflowTemplate(t *testing.T) {
  10. argo.Init(baseUrl, token, client.WithTimeoutSec(10))
  11. defer argo.Destroy()
  12. templateDefinition := make(map[string]any)
  13. err := yaml.Unmarshal(templateYamlStr, &templateDefinition)
  14. if err != nil {
  15. panic(err)
  16. }
  17. err = argo.GetInstance().LintWorkflowTemplate(namespace, templateDefinition)
  18. if err != nil {
  19. t.Fatalf("%+v\n", err)
  20. }
  21. err = argo.GetInstance().CreateWorkflowTemplate(namespace, templateDefinition)
  22. if err != nil {
  23. t.Fatalf("%+v\n", err)
  24. }
  25. defer func() {
  26. err := argo.GetInstance().DeleteWorkflowTemplate(namespace, workflowTemplateName)
  27. if err != nil {
  28. t.Fatalf("%+v\n", err)
  29. }
  30. }()
  31. createdTemplateDefinitions, err := argo.GetInstance().GetWorkflowTemplatesInNamespace(namespace)
  32. if err != nil {
  33. t.Fatalf("%+v\n", err)
  34. }
  35. if len(createdTemplateDefinitions) != 1 {
  36. t.Fatalf("%+v\n", errors.Errorf("数量不一致: %v", len(createdTemplateDefinitions)))
  37. }
  38. createdTemplateDefinition, err := argo.GetInstance().GetWorkflowTemplate(namespace, workflowTemplateName)
  39. if err != nil {
  40. t.Fatalf("%+v\n", err)
  41. }
  42. err = argo.GetInstance().UpdateWorkflowTemplate(namespace, workflowTemplateName, createdTemplateDefinition)
  43. if err != nil {
  44. t.Fatalf("%+v\n", err)
  45. }
  46. }