@@ -22,21 +22,31 @@ import (
2222)
2323
2424func TestOnChanOpenInitVersion (t * testing.T ) {
25- const startVersion = "v1"
25+ const v1 = "v1"
2626 specs := map [string ]struct {
27- contractRsp * wasmvmtypes.IBC3ChannelOpenResponse
28- expVersion string
27+ startVersion string
28+ contractRsp * wasmvmtypes.IBC3ChannelOpenResponse
29+ expVersion string
30+ expErr bool
2931 }{
3032 "different version" : {
31- contractRsp : & wasmvmtypes.IBC3ChannelOpenResponse {Version : "v2" },
32- expVersion : "v2" ,
33+ startVersion : v1 ,
34+ contractRsp : & wasmvmtypes.IBC3ChannelOpenResponse {Version : "v2" },
35+ expVersion : "v2" ,
3336 },
3437 "no response" : {
35- expVersion : startVersion ,
38+ startVersion : v1 ,
39+ expVersion : v1 ,
3640 },
3741 "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 ,
4050 },
4151 }
4252 for name , spec := range specs {
@@ -63,10 +73,17 @@ func TestOnChanOpenInitVersion(t *testing.T) {
6373 coordinator .CreateConnections (path )
6474 path .EndpointA .ChannelConfig = & ibctesting.ChannelConfig {
6575 PortID : contractInfo .IBCPortID ,
66- Version : startVersion ,
76+ Version : spec . startVersion ,
6777 Order : channeltypes .UNORDERED ,
6878 }
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 )
7087 assert .Equal (t , spec .expVersion , path .EndpointA .ChannelConfig .Version )
7188 })
7289 }
0 commit comments