@@ -122,12 +122,10 @@ func TestJoinAttesterSet(t *testing.T) {
122
122
func TestAttest (t * testing.T ) {
123
123
const epochLength = 10
124
124
var (
125
- myHash = sha256 .Sum256 ([]byte ("app_hash" ))
126
- myAppHash = myHash [:]
127
- voteSigner = ed25519 .GenPrivKey ()
128
- valAddrStr = sdk .ValAddress (voteSigner .PubKey ().Address ()).String ()
129
- validVote = VoteFixture (myAppHash , voteSigner )
130
- validVoteBz = must (proto .Marshal (validVote ))
125
+ myHash = sha256 .Sum256 ([]byte ("app_hash" ))
126
+ myAppHash = myHash [:]
127
+ voteSigner = ed25519 .GenPrivKey ()
128
+ valAddrStr = sdk .ValAddress (voteSigner .PubKey ().Address ()).String ()
131
129
)
132
130
133
131
// Setup test environment with block store
@@ -145,49 +143,53 @@ func TestAttest(t *testing.T) {
145
143
var signature rollkittypes.Signature
146
144
require .NoError (t , env .BlockStore .SaveBlockData (env .Ctx , signedHeader , data , & signature ))
147
145
146
+ var (
147
+ validVote = VoteFixture (myAppHash , voteSigner )
148
+ validVoteBz = must (proto .Marshal (validVote ))
149
+ )
148
150
parentCtx := env .Ctx
149
151
150
152
specs := map [string ]struct {
151
- setup func (t * testing.T , env testEnv ) testEnv
153
+ setup func (t * testing.T , env testEnv ) sdk. Context
152
154
msg func (t * testing.T ) * types.MsgAttest
153
155
expErr error
154
156
}{
155
157
"valid attestation" : {
156
- setup : func (t * testing.T , env testEnv ) testEnv {
158
+ setup : func (t * testing.T , env testEnv ) sdk. Context {
157
159
require .NoError (t , env .Keeper .SetAttesterSetMember (env .Ctx , valAddrStr ))
158
160
require .NoError (t , env .Keeper .SetValidatorIndex (env .Ctx , valAddrStr , 0 , 100 ))
159
- return env
161
+ return env . Ctx
160
162
},
161
163
msg : func (t * testing.T ) * types.MsgAttest {
162
164
return & types.MsgAttest {Validator : valAddrStr , Height : epochLength , Vote : validVoteBz }
163
165
},
164
166
},
165
167
"invalid vote content" : {
166
- setup : func (t * testing.T , env testEnv ) testEnv {
168
+ setup : func (t * testing.T , env testEnv ) sdk. Context {
167
169
require .NoError (t , env .Keeper .SetAttesterSetMember (env .Ctx , valAddrStr ))
168
170
require .NoError (t , env .Keeper .SetValidatorIndex (env .Ctx , valAddrStr , 0 , 100 ))
169
- return env
171
+ return env . Ctx
170
172
},
171
173
msg : func (t * testing.T ) * types.MsgAttest {
172
174
return & types.MsgAttest {Validator : valAddrStr , Height : epochLength , Vote : []byte ("not a valid proto vote" )}
173
175
},
174
176
expErr : sdkerrors .ErrInvalidRequest ,
175
177
},
176
178
"validator not in attester set" : {
177
- setup : func (t * testing.T , env testEnv ) testEnv {
179
+ setup : func (t * testing.T , env testEnv ) sdk. Context {
178
180
require .NoError (t , env .Keeper .SetValidatorIndex (env .Ctx , valAddrStr , 0 , 100 ))
179
- return env
181
+ return env . Ctx
180
182
},
181
183
msg : func (t * testing.T ) * types.MsgAttest {
182
184
return & types.MsgAttest {Validator : valAddrStr , Height : epochLength , Vote : validVoteBz }
183
185
},
184
186
expErr : sdkerrors .ErrUnauthorized ,
185
187
},
186
188
"invalid signature" : {
187
- setup : func (t * testing.T , env testEnv ) testEnv {
189
+ setup : func (t * testing.T , env testEnv ) sdk. Context {
188
190
require .NoError (t , env .Keeper .SetAttesterSetMember (env .Ctx , valAddrStr ))
189
191
require .NoError (t , env .Keeper .SetValidatorIndex (env .Ctx , valAddrStr , 0 , 100 ))
190
- return env
192
+ return env . Ctx
191
193
},
192
194
msg : func (t * testing.T ) * types.MsgAttest {
193
195
invalidVote := VoteFixture (myAppHash , voteSigner , func (vote * cmtproto.Vote ) {
@@ -198,34 +200,32 @@ func TestAttest(t *testing.T) {
198
200
expErr : sdkerrors .ErrInvalidRequest ,
199
201
},
200
202
"not a checkpoint height" : {
201
- setup : func (t * testing.T , env testEnv ) testEnv {
203
+ setup : func (t * testing.T , env testEnv ) sdk. Context {
202
204
require .NoError (t , env .Keeper .SetAttesterSetMember (env .Ctx , valAddrStr ))
203
205
require .NoError (t , env .Keeper .SetValidatorIndex (env .Ctx , valAddrStr , 0 , 100 ))
204
- return env
206
+ return env . Ctx
205
207
},
206
208
msg : func (t * testing.T ) * types.MsgAttest {
207
209
return & types.MsgAttest {Validator : valAddrStr , Height : epochLength + 1 , Vote : validVoteBz }
208
210
},
209
211
expErr : sdkerrors .ErrInvalidRequest ,
210
212
},
211
213
"vote window expired" : {
212
- setup : func (t * testing.T , env testEnv ) testEnv {
214
+ setup : func (t * testing.T , env testEnv ) sdk. Context {
213
215
require .NoError (t , env .Keeper .SetAttesterSetMember (env .Ctx , valAddrStr ))
214
216
require .NoError (t , env .Keeper .SetValidatorIndex (env .Ctx , valAddrStr , 0 , 100 ))
215
- env .Ctx = env .Ctx .WithBlockHeight (2 * epochLength + 1 )
216
- return env
217
+ return env .Ctx .WithBlockHeight (2 * epochLength + 1 )
217
218
},
218
219
msg : func (t * testing.T ) * types.MsgAttest {
219
220
return & types.MsgAttest {Validator : valAddrStr , Height : epochLength , Vote : validVoteBz }
220
221
},
221
222
expErr : sdkerrors .ErrInvalidRequest ,
222
223
},
223
224
"voting for a future epoch" : {
224
- setup : func (t * testing.T , env testEnv ) testEnv {
225
+ setup : func (t * testing.T , env testEnv ) sdk. Context {
225
226
require .NoError (t , env .Keeper .SetAttesterSetMember (env .Ctx , valAddrStr ))
226
227
require .NoError (t , env .Keeper .SetValidatorIndex (env .Ctx , valAddrStr , 0 , 100 ))
227
- env .Ctx = env .Ctx .WithBlockHeight (2 * epochLength )
228
- return env
228
+ return env .Ctx .WithBlockHeight (2 * epochLength )
229
229
},
230
230
msg : func (t * testing.T ) * types.MsgAttest {
231
231
return & types.MsgAttest {Validator : valAddrStr , Height : 3 * epochLength , Vote : validVoteBz }
@@ -238,18 +238,18 @@ func TestAttest(t *testing.T) {
238
238
// Create a new environment for each test case with a cached context
239
239
testEnv := env
240
240
testEnv .Ctx , _ = parentCtx .CacheContext ()
241
- testEnv = spec .setup (t , testEnv )
241
+ ctx : = spec .setup (t , testEnv )
242
242
243
243
// when
244
244
srcMsg := spec .msg (t )
245
- gotRsp , gotErr := testEnv .Server .Attest (testEnv . Ctx , srcMsg )
245
+ gotRsp , gotErr := testEnv .Server .Attest (ctx , srcMsg )
246
246
247
247
// then
248
248
if spec .expErr != nil {
249
249
require .Error (t , gotErr )
250
250
require .ErrorIs (t , gotErr , spec .expErr )
251
251
// and ensure the signature is not stored
252
- _ , err := testEnv .Keeper .GetSignature (testEnv . Ctx , srcMsg .Height , valAddrStr )
252
+ _ , err := testEnv .Keeper .GetSignature (ctx , srcMsg .Height , valAddrStr )
253
253
assert .ErrorIs (t , err , collections .ErrNotFound )
254
254
return
255
255
}
@@ -258,13 +258,13 @@ func TestAttest(t *testing.T) {
258
258
require .NotNil (t , gotRsp )
259
259
260
260
// and attestation marked
261
- bitmap , gotErr := testEnv .Keeper .GetAttestationBitmap (testEnv . Ctx , srcMsg .Height )
261
+ bitmap , gotErr := testEnv .Keeper .GetAttestationBitmap (ctx , srcMsg .Height )
262
262
require .NoError (t , gotErr )
263
263
require .NotEmpty (t , bitmap )
264
264
require .Equal (t , byte (1 ), bitmap [0 ])
265
265
266
266
// and the signature was stored properly
267
- gotSig , err := testEnv .Keeper .GetSignature (testEnv . Ctx , srcMsg .Height , valAddrStr )
267
+ gotSig , err := testEnv .Keeper .GetSignature (ctx , srcMsg .Height , valAddrStr )
268
268
require .NoError (t , err )
269
269
var vote cmtproto.Vote
270
270
require .NoError (t , proto .Unmarshal (srcMsg .Vote , & vote ))
0 commit comments