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

View File

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