Skip to content

Commit 4e0e9c5

Browse files
committed
Fix and add tests for dynamic keys filters.
1 parent 0dbf6e7 commit 4e0e9c5

File tree

1 file changed

+44
-8
lines changed

1 file changed

+44
-8
lines changed

tests/test_validator_pool.nim

Lines changed: 44 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -220,15 +220,19 @@ suite "Validator pool":
220220
check cmp(value, sortedExpected[index]) == 0
221221

222222
var pool = (ref ValidatorPool)()
223-
discard pool[].addValidator(createLocal(createPubKey(1)), fee, gas)
224-
discard pool[].addValidator(createRemote(createPubKey(2)), fee, gas)
225-
discard pool[].addValidator(createDynamic(remoteSignerUrl.url, createPubKey(3)), fee, gas)
223+
discard pool[].addValidator(
224+
createLocal(createPubKey(1)), fee, gas)
225+
discard pool[].addValidator(
226+
createRemote(createPubKey(2)), fee, gas)
227+
discard pool[].addValidator(
228+
createDynamic(remoteSignerUrl.url, createPubKey(3)), fee, gas)
226229

227230
proc addValidator(data: KeystoreData) {.gcsafe.} =
228231
discard pool[].addValidator(data, fee, gas)
229232

230233
# Adding new dynamic keystores.
231234
block:
235+
var keysFilter: HashSet[ValidatorPubKey]
232236
let
233237
expected = [
234238
createLocal(createPubKey(1)),
@@ -242,11 +246,13 @@ suite "Validator pool":
242246
createDynamic(remoteSignerUrl.url, createPubKey(4)),
243247
createDynamic(remoteSignerUrl.url, createPubKey(5))
244248
]
245-
pool.updateDynamicValidators(remoteSignerUrl, keystores, addValidator)
249+
pool.updateDynamicValidators(
250+
remoteSignerUrl, keystores, keysFilter, addValidator)
246251
pool[].checkPool(expected)
247252

248253
# Removing dynamic keystores.
249254
block:
255+
var keysFilter: HashSet[ValidatorPubKey]
250256
let
251257
expected = [
252258
createLocal(createPubKey(1)),
@@ -256,11 +262,13 @@ suite "Validator pool":
256262
keystores = [
257263
createDynamic(remoteSignerUrl.url, createPubKey(3)),
258264
]
259-
pool.updateDynamicValidators(remoteSignerUrl, keystores, addValidator)
265+
pool.updateDynamicValidators(
266+
remoteSignerUrl, keystores, keysFilter, addValidator)
260267
pool[].checkPool(expected)
261268

262269
# Adding and removing keystores at same time.
263270
block:
271+
var keysFilter: HashSet[ValidatorPubKey]
264272
let
265273
expected = [
266274
createLocal(createPubKey(1)),
@@ -272,11 +280,13 @@ suite "Validator pool":
272280
createDynamic(remoteSignerUrl.url, createPubKey(4)),
273281
createDynamic(remoteSignerUrl.url, createPubKey(5))
274282
]
275-
pool.updateDynamicValidators(remoteSignerUrl, keystores, addValidator)
283+
pool.updateDynamicValidators(
284+
remoteSignerUrl, keystores, keysFilter, addValidator)
276285
pool[].checkPool(expected)
277286

278287
# Adding dynamic keystores with keys which are static.
279288
block:
289+
var keysFilter: HashSet[ValidatorPubKey]
280290
let
281291
expected = [
282292
createLocal(createPubKey(1)),
@@ -288,16 +298,42 @@ suite "Validator pool":
288298
createDynamic(remoteSignerUrl.url, createPubKey(2)),
289299
createDynamic(remoteSignerUrl.url, createPubKey(3)),
290300
]
291-
pool.updateDynamicValidators(remoteSignerUrl, keystores, addValidator)
301+
pool.updateDynamicValidators(
302+
remoteSignerUrl, keystores, keysFilter, addValidator)
292303
pool[].checkPool(expected)
293304

294305
# Empty response
295306
block:
307+
var keysFilter: HashSet[ValidatorPubKey]
296308
let
297309
expected = [
298310
createLocal(createPubKey(1)),
299311
createRemote(createPubKey(2))
300312
]
301313
var keystores: seq[KeystoreData]
302-
pool.updateDynamicValidators(remoteSignerUrl, keystores, addValidator)
314+
pool.updateDynamicValidators(
315+
remoteSignerUrl, keystores, keysFilter, addValidator)
316+
pool[].checkPool(expected)
317+
318+
# Key filters test
319+
block:
320+
var keysFilter: HashSet[ValidatorPubKey]
321+
keysFilter.incl(createPubKey(4))
322+
keysFilter.incl(createPubKey(5))
323+
let
324+
expected = [
325+
createLocal(createPubKey(1)),
326+
createRemote(createPubKey(2)),
327+
createDynamic(remoteSignerUrl.url, createPubKey(4)),
328+
createDynamic(remoteSignerUrl.url, createPubKey(5))
329+
]
330+
keystores = [
331+
createDynamic(remoteSignerUrl.url, createPubKey(1)),
332+
createDynamic(remoteSignerUrl.url, createPubKey(2)),
333+
createDynamic(remoteSignerUrl.url, createPubKey(3)),
334+
createDynamic(remoteSignerUrl.url, createPubKey(4)),
335+
createDynamic(remoteSignerUrl.url, createPubKey(5)),
336+
]
337+
pool.updateDynamicValidators(
338+
remoteSignerUrl, keystores, keysFilter, addValidator)
303339
pool[].checkPool(expected)

0 commit comments

Comments
 (0)