mirror of
https://github.com/status-im/nim-ethers.git
synced 2025-02-17 17:47:35 +00:00
debugging on ci
- add random port - add more logging
This commit is contained in:
parent
cbbbac9f4e
commit
93d8556e8b
@ -6,7 +6,7 @@ import std/tables
|
||||
import pkg/stew/byteutils
|
||||
import pkg/json_rpc/rpcserver except `%`, `%*`
|
||||
import pkg/json_rpc/errors
|
||||
|
||||
import std/random
|
||||
|
||||
type MockRpcHttpServer* = ref object
|
||||
filters*: Table[string, bool]
|
||||
@ -14,7 +14,10 @@ type MockRpcHttpServer* = ref object
|
||||
srv: RpcHttpServer
|
||||
|
||||
proc new*(_: type MockRpcHttpServer): MockRpcHttpServer =
|
||||
MockRpcHttpServer(filters: initTable[string, bool](), newFilterCounter: 0, srv: newRpcHttpServer(["127.0.0.1:65080"]))
|
||||
let port = rand(65000..<66000)
|
||||
let srv = newRpcHttpServer(["127.0.0.1:" & port])
|
||||
let filters = initTable[string, bool]()
|
||||
MockRpcHttpServer(filters: filters, newFilterCounter: 0, srv: srv)
|
||||
|
||||
proc invalidateFilter*(server: MockRpcHttpServer, id: string) =
|
||||
server.filters[id] = false
|
||||
|
@ -128,18 +128,29 @@ suite "HTTP polling subscriptions - filter not found":
|
||||
await mockServer.stop()
|
||||
|
||||
test "filter not found error recreates filter":
|
||||
echo "1"
|
||||
let filter = EventFilter(address: Address.example, topics: @[array[32, byte].example])
|
||||
echo "2"
|
||||
let emptyHandler = proc(log: Log) = discard
|
||||
echo "3"
|
||||
|
||||
check mockServer.newFilterCounter == 0
|
||||
echo "4"
|
||||
let jsonId = await subscriptions.subscribeLogs(filter, emptyHandler)
|
||||
echo "5"
|
||||
let id = string.fromJson(jsonId).tryGet
|
||||
echo "6"
|
||||
check mockServer.newFilterCounter == 1
|
||||
echo "7"
|
||||
|
||||
await sleepAsync(50.millis)
|
||||
echo "8"
|
||||
mockServer.invalidateFilter(id)
|
||||
echo "9"
|
||||
await sleepAsync(50.millis)
|
||||
echo "10"
|
||||
check mockServer.newFilterCounter == 2
|
||||
echo "11"
|
||||
|
||||
test "recreated filter can be still unsubscribed using the original id":
|
||||
let filter = EventFilter(address: Address.example, topics: @[array[32, byte].example])
|
||||
|
Loading…
x
Reference in New Issue
Block a user