mirror of
https://github.com/logos-messaging/logos-messaging-nim.git
synced 2026-01-05 15:33:08 +00:00
Run only rln_group_manager_onchain tests
This commit is contained in:
parent
197d9b82fa
commit
229e5b6769
@ -1,111 +1,111 @@
|
||||
## Waku v2
|
||||
|
||||
# Waku core test suite
|
||||
import
|
||||
./waku_core/test_namespaced_topics,
|
||||
./waku_core/test_time,
|
||||
./waku_core/test_message_digest,
|
||||
./waku_core/test_peers,
|
||||
./waku_core/test_published_address
|
||||
# import
|
||||
# ./waku_core/test_namespaced_topics,
|
||||
# ./waku_core/test_time,
|
||||
# ./waku_core/test_message_digest,
|
||||
# ./waku_core/test_peers,
|
||||
# ./waku_core/test_published_address
|
||||
|
||||
# Waku archive test suite
|
||||
import
|
||||
./waku_archive/test_driver_queue_index,
|
||||
./waku_archive/test_driver_queue_pagination,
|
||||
./waku_archive/test_driver_queue_query,
|
||||
./waku_archive/test_driver_queue,
|
||||
./waku_archive/test_driver_sqlite_query,
|
||||
./waku_archive/test_driver_sqlite,
|
||||
./waku_archive/test_retention_policy,
|
||||
./waku_archive/test_waku_archive,
|
||||
./waku_archive/test_partition_manager,
|
||||
./waku_archive_legacy/test_driver_queue_index,
|
||||
./waku_archive_legacy/test_driver_queue_pagination,
|
||||
./waku_archive_legacy/test_driver_queue_query,
|
||||
./waku_archive_legacy/test_driver_queue,
|
||||
./waku_archive_legacy/test_driver_sqlite_query,
|
||||
./waku_archive_legacy/test_driver_sqlite,
|
||||
./waku_archive_legacy/test_waku_archive
|
||||
# # Waku archive test suite
|
||||
# import
|
||||
# ./waku_archive/test_driver_queue_index,
|
||||
# ./waku_archive/test_driver_queue_pagination,
|
||||
# ./waku_archive/test_driver_queue_query,
|
||||
# ./waku_archive/test_driver_queue,
|
||||
# ./waku_archive/test_driver_sqlite_query,
|
||||
# ./waku_archive/test_driver_sqlite,
|
||||
# ./waku_archive/test_retention_policy,
|
||||
# ./waku_archive/test_waku_archive,
|
||||
# ./waku_archive/test_partition_manager,
|
||||
# ./waku_archive_legacy/test_driver_queue_index,
|
||||
# ./waku_archive_legacy/test_driver_queue_pagination,
|
||||
# ./waku_archive_legacy/test_driver_queue_query,
|
||||
# ./waku_archive_legacy/test_driver_queue,
|
||||
# ./waku_archive_legacy/test_driver_sqlite_query,
|
||||
# ./waku_archive_legacy/test_driver_sqlite,
|
||||
# ./waku_archive_legacy/test_waku_archive
|
||||
|
||||
const os* {.strdefine.} = ""
|
||||
when os == "Linux" and
|
||||
# GitHub only supports container actions on Linux
|
||||
# and we need to start a postgres database in a docker container
|
||||
defined(postgres):
|
||||
import
|
||||
./waku_archive/test_driver_postgres_query,
|
||||
./waku_archive/test_driver_postgres,
|
||||
#./waku_archive_legacy/test_driver_postgres_query,
|
||||
#./waku_archive_legacy/test_driver_postgres,
|
||||
./factory/test_node_factory,
|
||||
./wakunode_rest/test_rest_store
|
||||
# import
|
||||
# ./waku_archive/test_driver_postgres_query,
|
||||
# ./waku_archive/test_driver_postgres,
|
||||
# #./waku_archive_legacy/test_driver_postgres_query,
|
||||
# #./waku_archive_legacy/test_driver_postgres,
|
||||
# ./factory/test_node_factory,
|
||||
# ./wakunode_rest/test_rest_store
|
||||
|
||||
# Waku store test suite
|
||||
import
|
||||
./waku_store/test_client,
|
||||
./waku_store/test_rpc_codec,
|
||||
./waku_store/test_waku_store,
|
||||
./waku_store/test_wakunode_store
|
||||
# # Waku store test suite
|
||||
# import
|
||||
# ./waku_store/test_client,
|
||||
# ./waku_store/test_rpc_codec,
|
||||
# ./waku_store/test_waku_store,
|
||||
# ./waku_store/test_wakunode_store
|
||||
|
||||
# Waku legacy store test suite
|
||||
import
|
||||
./waku_store_legacy/test_client,
|
||||
./waku_store_legacy/test_rpc_codec,
|
||||
./waku_store_legacy/test_waku_store,
|
||||
./waku_store_legacy/test_wakunode_store
|
||||
# # Waku legacy store test suite
|
||||
# import
|
||||
# ./waku_store_legacy/test_client,
|
||||
# ./waku_store_legacy/test_rpc_codec,
|
||||
# ./waku_store_legacy/test_waku_store,
|
||||
# ./waku_store_legacy/test_wakunode_store
|
||||
|
||||
# Waku store sync suite
|
||||
import ./waku_store_sync/test_all
|
||||
# import ./waku_store_sync/test_all
|
||||
|
||||
when defined(waku_exp_store_resume):
|
||||
# TODO: Review store resume test cases (#1282)
|
||||
import ./waku_store_legacy/test_resume
|
||||
# when defined(waku_exp_store_resume):
|
||||
# # TODO: Review store resume test cases (#1282)
|
||||
# import ./waku_store_legacy/test_resume
|
||||
|
||||
import
|
||||
./node/test_all,
|
||||
./waku_filter_v2/test_all,
|
||||
./waku_peer_exchange/test_all,
|
||||
./waku_lightpush_legacy/test_all,
|
||||
./waku_lightpush/test_all,
|
||||
./waku_relay/test_all,
|
||||
./incentivization/test_all
|
||||
# import
|
||||
# ./node/test_all,
|
||||
# ./waku_filter_v2/test_all,
|
||||
# ./waku_peer_exchange/test_all,
|
||||
# ./waku_lightpush_legacy/test_all,
|
||||
# ./waku_lightpush/test_all,
|
||||
# ./waku_relay/test_all,
|
||||
# ./incentivization/test_all
|
||||
|
||||
import
|
||||
# Waku v2 tests
|
||||
./test_wakunode,
|
||||
./test_peer_store_extended,
|
||||
./test_message_cache,
|
||||
./test_peer_manager,
|
||||
./test_peer_storage,
|
||||
./test_waku_keepalive,
|
||||
./test_waku_enr,
|
||||
./test_waku_dnsdisc,
|
||||
./test_relay_peer_exchange,
|
||||
./test_waku_noise,
|
||||
./test_waku_noise_sessions,
|
||||
./test_waku_netconfig,
|
||||
./test_waku_switch,
|
||||
./test_waku_rendezvous,
|
||||
./waku_discv5/test_waku_discv5
|
||||
# import
|
||||
# # Waku v2 tests
|
||||
# ./test_wakunode,
|
||||
# ./test_peer_store_extended,
|
||||
# ./test_message_cache,
|
||||
# ./test_peer_manager,
|
||||
# ./test_peer_storage,
|
||||
# ./test_waku_keepalive,
|
||||
# ./test_waku_enr,
|
||||
# ./test_waku_dnsdisc,
|
||||
# ./test_relay_peer_exchange,
|
||||
# ./test_waku_noise,
|
||||
# ./test_waku_noise_sessions,
|
||||
# ./test_waku_netconfig,
|
||||
# ./test_waku_switch,
|
||||
# ./test_waku_rendezvous,
|
||||
# ./waku_discv5/test_waku_discv5
|
||||
|
||||
# Waku Keystore test suite
|
||||
import ./test_waku_keystore_keyfile, ./test_waku_keystore
|
||||
# import ./test_waku_keystore_keyfile, ./test_waku_keystore
|
||||
|
||||
## Wakunode Rest API test suite
|
||||
import
|
||||
./wakunode_rest/test_rest_debug,
|
||||
./wakunode_rest/test_rest_debug_serdes,
|
||||
./wakunode_rest/test_rest_relay,
|
||||
./wakunode_rest/test_rest_relay_serdes,
|
||||
./wakunode_rest/test_rest_serdes,
|
||||
./wakunode_rest/test_rest_filter,
|
||||
./wakunode_rest/test_rest_lightpush,
|
||||
./wakunode_rest/test_rest_lightpush_legacy,
|
||||
./wakunode_rest/test_rest_admin,
|
||||
./wakunode_rest/test_rest_cors,
|
||||
./wakunode_rest/test_rest_health
|
||||
# ## Wakunode Rest API test suite
|
||||
# import
|
||||
# ./wakunode_rest/test_rest_debug,
|
||||
# ./wakunode_rest/test_rest_debug_serdes,
|
||||
# ./wakunode_rest/test_rest_relay,
|
||||
# ./wakunode_rest/test_rest_relay_serdes,
|
||||
# ./wakunode_rest/test_rest_serdes,
|
||||
# ./wakunode_rest/test_rest_filter,
|
||||
# ./wakunode_rest/test_rest_lightpush,
|
||||
# ./wakunode_rest/test_rest_lightpush_legacy,
|
||||
# ./wakunode_rest/test_rest_admin,
|
||||
# ./wakunode_rest/test_rest_cors,
|
||||
# ./wakunode_rest/test_rest_health
|
||||
|
||||
import ./waku_rln_relay/test_all
|
||||
import ./waku_rln_relay/test_rln_group_manager_onchain
|
||||
|
||||
# Node Factory
|
||||
import ./factory/test_external_config
|
||||
# # Node Factory
|
||||
# import ./factory/test_external_config
|
||||
|
||||
@ -280,225 +280,225 @@ suite "Onchain group manager":
|
||||
|
||||
manager.onRegister(callback)
|
||||
|
||||
(waitFor manager.init()).isOkOr:
|
||||
raiseAssert $error
|
||||
# (waitFor manager.init()).isOkOr:
|
||||
# raiseAssert $error
|
||||
|
||||
try:
|
||||
waitFor manager.register(idCredentials, UserMessageLimit(20))
|
||||
except Exception, CatchableError:
|
||||
assert false, "exception raised: " & getCurrentExceptionMsg()
|
||||
# try:
|
||||
# waitFor manager.register(idCredentials, UserMessageLimit(20))
|
||||
# except Exception, CatchableError:
|
||||
# assert false, "exception raised: " & getCurrentExceptionMsg()
|
||||
|
||||
waitFor fut
|
||||
# waitFor fut
|
||||
|
||||
let rootUpdated = waitFor manager.updateRoots()
|
||||
# let rootUpdated = waitFor manager.updateRoots()
|
||||
|
||||
if rootUpdated:
|
||||
let proofResult = waitFor manager.fetchMerkleProofElements()
|
||||
if proofResult.isErr():
|
||||
error "Failed to fetch Merkle proof", error = proofResult.error
|
||||
manager.merkleProofCache = proofResult.get()
|
||||
let messageBytes = "Hello".toBytes()
|
||||
# if rootUpdated:
|
||||
# let proofResult = waitFor manager.fetchMerkleProofElements()
|
||||
# if proofResult.isErr():
|
||||
# error "Failed to fetch Merkle proof", error = proofResult.error
|
||||
# manager.merkleProofCache = proofResult.get()
|
||||
# let messageBytes = "Hello".toBytes()
|
||||
|
||||
let epoch = default(Epoch)
|
||||
debug "epoch in bytes", epochHex = epoch.inHex()
|
||||
# let epoch = default(Epoch)
|
||||
# debug "epoch in bytes", epochHex = epoch.inHex()
|
||||
|
||||
let validProofRes = manager.generateProof(
|
||||
data = messageBytes, epoch = epoch, messageId = MessageId(1)
|
||||
)
|
||||
# let validProofRes = manager.generateProof(
|
||||
# data = messageBytes, epoch = epoch, messageId = MessageId(1)
|
||||
# )
|
||||
|
||||
check:
|
||||
validProofRes.isOk()
|
||||
let validProof = validProofRes.get()
|
||||
# check:
|
||||
# validProofRes.isOk()
|
||||
# let validProof = validProofRes.get()
|
||||
|
||||
let validated = manager.validateRoot(validProof.merkleRoot)
|
||||
# let validated = manager.validateRoot(validProof.merkleRoot)
|
||||
|
||||
check:
|
||||
validated
|
||||
# check:
|
||||
# validated
|
||||
|
||||
test "validateRoot: should reject bad root":
|
||||
let idCredentials = generateCredentials(manager.rlnInstance)
|
||||
let idCommitment = idCredentials.idCommitment
|
||||
# test "validateRoot: should reject bad root":
|
||||
# let idCredentials = generateCredentials(manager.rlnInstance)
|
||||
# let idCommitment = idCredentials.idCommitment
|
||||
|
||||
(waitFor manager.init()).isOkOr:
|
||||
raiseAssert $error
|
||||
# (waitFor manager.init()).isOkOr:
|
||||
# raiseAssert $error
|
||||
|
||||
manager.userMessageLimit = some(UserMessageLimit(20))
|
||||
manager.membershipIndex = some(MembershipIndex(0))
|
||||
manager.idCredentials = some(idCredentials)
|
||||
# manager.userMessageLimit = some(UserMessageLimit(20))
|
||||
# manager.membershipIndex = some(MembershipIndex(0))
|
||||
# manager.idCredentials = some(idCredentials)
|
||||
|
||||
manager.merkleProofCache = newSeq[byte](640)
|
||||
for i in 0 ..< 640:
|
||||
manager.merkleProofCache[i] = byte(rand(255))
|
||||
# manager.merkleProofCache = newSeq[byte](640)
|
||||
# for i in 0 ..< 640:
|
||||
# manager.merkleProofCache[i] = byte(rand(255))
|
||||
|
||||
let messageBytes = "Hello".toBytes()
|
||||
# let messageBytes = "Hello".toBytes()
|
||||
|
||||
let epoch = default(Epoch)
|
||||
debug "epoch in bytes", epochHex = epoch.inHex()
|
||||
# let epoch = default(Epoch)
|
||||
# debug "epoch in bytes", epochHex = epoch.inHex()
|
||||
|
||||
let validProofRes = manager.generateProof(
|
||||
data = messageBytes, epoch = epoch, messageId = MessageId(1)
|
||||
)
|
||||
# let validProofRes = manager.generateProof(
|
||||
# data = messageBytes, epoch = epoch, messageId = MessageId(1)
|
||||
# )
|
||||
|
||||
check:
|
||||
validProofRes.isOk()
|
||||
let validProof = validProofRes.get()
|
||||
# check:
|
||||
# validProofRes.isOk()
|
||||
# let validProof = validProofRes.get()
|
||||
|
||||
let validated = manager.validateRoot(validProof.merkleRoot)
|
||||
# let validated = manager.validateRoot(validProof.merkleRoot)
|
||||
|
||||
check:
|
||||
validated == false
|
||||
# check:
|
||||
# validated == false
|
||||
|
||||
test "verifyProof: should verify valid proof":
|
||||
let credentials = generateCredentials(manager.rlnInstance)
|
||||
(waitFor manager.init()).isOkOr:
|
||||
raiseAssert $error
|
||||
# test "verifyProof: should verify valid proof":
|
||||
# let credentials = generateCredentials(manager.rlnInstance)
|
||||
# (waitFor manager.init()).isOkOr:
|
||||
# raiseAssert $error
|
||||
|
||||
let fut = newFuture[void]()
|
||||
# let fut = newFuture[void]()
|
||||
|
||||
proc callback(registrations: seq[Membership]): Future[void] {.async.} =
|
||||
if registrations.len == 1 and
|
||||
registrations[0].rateCommitment ==
|
||||
getRateCommitment(credentials, UserMessageLimit(20)).get() and
|
||||
registrations[0].index == 0:
|
||||
manager.idCredentials = some(credentials)
|
||||
fut.complete()
|
||||
# proc callback(registrations: seq[Membership]): Future[void] {.async.} =
|
||||
# if registrations.len == 1 and
|
||||
# registrations[0].rateCommitment ==
|
||||
# getRateCommitment(credentials, UserMessageLimit(20)).get() and
|
||||
# registrations[0].index == 0:
|
||||
# manager.idCredentials = some(credentials)
|
||||
# fut.complete()
|
||||
|
||||
manager.onRegister(callback)
|
||||
# manager.onRegister(callback)
|
||||
|
||||
try:
|
||||
waitFor manager.register(credentials, UserMessageLimit(20))
|
||||
except Exception, CatchableError:
|
||||
assert false, "exception raised: " & getCurrentExceptionMsg()
|
||||
waitFor fut
|
||||
# try:
|
||||
# waitFor manager.register(credentials, UserMessageLimit(20))
|
||||
# except Exception, CatchableError:
|
||||
# assert false, "exception raised: " & getCurrentExceptionMsg()
|
||||
# waitFor fut
|
||||
|
||||
let rootUpdated = waitFor manager.updateRoots()
|
||||
# let rootUpdated = waitFor manager.updateRoots()
|
||||
|
||||
if rootUpdated:
|
||||
let proofResult = waitFor manager.fetchMerkleProofElements()
|
||||
if proofResult.isErr():
|
||||
error "Failed to fetch Merkle proof", error = proofResult.error
|
||||
manager.merkleProofCache = proofResult.get()
|
||||
# if rootUpdated:
|
||||
# let proofResult = waitFor manager.fetchMerkleProofElements()
|
||||
# if proofResult.isErr():
|
||||
# error "Failed to fetch Merkle proof", error = proofResult.error
|
||||
# manager.merkleProofCache = proofResult.get()
|
||||
|
||||
let messageBytes = "Hello".toBytes()
|
||||
# let messageBytes = "Hello".toBytes()
|
||||
|
||||
# prepare the epoch
|
||||
let epoch = default(Epoch)
|
||||
debug "epoch in bytes", epochHex = epoch.inHex()
|
||||
# # prepare the epoch
|
||||
# let epoch = default(Epoch)
|
||||
# debug "epoch in bytes", epochHex = epoch.inHex()
|
||||
|
||||
# generate proof
|
||||
let validProof = manager.generateProof(
|
||||
data = messageBytes, epoch = epoch, messageId = MessageId(0)
|
||||
).valueOr:
|
||||
raiseAssert $error
|
||||
# # generate proof
|
||||
# let validProof = manager.generateProof(
|
||||
# data = messageBytes, epoch = epoch, messageId = MessageId(0)
|
||||
# ).valueOr:
|
||||
# raiseAssert $error
|
||||
|
||||
let verified = manager.verifyProof(messageBytes, validProof).valueOr:
|
||||
raiseAssert $error
|
||||
# let verified = manager.verifyProof(messageBytes, validProof).valueOr:
|
||||
# raiseAssert $error
|
||||
|
||||
check:
|
||||
verified
|
||||
# check:
|
||||
# verified
|
||||
|
||||
test "verifyProof: should reject invalid proof":
|
||||
(waitFor manager.init()).isOkOr:
|
||||
raiseAssert $error
|
||||
# test "verifyProof: should reject invalid proof":
|
||||
# (waitFor manager.init()).isOkOr:
|
||||
# raiseAssert $error
|
||||
|
||||
let idCredential = generateCredentials(manager.rlnInstance)
|
||||
# let idCredential = generateCredentials(manager.rlnInstance)
|
||||
|
||||
try:
|
||||
waitFor manager.register(idCredential, UserMessageLimit(20))
|
||||
except Exception, CatchableError:
|
||||
assert false,
|
||||
"exception raised when calling startGroupSync: " & getCurrentExceptionMsg()
|
||||
# try:
|
||||
# waitFor manager.register(idCredential, UserMessageLimit(20))
|
||||
# except Exception, CatchableError:
|
||||
# assert false,
|
||||
# "exception raised when calling startGroupSync: " & getCurrentExceptionMsg()
|
||||
|
||||
let messageBytes = "Hello".toBytes()
|
||||
# let messageBytes = "Hello".toBytes()
|
||||
|
||||
let rootUpdated = waitFor manager.updateRoots()
|
||||
# let rootUpdated = waitFor manager.updateRoots()
|
||||
|
||||
manager.merkleProofCache = newSeq[byte](640)
|
||||
for i in 0 ..< 640:
|
||||
manager.merkleProofCache[i] = byte(rand(255))
|
||||
# manager.merkleProofCache = newSeq[byte](640)
|
||||
# for i in 0 ..< 640:
|
||||
# manager.merkleProofCache[i] = byte(rand(255))
|
||||
|
||||
let epoch = default(Epoch)
|
||||
debug "epoch in bytes", epochHex = epoch.inHex()
|
||||
# let epoch = default(Epoch)
|
||||
# debug "epoch in bytes", epochHex = epoch.inHex()
|
||||
|
||||
# generate proof
|
||||
let invalidProofRes = manager.generateProof(
|
||||
data = messageBytes, epoch = epoch, messageId = MessageId(0)
|
||||
)
|
||||
# # generate proof
|
||||
# let invalidProofRes = manager.generateProof(
|
||||
# data = messageBytes, epoch = epoch, messageId = MessageId(0)
|
||||
# )
|
||||
|
||||
check:
|
||||
invalidProofRes.isOk()
|
||||
let invalidProof = invalidProofRes.get()
|
||||
# check:
|
||||
# invalidProofRes.isOk()
|
||||
# let invalidProof = invalidProofRes.get()
|
||||
|
||||
# verify the proof (should be false)
|
||||
let verified = manager.verifyProof(messageBytes, invalidProof).valueOr:
|
||||
raiseAssert $error
|
||||
# # verify the proof (should be false)
|
||||
# let verified = manager.verifyProof(messageBytes, invalidProof).valueOr:
|
||||
# raiseAssert $error
|
||||
|
||||
check:
|
||||
verified == false
|
||||
# check:
|
||||
# verified == false
|
||||
|
||||
test "root queue should be updated correctly":
|
||||
const credentialCount = 12
|
||||
let credentials = generateCredentials(manager.rlnInstance, credentialCount)
|
||||
(waitFor manager.init()).isOkOr:
|
||||
raiseAssert $error
|
||||
# test "root queue should be updated correctly":
|
||||
# const credentialCount = 12
|
||||
# let credentials = generateCredentials(manager.rlnInstance, credentialCount)
|
||||
# (waitFor manager.init()).isOkOr:
|
||||
# raiseAssert $error
|
||||
|
||||
type TestBackfillFuts = array[0 .. credentialCount - 1, Future[void]]
|
||||
var futures: TestBackfillFuts
|
||||
for i in 0 ..< futures.len():
|
||||
futures[i] = newFuture[void]()
|
||||
# type TestBackfillFuts = array[0 .. credentialCount - 1, Future[void]]
|
||||
# var futures: TestBackfillFuts
|
||||
# for i in 0 ..< futures.len():
|
||||
# futures[i] = newFuture[void]()
|
||||
|
||||
proc generateCallback(
|
||||
futs: TestBackfillFuts, credentials: seq[IdentityCredential]
|
||||
): OnRegisterCallback =
|
||||
var futureIndex = 0
|
||||
proc callback(registrations: seq[Membership]): Future[void] {.async.} =
|
||||
if registrations.len == 1 and
|
||||
registrations[0].rateCommitment ==
|
||||
getRateCommitment(credentials[futureIndex], UserMessageLimit(20)).get() and
|
||||
registrations[0].index == MembershipIndex(futureIndex):
|
||||
futs[futureIndex].complete()
|
||||
futureIndex += 1
|
||||
# proc generateCallback(
|
||||
# futs: TestBackfillFuts, credentials: seq[IdentityCredential]
|
||||
# ): OnRegisterCallback =
|
||||
# var futureIndex = 0
|
||||
# proc callback(registrations: seq[Membership]): Future[void] {.async.} =
|
||||
# if registrations.len == 1 and
|
||||
# registrations[0].rateCommitment ==
|
||||
# getRateCommitment(credentials[futureIndex], UserMessageLimit(20)).get() and
|
||||
# registrations[0].index == MembershipIndex(futureIndex):
|
||||
# futs[futureIndex].complete()
|
||||
# futureIndex += 1
|
||||
|
||||
return callback
|
||||
# return callback
|
||||
|
||||
try:
|
||||
manager.onRegister(generateCallback(futures, credentials))
|
||||
# try:
|
||||
# manager.onRegister(generateCallback(futures, credentials))
|
||||
|
||||
for i in 0 ..< credentials.len():
|
||||
waitFor manager.register(credentials[i], UserMessageLimit(20))
|
||||
discard waitFor manager.updateRoots()
|
||||
except Exception, CatchableError:
|
||||
assert false, "exception raised: " & getCurrentExceptionMsg()
|
||||
# for i in 0 ..< credentials.len():
|
||||
# waitFor manager.register(credentials[i], UserMessageLimit(20))
|
||||
# discard waitFor manager.updateRoots()
|
||||
# except Exception, CatchableError:
|
||||
# assert false, "exception raised: " & getCurrentExceptionMsg()
|
||||
|
||||
waitFor allFutures(futures)
|
||||
# waitFor allFutures(futures)
|
||||
|
||||
check:
|
||||
manager.validRoots.len() == credentialCount
|
||||
# check:
|
||||
# manager.validRoots.len() == credentialCount
|
||||
|
||||
test "isReady should return false if ethRpc is none":
|
||||
(waitFor manager.init()).isOkOr:
|
||||
raiseAssert $error
|
||||
# test "isReady should return false if ethRpc is none":
|
||||
# (waitFor manager.init()).isOkOr:
|
||||
# raiseAssert $error
|
||||
|
||||
manager.ethRpc = none(Web3)
|
||||
# manager.ethRpc = none(Web3)
|
||||
|
||||
var isReady = true
|
||||
try:
|
||||
isReady = waitFor manager.isReady()
|
||||
except Exception, CatchableError:
|
||||
assert false, "exception raised: " & getCurrentExceptionMsg()
|
||||
# var isReady = true
|
||||
# try:
|
||||
# isReady = waitFor manager.isReady()
|
||||
# except Exception, CatchableError:
|
||||
# assert false, "exception raised: " & getCurrentExceptionMsg()
|
||||
|
||||
check:
|
||||
isReady == false
|
||||
# check:
|
||||
# isReady == false
|
||||
|
||||
test "isReady should return true if ethRpc is ready":
|
||||
(waitFor manager.init()).isOkOr:
|
||||
raiseAssert $error
|
||||
# test "isReady should return true if ethRpc is ready":
|
||||
# (waitFor manager.init()).isOkOr:
|
||||
# raiseAssert $error
|
||||
|
||||
var isReady = false
|
||||
try:
|
||||
isReady = waitFor manager.isReady()
|
||||
except Exception, CatchableError:
|
||||
assert false, "exception raised: " & getCurrentExceptionMsg()
|
||||
# var isReady = false
|
||||
# try:
|
||||
# isReady = waitFor manager.isReady()
|
||||
# except Exception, CatchableError:
|
||||
# assert false, "exception raised: " & getCurrentExceptionMsg()
|
||||
|
||||
check:
|
||||
isReady == true
|
||||
# check:
|
||||
# isReady == true
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user