@@ -22,21 +22,31 @@ import (
22
22
)
23
23
24
24
func TestOnChanOpenInitVersion (t * testing.T ) {
25
- const startVersion = "v1"
25
+ const v1 = "v1"
26
26
specs := map [string ]struct {
27
- contractRsp * wasmvmtypes.IBC3ChannelOpenResponse
28
- expVersion string
27
+ startVersion string
28
+ contractRsp * wasmvmtypes.IBC3ChannelOpenResponse
29
+ expVersion string
30
+ expErr bool
29
31
}{
30
32
"different version" : {
31
- contractRsp : & wasmvmtypes.IBC3ChannelOpenResponse {Version : "v2" },
32
- expVersion : "v2" ,
33
+ startVersion : v1 ,
34
+ contractRsp : & wasmvmtypes.IBC3ChannelOpenResponse {Version : "v2" },
35
+ expVersion : "v2" ,
33
36
},
34
37
"no response" : {
35
- expVersion : startVersion ,
38
+ startVersion : v1 ,
39
+ expVersion : v1 ,
36
40
},
37
41
"empty result" : {
38
- contractRsp : & wasmvmtypes.IBC3ChannelOpenResponse {},
39
- expVersion : startVersion ,
42
+ startVersion : v1 ,
43
+ contractRsp : & wasmvmtypes.IBC3ChannelOpenResponse {},
44
+ expVersion : v1 ,
45
+ },
46
+ "empty versions should fail" : {
47
+ startVersion : "" ,
48
+ contractRsp : & wasmvmtypes.IBC3ChannelOpenResponse {},
49
+ expErr : true ,
40
50
},
41
51
}
42
52
for name , spec := range specs {
@@ -63,10 +73,17 @@ func TestOnChanOpenInitVersion(t *testing.T) {
63
73
coordinator .CreateConnections (path )
64
74
path .EndpointA .ChannelConfig = & ibctesting.ChannelConfig {
65
75
PortID : contractInfo .IBCPortID ,
66
- Version : startVersion ,
76
+ Version : spec . startVersion ,
67
77
Order : channeltypes .UNORDERED ,
68
78
}
69
- require .NoError (t , path .EndpointA .ChanOpenInit ())
79
+ // when
80
+ gotErr := path .EndpointA .ChanOpenInit ()
81
+ // then
82
+ if spec .expErr {
83
+ require .Error (t , gotErr )
84
+ return
85
+ }
86
+ require .NoError (t , gotErr )
70
87
assert .Equal (t , spec .expVersion , path .EndpointA .ChannelConfig .Version )
71
88
})
72
89
}
0 commit comments