1
1
package v2
2
2
3
3
import (
4
+ "fmt"
5
+ "github.com/stretchr/testify/assert"
4
6
"reflect"
5
7
"testing"
6
8
7
9
v1 "github.com/devfile/api/v2/pkg/apis/workspaces/v1alpha2"
8
10
)
9
11
10
12
func TestDevfile200_AddEvents (t * testing.T ) {
13
+ multipleDupError := fmt .Sprintf ("%s\n %s" , "event field pre start already exists in devfile" , "event field post stop already exists in devfile" )
11
14
12
15
tests := []struct {
13
16
name string
14
17
currentEvents * v1.Events
15
18
newEvents v1.Events
16
- wantErr bool
19
+ wantErr * string
17
20
}{
18
21
{
19
22
name : "successfully add the events" ,
@@ -27,7 +30,7 @@ func TestDevfile200_AddEvents(t *testing.T) {
27
30
PostStart : []string {"postStart1" },
28
31
},
29
32
},
30
- wantErr : false ,
33
+ wantErr : nil ,
31
34
},
32
35
{
33
36
name : "successfully add the events to empty devfile event" ,
@@ -37,21 +40,24 @@ func TestDevfile200_AddEvents(t *testing.T) {
37
40
PostStart : []string {"postStart1" },
38
41
},
39
42
},
40
- wantErr : false ,
43
+ wantErr : nil ,
41
44
},
42
45
{
43
46
name : "event already present" ,
44
47
currentEvents : & v1.Events {
45
48
DevWorkspaceEvents : v1.DevWorkspaceEvents {
46
49
PreStart : []string {"preStart1" },
50
+ PostStop : []string {"postStop1" },
47
51
},
48
52
},
49
53
newEvents : v1.Events {
50
54
DevWorkspaceEvents : v1.DevWorkspaceEvents {
51
55
PreStart : []string {"preStart2" },
56
+ PostStop : []string {"postStop2" },
57
+ PreStop : []string {"preStop" },
52
58
},
53
59
},
54
- wantErr : true ,
60
+ wantErr : & multipleDupError ,
55
61
},
56
62
}
57
63
for _ , tt := range tests {
@@ -68,8 +74,10 @@ func TestDevfile200_AddEvents(t *testing.T) {
68
74
69
75
err := d .AddEvents (tt .newEvents )
70
76
71
- if (err != nil ) != tt .wantErr {
72
- t .Errorf ("DeleteCommand() error = %v, wantErr %v" , err , tt .wantErr )
77
+ if (err != nil ) != (tt .wantErr != nil ) {
78
+ t .Errorf ("TestDevfile200_AddEvents() error = %v, wantErr %v" , err , tt .wantErr )
79
+ } else if tt .wantErr != nil {
80
+ assert .Regexp (t , * tt .wantErr , err .Error (), "Error message should match" )
73
81
}
74
82
75
83
})
0 commit comments