forked from GoogleCloudPlatform/compute-image-tools
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstep_sub_workflow_test.go
82 lines (75 loc) · 2.23 KB
/
step_sub_workflow_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
// Copyright 2017 Google Inc. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package daisy
import (
"context"
"fmt"
"reflect"
"testing"
)
func TestSubWorkflowPopulate(t *testing.T) {
ctx := context.Background()
w := testWorkflow()
w.populate(ctx)
sw := w.NewSubWorkflow()
sw.Vars = map[string]Var{"foo": {Value: "bar1"}, "baz": {Value: "gaz"}}
s := &Step{
name: "sw-step",
w: w,
SubWorkflow: &SubWorkflow{
Vars: map[string]string{"foo": "bar2"},
Workflow: sw,
},
}
if err := w.populateStep(ctx, s); err != nil {
t.Errorf("unexpected error: %v", err)
}
if sw.Name != s.name {
t.Errorf("unexpected subworkflow Name: %q != %q", sw.Name, s.name)
}
if sw.Project != w.Project {
t.Errorf("unexpected subworkflow Project: %q != %q", sw.Project, w.Project)
}
if sw.Zone != w.Zone {
t.Errorf("unexpected subworkflow Zone: %q != %q", sw.Zone, w.Zone)
}
wantGCSPath := fmt.Sprintf("gs://%s/%s", w.bucket, w.scratchPath)
if sw.GCSPath != wantGCSPath {
t.Errorf("unexpected subworkflow GCSPath: %q != %q", sw.GCSPath, wantGCSPath)
}
wantVars := map[string]Var{"foo": {Value: "bar2"}, "baz": {Value: "gaz"}}
if !reflect.DeepEqual(sw.Vars, wantVars) {
t.Errorf("unexpected subworkflow Vars: %v != %v", sw.Vars, wantVars)
}
}
func TestSubWorkflowRun(t *testing.T) {
ctx := context.Background()
w := testWorkflow()
w.populate(ctx)
sw := w.NewSubWorkflow()
s := &Step{
name: "sw-step",
w: w,
SubWorkflow: &SubWorkflow{
Workflow: sw,
},
}
if err := w.populateStep(ctx, s); err != nil {
t.Errorf("unexpected error: %v", err)
}
if err := s.SubWorkflow.run(ctx, s); err != nil {
t.Errorf("unexpected error: %v", err)
}
}
func TestSubWorkflowValidate(t *testing.T) {}