@@ -2,6 +2,7 @@ package types_test
2
2
3
3
import (
4
4
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
5
+ sdk "github.com/cosmos/cosmos-sdk/types"
5
6
6
7
"github.com/cosmos/ibc-go/v8/modules/core/02-client/types"
7
8
commitmenttypes "github.com/cosmos/ibc-go/v8/modules/core/23-commitment/types"
@@ -155,3 +156,78 @@ func (suite *TypesTestSuite) TestPackClientMessage() {
155
156
}
156
157
}
157
158
}
159
+
160
+ func (suite * TypesTestSuite ) TestCodecTypeRegistration () {
161
+ testCases := []struct {
162
+ name string
163
+ typeURL string
164
+ expPass bool
165
+ }{
166
+ {
167
+ "success: MsgCreateClient" ,
168
+ sdk .MsgTypeURL (& types.MsgCreateClient {}),
169
+ true ,
170
+ },
171
+ {
172
+ "success: MsgUpdateClient" ,
173
+ sdk .MsgTypeURL (& types.MsgUpdateClient {}),
174
+ true ,
175
+ },
176
+ {
177
+ "success: MsgUpgradeClient" ,
178
+ sdk .MsgTypeURL (& types.MsgUpgradeClient {}),
179
+ true ,
180
+ },
181
+ {
182
+ "success: MsgSubmitMisbehaviour" ,
183
+ sdk .MsgTypeURL (& types.MsgSubmitMisbehaviour {}),
184
+ true ,
185
+ },
186
+ {
187
+ "success: MsgRecoverClient" ,
188
+ sdk .MsgTypeURL (& types.MsgRecoverClient {}),
189
+ true ,
190
+ },
191
+ {
192
+ "success: MsgIBCSoftwareUpgrade" ,
193
+ sdk .MsgTypeURL (& types.MsgIBCSoftwareUpgrade {}),
194
+ true ,
195
+ },
196
+ {
197
+ "success: MsgUpdateParams" ,
198
+ sdk .MsgTypeURL (& types.MsgUpdateParams {}),
199
+ true ,
200
+ },
201
+ {
202
+ "success: ClientUpdateProposal" ,
203
+ sdk .MsgTypeURL (& types.ClientUpdateProposal {}),
204
+ true ,
205
+ },
206
+ {
207
+ "success: UpgradeProposal" ,
208
+ sdk .MsgTypeURL (& types.UpgradeProposal {}),
209
+ true ,
210
+ },
211
+ {
212
+ "type not registered on codec" ,
213
+ "ibc.invalid.MsgTypeURL" ,
214
+ false ,
215
+ },
216
+ }
217
+
218
+ for _ , tc := range testCases {
219
+ tc := tc
220
+
221
+ suite .Run (tc .name , func () {
222
+ msg , err := suite .chainA .GetSimApp ().AppCodec ().InterfaceRegistry ().Resolve (tc .typeURL )
223
+
224
+ if tc .expPass {
225
+ suite .Require ().NotNil (msg )
226
+ suite .Require ().NoError (err )
227
+ } else {
228
+ suite .Require ().Nil (msg )
229
+ suite .Require ().Error (err )
230
+ }
231
+ })
232
+ }
233
+ }
0 commit comments