mirror of
https://github.com/status-im/nim-ethers.git
synced 2025-02-20 11:08:18 +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/stew/byteutils
|
||||||
import pkg/json_rpc/rpcserver except `%`, `%*`
|
import pkg/json_rpc/rpcserver except `%`, `%*`
|
||||||
import pkg/json_rpc/errors
|
import pkg/json_rpc/errors
|
||||||
|
import std/random
|
||||||
|
|
||||||
type MockRpcHttpServer* = ref object
|
type MockRpcHttpServer* = ref object
|
||||||
filters*: Table[string, bool]
|
filters*: Table[string, bool]
|
||||||
@ -14,7 +14,10 @@ type MockRpcHttpServer* = ref object
|
|||||||
srv: RpcHttpServer
|
srv: RpcHttpServer
|
||||||
|
|
||||||
proc new*(_: type MockRpcHttpServer): MockRpcHttpServer =
|
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) =
|
proc invalidateFilter*(server: MockRpcHttpServer, id: string) =
|
||||||
server.filters[id] = false
|
server.filters[id] = false
|
||||||
|
@ -128,18 +128,29 @@ suite "HTTP polling subscriptions - filter not found":
|
|||||||
await mockServer.stop()
|
await mockServer.stop()
|
||||||
|
|
||||||
test "filter not found error recreates filter":
|
test "filter not found error recreates filter":
|
||||||
|
echo "1"
|
||||||
let filter = EventFilter(address: Address.example, topics: @[array[32, byte].example])
|
let filter = EventFilter(address: Address.example, topics: @[array[32, byte].example])
|
||||||
|
echo "2"
|
||||||
let emptyHandler = proc(log: Log) = discard
|
let emptyHandler = proc(log: Log) = discard
|
||||||
|
echo "3"
|
||||||
|
|
||||||
check mockServer.newFilterCounter == 0
|
check mockServer.newFilterCounter == 0
|
||||||
|
echo "4"
|
||||||
let jsonId = await subscriptions.subscribeLogs(filter, emptyHandler)
|
let jsonId = await subscriptions.subscribeLogs(filter, emptyHandler)
|
||||||
|
echo "5"
|
||||||
let id = string.fromJson(jsonId).tryGet
|
let id = string.fromJson(jsonId).tryGet
|
||||||
|
echo "6"
|
||||||
check mockServer.newFilterCounter == 1
|
check mockServer.newFilterCounter == 1
|
||||||
|
echo "7"
|
||||||
|
|
||||||
await sleepAsync(50.millis)
|
await sleepAsync(50.millis)
|
||||||
|
echo "8"
|
||||||
mockServer.invalidateFilter(id)
|
mockServer.invalidateFilter(id)
|
||||||
|
echo "9"
|
||||||
await sleepAsync(50.millis)
|
await sleepAsync(50.millis)
|
||||||
|
echo "10"
|
||||||
check mockServer.newFilterCounter == 2
|
check mockServer.newFilterCounter == 2
|
||||||
|
echo "11"
|
||||||
|
|
||||||
test "recreated filter can be still unsubscribed using the original id":
|
test "recreated filter can be still unsubscribed using the original id":
|
||||||
let filter = EventFilter(address: Address.example, topics: @[array[32, byte].example])
|
let filter = EventFilter(address: Address.example, topics: @[array[32, byte].example])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user