debugging on ci

- add random port
- add more logging
This commit is contained in:
Eric 2024-10-23 18:49:27 +11:00
parent cbbbac9f4e
commit 93d8556e8b
No known key found for this signature in database
2 changed files with 16 additions and 2 deletions

View File

@ -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

View File

@ -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])