|
|
@@ -269,20 +269,18 @@ func TestStopWorkflow(t *testing.T) {
|
|
|
t.Fatalf("%+v\n", err)
|
|
|
}
|
|
|
|
|
|
- for {
|
|
|
- wf, err := argo.GetInstance().GetWorkflow(client.GetWorkflowParams{
|
|
|
- Namespace: namespace,
|
|
|
- Name: workflowName,
|
|
|
- })
|
|
|
- if err != nil {
|
|
|
- t.Fatalf("%+v\n", err)
|
|
|
- }
|
|
|
-
|
|
|
+ err = argo.GetInstance().WatchWorkflow(client.WatchWorkflowParams{
|
|
|
+ Namespace: namespace,
|
|
|
+ Name: workflowName,
|
|
|
+ }, func(doneToken *client.WatchWorkflowDoneToken, wf *v1alpha1.Workflow) {
|
|
|
if wf.Status.Phase != "Running" {
|
|
|
- break
|
|
|
+ return
|
|
|
}
|
|
|
|
|
|
- time.Sleep(1 * time.Second)
|
|
|
+ doneToken.Done()
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ t.Fatalf("%+v\n", err)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -320,20 +318,18 @@ func TestTerminateWorkflow(t *testing.T) {
|
|
|
t.Fatalf("%+v\n", err)
|
|
|
}
|
|
|
|
|
|
- for {
|
|
|
- wf, err := argo.GetInstance().GetWorkflow(client.GetWorkflowParams{
|
|
|
- Namespace: namespace,
|
|
|
- Name: workflowName,
|
|
|
- })
|
|
|
- if err != nil {
|
|
|
- t.Fatalf("%+v\n", err)
|
|
|
- }
|
|
|
-
|
|
|
+ err = argo.GetInstance().WatchWorkflow(client.WatchWorkflowParams{
|
|
|
+ Namespace: namespace,
|
|
|
+ Name: workflowName,
|
|
|
+ }, func(doneToken *client.WatchWorkflowDoneToken, wf *v1alpha1.Workflow) {
|
|
|
if wf.Status.Phase != "Running" {
|
|
|
- break
|
|
|
+ return
|
|
|
}
|
|
|
|
|
|
- time.Sleep(1 * time.Second)
|
|
|
+ doneToken.Done()
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ t.Fatalf("%+v\n", err)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -363,15 +359,10 @@ func TestSetWorkflow(t *testing.T) {
|
|
|
}
|
|
|
}()
|
|
|
|
|
|
- for {
|
|
|
- wf, err := argo.GetInstance().GetWorkflow(client.GetWorkflowParams{
|
|
|
- Namespace: namespace,
|
|
|
- Name: workflowName,
|
|
|
- })
|
|
|
- if err != nil {
|
|
|
- t.Fatalf("%+v\n", err)
|
|
|
- }
|
|
|
-
|
|
|
+ err = argo.GetInstance().WatchWorkflow(client.WatchWorkflowParams{
|
|
|
+ Namespace: namespace,
|
|
|
+ Name: workflowName,
|
|
|
+ }, func(doneToken *client.WatchWorkflowDoneToken, wf *v1alpha1.Workflow) {
|
|
|
findA := false
|
|
|
for _, node := range wf.Status.Nodes {
|
|
|
if node.DisplayName == "A" {
|
|
|
@@ -379,11 +370,14 @@ func TestSetWorkflow(t *testing.T) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if findA {
|
|
|
- break
|
|
|
+ if !findA {
|
|
|
+ return
|
|
|
}
|
|
|
|
|
|
- time.Sleep(1 * time.Second)
|
|
|
+ doneToken.Done()
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ t.Fatalf("%+v\n", err)
|
|
|
}
|
|
|
|
|
|
err = argo.GetInstance().SetWorkflow(client.SetWorkflowParams{
|
|
|
@@ -451,20 +445,22 @@ func TestSuspendAndResumeWorkflow(t *testing.T) {
|
|
|
t.Fatalf("%+v\n", err)
|
|
|
}
|
|
|
|
|
|
- for {
|
|
|
- wf, err := argo.GetInstance().GetWorkflow(client.GetWorkflowParams{
|
|
|
- Namespace: namespace,
|
|
|
- Name: workflowName,
|
|
|
- })
|
|
|
- if err != nil {
|
|
|
- t.Fatalf("%+v\n", err)
|
|
|
+ err = argo.GetInstance().WatchWorkflow(client.WatchWorkflowParams{
|
|
|
+ Namespace: namespace,
|
|
|
+ Name: workflowName,
|
|
|
+ }, func(doneToken *client.WatchWorkflowDoneToken, wf *v1alpha1.Workflow) {
|
|
|
+ if wf.Status.Phase != "Running" {
|
|
|
+ return
|
|
|
}
|
|
|
|
|
|
- if wf.Spec.Suspend != nil && *wf.Spec.Suspend == true {
|
|
|
- break
|
|
|
+ if wf.Spec.Suspend == nil || *wf.Spec.Suspend != true {
|
|
|
+ return
|
|
|
}
|
|
|
|
|
|
- time.Sleep(1 * time.Second)
|
|
|
+ doneToken.Done()
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ t.Fatalf("%+v\n", err)
|
|
|
}
|
|
|
|
|
|
err = argo.GetInstance().ResumeWorkflow(client.ResumeWorkflowParams{
|