mirror of
https://github.com/logos-storage/nim-json-rpc.git
synced 2026-01-04 06:33:10 +00:00
Let the OS choose the port for tests
This commit is contained in:
parent
31b741720b
commit
20b4c9a0fb
@ -78,6 +78,11 @@ proc connect*(client: RpcSocketClient, address: string, port: Port) {.async.} =
|
|||||||
client.address = addresses[0]
|
client.address = addresses[0]
|
||||||
client.loop = processData(client)
|
client.loop = processData(client)
|
||||||
|
|
||||||
|
proc connect*(client: RpcSocketClient, address: TransportAddress) {.async.} =
|
||||||
|
client.transport = await connect(address)
|
||||||
|
client.address = address
|
||||||
|
client.loop = processData(client)
|
||||||
|
|
||||||
method close*(client: RpcSocketClient) {.async.} =
|
method close*(client: RpcSocketClient) {.async.} =
|
||||||
await client.loop.cancelAndWait()
|
await client.loop.cancelAndWait()
|
||||||
if not client.transport.isNil:
|
if not client.transport.isNil:
|
||||||
|
|||||||
@ -127,4 +127,7 @@ proc stop*(proxy: RpcProxy) {.async.} =
|
|||||||
proc closeWait*(proxy: RpcProxy) {.async.} =
|
proc closeWait*(proxy: RpcProxy) {.async.} =
|
||||||
await proxy.rpcHttpServer.closeWait()
|
await proxy.rpcHttpServer.closeWait()
|
||||||
|
|
||||||
|
func localAddress*(proxy: RpcProxy): seq[TransportAddress] =
|
||||||
|
proxy.rpcHttpServer.localAddress()
|
||||||
|
|
||||||
{.pop.}
|
{.pop.}
|
||||||
|
|||||||
@ -291,3 +291,7 @@ proc closeWait*(server: RpcHttpServer) {.async.} =
|
|||||||
## Cleanup resources of RPC server.
|
## Cleanup resources of RPC server.
|
||||||
for item in server.httpServers:
|
for item in server.httpServers:
|
||||||
await item.closeWait()
|
await item.closeWait()
|
||||||
|
|
||||||
|
proc localAddress*(server: RpcHttpServer): seq[TransportAddress] =
|
||||||
|
for item in server.httpServers:
|
||||||
|
result.add item.instance.localAddress()
|
||||||
|
|||||||
@ -174,3 +174,7 @@ proc closeWait*(server: RpcSocketServer) {.async.} =
|
|||||||
## Cleanup resources of RPC server.
|
## Cleanup resources of RPC server.
|
||||||
for item in server.servers:
|
for item in server.servers:
|
||||||
await item.closeWait()
|
await item.closeWait()
|
||||||
|
|
||||||
|
proc localAddress*(server: RpcSocketServer): seq[TransportAddress] =
|
||||||
|
for x in server.servers:
|
||||||
|
result.add x.localAddress
|
||||||
|
|||||||
@ -206,3 +206,6 @@ proc close*(server: RpcWebSocketServer) =
|
|||||||
proc closeWait*(server: RpcWebSocketServer) {.async.} =
|
proc closeWait*(server: RpcWebSocketServer) {.async.} =
|
||||||
## Cleanup resources of RPC server.
|
## Cleanup resources of RPC server.
|
||||||
await server.server.closeWait()
|
await server.server.closeWait()
|
||||||
|
|
||||||
|
proc localAddress*(server: RpcWebSocketServer): TransportAddress =
|
||||||
|
server.server.localAddress()
|
||||||
|
|||||||
@ -79,12 +79,12 @@ proc installHandlers(s: RpcServer) =
|
|||||||
return "meow"
|
return "meow"
|
||||||
|
|
||||||
suite "test callsigs":
|
suite "test callsigs":
|
||||||
var server = newRpcSocketServer(["127.0.0.1:8545"])
|
var server = newRpcSocketServer(["127.0.0.1:0"])
|
||||||
server.installHandlers()
|
server.installHandlers()
|
||||||
var client = newRpcSocketClient()
|
var client = newRpcSocketClient()
|
||||||
|
|
||||||
server.start()
|
server.start()
|
||||||
waitFor client.connect("127.0.0.1", Port(8545))
|
waitFor client.connect(server.localAddress()[0])
|
||||||
|
|
||||||
test "callsigs from file":
|
test "callsigs from file":
|
||||||
let res = waitFor client.shh_uninstallFilter(123)
|
let res = waitFor client.shh_uninstallFilter(123)
|
||||||
|
|||||||
@ -1,3 +1,12 @@
|
|||||||
|
# json-rpc
|
||||||
|
# Copyright (c) 2023 Status Research & Development GmbH
|
||||||
|
# Licensed under either of
|
||||||
|
# * Apache License, version 2.0, ([LICENSE-APACHE](LICENSE-APACHE))
|
||||||
|
# * MIT license ([LICENSE-MIT](LICENSE-MIT))
|
||||||
|
# at your option.
|
||||||
|
# This file may not be copied, modified, or distributed except according to
|
||||||
|
# those terms.
|
||||||
|
|
||||||
import
|
import
|
||||||
unittest2,
|
unittest2,
|
||||||
../json_rpc/router,
|
../json_rpc/router,
|
||||||
|
|||||||
@ -21,7 +21,7 @@ from strutils import rsplit
|
|||||||
template sourceDir: string = currentSourcePath.rsplit(DirSep, 1)[0]
|
template sourceDir: string = currentSourcePath.rsplit(DirSep, 1)[0]
|
||||||
|
|
||||||
var
|
var
|
||||||
server = newRpcSocketServer("localhost", Port(8545))
|
server = newRpcSocketServer("127.0.0.1", Port(0))
|
||||||
client = newRpcSocketClient()
|
client = newRpcSocketClient()
|
||||||
|
|
||||||
## Generate Ethereum server RPCs
|
## Generate Ethereum server RPCs
|
||||||
@ -66,7 +66,7 @@ proc testSigCalls: Future[seq[string]] =
|
|||||||
return all(version, sha3)
|
return all(version, sha3)
|
||||||
|
|
||||||
server.start()
|
server.start()
|
||||||
waitFor client.connect("localhost", Port(8545))
|
waitFor client.connect(server.localAddress()[0])
|
||||||
|
|
||||||
|
|
||||||
suite "Local calls":
|
suite "Local calls":
|
||||||
|
|||||||
@ -14,7 +14,7 @@ import
|
|||||||
|
|
||||||
const
|
const
|
||||||
serverHost = "127.0.0.1"
|
serverHost = "127.0.0.1"
|
||||||
serverPort = 8547
|
serverPort = 0 # let the OS choose the port
|
||||||
serverAddress = serverHost & ":" & $serverPort
|
serverAddress = serverHost & ":" & $serverPort
|
||||||
|
|
||||||
proc setupServer*(srv: RpcServer) =
|
proc setupServer*(srv: RpcServer) =
|
||||||
@ -37,14 +37,14 @@ suite "HTTP server hook test":
|
|||||||
|
|
||||||
test "no auth token":
|
test "no auth token":
|
||||||
let client = newRpcHttpClient()
|
let client = newRpcHttpClient()
|
||||||
waitFor client.connect(serverHost, Port(serverPort), false)
|
waitFor client.connect("http://" & $srv.localAddress()[0])
|
||||||
expect ErrorResponse:
|
expect ErrorResponse:
|
||||||
let r = waitFor client.call("testHook", %[%"abc"])
|
let r = waitFor client.call("testHook", %[%"abc"])
|
||||||
discard r
|
discard r
|
||||||
|
|
||||||
test "good auth token":
|
test "good auth token":
|
||||||
let client = newRpcHttpClient(getHeaders = authHeaders)
|
let client = newRpcHttpClient(getHeaders = authHeaders)
|
||||||
waitFor client.connect(serverHost, Port(serverPort), false)
|
waitFor client.connect("http://" & $srv.localAddress()[0])
|
||||||
let r = waitFor client.call("testHook", %[%"abc"])
|
let r = waitFor client.call("testHook", %[%"abc"])
|
||||||
check r.string == "\"Hello abc\""
|
check r.string == "\"Hello abc\""
|
||||||
|
|
||||||
@ -72,8 +72,8 @@ suite "Websocket server hook test":
|
|||||||
return true
|
return true
|
||||||
|
|
||||||
let srv = newRpcWebSocketServer(
|
let srv = newRpcWebSocketServer(
|
||||||
"127.0.0.1",
|
serverHost,
|
||||||
Port(8545),
|
Port(serverPort),
|
||||||
authHooks = @[WsAuthHook(mockAuth)]
|
authHooks = @[WsAuthHook(mockAuth)]
|
||||||
)
|
)
|
||||||
srv.setupServer()
|
srv.setupServer()
|
||||||
@ -82,13 +82,13 @@ suite "Websocket server hook test":
|
|||||||
|
|
||||||
test "no auth token":
|
test "no auth token":
|
||||||
try:
|
try:
|
||||||
waitFor client.connect("ws://127.0.0.1:8545/")
|
waitFor client.connect("ws://" & $srv.localAddress())
|
||||||
check false
|
check false
|
||||||
except CatchableError as e:
|
except CatchableError as e:
|
||||||
check e.msg == "Server did not reply with a websocket upgrade: Header code: 403 Header reason: Forbidden Address: 127.0.0.1:8545"
|
check e.msg == "Server did not reply with a websocket upgrade: Header code: 403 Header reason: Forbidden Address: " & $srv.localAddress()
|
||||||
|
|
||||||
test "good auth token":
|
test "good auth token":
|
||||||
waitFor client.connect("ws://127.0.0.1:8545/", hooks = @[hook])
|
waitFor client.connect("ws://" & $srv.localAddress(), hooks = @[hook])
|
||||||
let r = waitFor client.call("testHook", %[%"abc"])
|
let r = waitFor client.call("testHook", %[%"abc"])
|
||||||
check r.string == "\"Hello abc\""
|
check r.string == "\"Hello abc\""
|
||||||
|
|
||||||
|
|||||||
@ -12,26 +12,26 @@ import ../json_rpc/[rpcserver, rpcclient]
|
|||||||
|
|
||||||
const TestsCount = 100
|
const TestsCount = 100
|
||||||
|
|
||||||
proc simpleTest(address: string, port: Port): Future[bool] {.async.} =
|
proc simpleTest(address: string): Future[bool] {.async.} =
|
||||||
var client = newRpcHttpClient()
|
var client = newRpcHttpClient()
|
||||||
await client.connect(address, port, secure = false)
|
await client.connect("http://" & address)
|
||||||
var r = await client.call("noParamsProc", %[])
|
var r = await client.call("noParamsProc", %[])
|
||||||
if r.string == "\"Hello world\"":
|
if r.string == "\"Hello world\"":
|
||||||
result = true
|
result = true
|
||||||
|
|
||||||
proc continuousTest(address: string, port: Port): Future[int] {.async.} =
|
proc continuousTest(address: string): Future[int] {.async.} =
|
||||||
var client = newRpcHttpClient()
|
var client = newRpcHttpClient()
|
||||||
result = 0
|
result = 0
|
||||||
for i in 0..<TestsCount:
|
for i in 0..<TestsCount:
|
||||||
await client.connect(address, port, secure = false)
|
await client.connect("http://" & address)
|
||||||
var r = await client.call("myProc", %[%"abc", %[1, 2, 3, i]])
|
var r = await client.call("myProc", %[%"abc", %[1, 2, 3, i]])
|
||||||
if r.string == "\"Hello abc data: [1, 2, 3, " & $i & "]\"":
|
if r.string == "\"Hello abc data: [1, 2, 3, " & $i & "]\"":
|
||||||
result += 1
|
result += 1
|
||||||
await client.close()
|
await client.close()
|
||||||
|
|
||||||
proc invalidTest(address: string, port: Port): Future[bool] {.async.} =
|
proc invalidTest(address: string): Future[bool] {.async.} =
|
||||||
var client = newRpcHttpClient()
|
var client = newRpcHttpClient()
|
||||||
await client.connect(address, port, secure = false)
|
await client.connect("http://" & address)
|
||||||
var invalidA, invalidB: bool
|
var invalidA, invalidB: bool
|
||||||
try:
|
try:
|
||||||
var r = await client.call("invalidProcA", %[])
|
var r = await client.call("invalidProcA", %[])
|
||||||
@ -46,7 +46,7 @@ proc invalidTest(address: string, port: Port): Future[bool] {.async.} =
|
|||||||
if invalidA and invalidB:
|
if invalidA and invalidB:
|
||||||
result = true
|
result = true
|
||||||
|
|
||||||
var httpsrv = newRpcHttpServer(["127.0.0.1:8545"])
|
var httpsrv = newRpcHttpServer(["127.0.0.1:0"])
|
||||||
|
|
||||||
# Create RPC on server
|
# Create RPC on server
|
||||||
httpsrv.rpc("myProc") do(input: string, data: array[0..3, int]):
|
httpsrv.rpc("myProc") do(input: string, data: array[0..3, int]):
|
||||||
@ -58,11 +58,11 @@ httpsrv.start()
|
|||||||
|
|
||||||
suite "JSON-RPC test suite":
|
suite "JSON-RPC test suite":
|
||||||
test "Simple RPC call":
|
test "Simple RPC call":
|
||||||
check waitFor(simpleTest("127.0.0.1", Port(8545))) == true
|
check waitFor(simpleTest($httpsrv.localAddress()[0])) == true
|
||||||
test "Continuous RPC calls (" & $TestsCount & " messages)":
|
test "Continuous RPC calls (" & $TestsCount & " messages)":
|
||||||
check waitFor(continuousTest("127.0.0.1", Port(8545))) == TestsCount
|
check waitFor(continuousTest($httpsrv.localAddress()[0])) == TestsCount
|
||||||
test "Invalid RPC calls":
|
test "Invalid RPC calls":
|
||||||
check waitFor(invalidTest("127.0.0.1", Port(8545))) == true
|
check waitFor(invalidTest($httpsrv.localAddress()[0])) == true
|
||||||
|
|
||||||
waitFor httpsrv.stop()
|
waitFor httpsrv.stop()
|
||||||
waitFor httpsrv.closeWait()
|
waitFor httpsrv.closeWait()
|
||||||
|
|||||||
@ -73,26 +73,26 @@ N8r5CwGcIX/XPC3lKazzbZ8baA==
|
|||||||
-----END CERTIFICATE-----
|
-----END CERTIFICATE-----
|
||||||
"""
|
"""
|
||||||
|
|
||||||
proc simpleTest(address: string, port: Port): Future[bool] {.async.} =
|
proc simpleTest(address: string): Future[bool] {.async.} =
|
||||||
var client = newRpcHttpClient(secure=true)
|
var client = newRpcHttpClient(secure=true)
|
||||||
await client.connect(address, port, secure=true)
|
await client.connect("https://" & address)
|
||||||
var r = await client.call("noParamsProc", %[])
|
var r = await client.call("noParamsProc", %[])
|
||||||
if r.string == "\"Hello world\"":
|
if r.string == "\"Hello world\"":
|
||||||
result = true
|
result = true
|
||||||
|
|
||||||
proc continuousTest(address: string, port: Port): Future[int] {.async.} =
|
proc continuousTest(address: string): Future[int] {.async.} =
|
||||||
var client = newRpcHttpClient(secure=true)
|
var client = newRpcHttpClient(secure=true)
|
||||||
result = 0
|
result = 0
|
||||||
for i in 0..<TestsCount:
|
for i in 0..<TestsCount:
|
||||||
await client.connect(address, port, secure=true)
|
await client.connect("https://" & address)
|
||||||
var r = await client.call("myProc", %[%"abc", %[1, 2, 3, i]])
|
var r = await client.call("myProc", %[%"abc", %[1, 2, 3, i]])
|
||||||
if r.string == "\"Hello abc data: [1, 2, 3, " & $i & "]\"":
|
if r.string == "\"Hello abc data: [1, 2, 3, " & $i & "]\"":
|
||||||
result += 1
|
result += 1
|
||||||
await client.close()
|
await client.close()
|
||||||
|
|
||||||
proc invalidTest(address: string, port: Port): Future[bool] {.async.} =
|
proc invalidTest(address: string): Future[bool] {.async.} =
|
||||||
var client = newRpcHttpClient(secure=true)
|
var client = newRpcHttpClient(secure=true)
|
||||||
await client.connect(address, port, secure=true)
|
await client.connect("https://" & address)
|
||||||
var invalidA, invalidB: bool
|
var invalidA, invalidB: bool
|
||||||
try:
|
try:
|
||||||
var r = await client.call("invalidProcA", %[])
|
var r = await client.call("invalidProcA", %[])
|
||||||
@ -111,7 +111,7 @@ let secureKey = TLSPrivateKey.init(HttpsSelfSignedRsaKey)
|
|||||||
let secureCert = TLSCertificate.init(HttpsSelfSignedRsaCert)
|
let secureCert = TLSCertificate.init(HttpsSelfSignedRsaCert)
|
||||||
var secureHttpSrv = RpcHttpServer.new()
|
var secureHttpSrv = RpcHttpServer.new()
|
||||||
|
|
||||||
secureHttpSrv.addSecureHttpServer("127.0.0.1:8545", secureKey, secureCert)
|
secureHttpSrv.addSecureHttpServer("127.0.0.1:0", secureKey, secureCert)
|
||||||
|
|
||||||
# Create RPC on server
|
# Create RPC on server
|
||||||
secureHttpSrv.rpc("myProc") do(input: string, data: array[0..3, int]):
|
secureHttpSrv.rpc("myProc") do(input: string, data: array[0..3, int]):
|
||||||
@ -123,11 +123,11 @@ secureHttpSrv.start()
|
|||||||
|
|
||||||
suite "JSON-RPC test suite":
|
suite "JSON-RPC test suite":
|
||||||
test "Simple RPC call":
|
test "Simple RPC call":
|
||||||
check waitFor(simpleTest("127.0.0.1", Port(8545))) == true
|
check waitFor(simpleTest($secureHttpSrv.localAddress()[0])) == true
|
||||||
test "Continuous RPC calls (" & $TestsCount & " messages)":
|
test "Continuous RPC calls (" & $TestsCount & " messages)":
|
||||||
check waitFor(continuousTest("127.0.0.1", Port(8545))) == TestsCount
|
check waitFor(continuousTest($secureHttpSrv.localAddress()[0])) == TestsCount
|
||||||
test "Invalid RPC calls":
|
test "Invalid RPC calls":
|
||||||
check waitFor(invalidTest("127.0.0.1", Port(8545))) == true
|
check waitFor(invalidTest($secureHttpSrv.localAddress()[0])) == true
|
||||||
|
|
||||||
waitFor secureHttpSrv.stop()
|
waitFor secureHttpSrv.stop()
|
||||||
waitFor secureHttpSrv.closeWait()
|
waitFor secureHttpSrv.closeWait()
|
||||||
|
|||||||
@ -11,9 +11,8 @@ import
|
|||||||
unittest2, chronicles,
|
unittest2, chronicles,
|
||||||
../json_rpc/[rpcclient, rpcserver, rpcproxy]
|
../json_rpc/[rpcclient, rpcserver, rpcproxy]
|
||||||
|
|
||||||
let srvAddress = initTAddress("127.0.0.1", Port(8545))
|
let srvAddress = initTAddress("127.0.0.1", Port(0))
|
||||||
let proxySrvAddress = "127.0.0.1:8546"
|
let proxySrvAddress = "127.0.0.1:0"
|
||||||
let proxySrvAddressForClient = "http://"&proxySrvAddress
|
|
||||||
|
|
||||||
template registerMethods(srv: RpcServer, proxy: RpcProxy) =
|
template registerMethods(srv: RpcServer, proxy: RpcProxy) =
|
||||||
srv.rpc("myProc") do(input: string, data: array[0..3, int]):
|
srv.rpc("myProc") do(input: string, data: array[0..3, int]):
|
||||||
@ -27,14 +26,14 @@ template registerMethods(srv: RpcServer, proxy: RpcProxy) =
|
|||||||
|
|
||||||
suite "Proxy RPC through http":
|
suite "Proxy RPC through http":
|
||||||
var srv = newRpcHttpServer([srvAddress])
|
var srv = newRpcHttpServer([srvAddress])
|
||||||
var proxy = RpcProxy.new([proxySrvAddress], getHttpClientConfig("http://127.0.0.1:8545"))
|
var proxy = RpcProxy.new([proxySrvAddress], getHttpClientConfig("http://" & $srv.localAddress()[0]))
|
||||||
var client = newRpcHttpClient()
|
var client = newRpcHttpClient()
|
||||||
|
|
||||||
registerMethods(srv, proxy)
|
registerMethods(srv, proxy)
|
||||||
|
|
||||||
srv.start()
|
srv.start()
|
||||||
waitFor proxy.start()
|
waitFor proxy.start()
|
||||||
waitFor client.connect(proxySrvAddressForClient)
|
waitFor client.connect("http://" & $proxy.localAddress()[0])
|
||||||
|
|
||||||
test "Successful RPC call thorugh proxy":
|
test "Successful RPC call thorugh proxy":
|
||||||
let r = waitFor client.call("myProc", %[%"abc", %[1, 2, 3, 4]])
|
let r = waitFor client.call("myProc", %[%"abc", %[1, 2, 3, 4]])
|
||||||
@ -56,14 +55,14 @@ suite "Proxy RPC through http":
|
|||||||
|
|
||||||
suite "Proxy RPC through websockets":
|
suite "Proxy RPC through websockets":
|
||||||
var srv = newRpcWebSocketServer(srvAddress)
|
var srv = newRpcWebSocketServer(srvAddress)
|
||||||
var proxy = RpcProxy.new([proxySrvAddress], getWebSocketClientConfig("ws://127.0.0.1:8545"))
|
var proxy = RpcProxy.new([proxySrvAddress], getWebSocketClientConfig("ws://" & $srv.localAddress()))
|
||||||
var client = newRpcHttpClient()
|
var client = newRpcHttpClient()
|
||||||
|
|
||||||
registerMethods(srv, proxy)
|
registerMethods(srv, proxy)
|
||||||
|
|
||||||
srv.start()
|
srv.start()
|
||||||
waitFor proxy.start()
|
waitFor proxy.start()
|
||||||
waitFor client.connect(proxySrvAddressForClient)
|
waitFor client.connect("http://" & $proxy.localAddress()[0])
|
||||||
|
|
||||||
test "Successful RPC call thorugh proxy":
|
test "Successful RPC call thorugh proxy":
|
||||||
let r = waitFor client.call("myProc", %[%"abc", %[1, 2, 3, 4]])
|
let r = waitFor client.call("myProc", %[%"abc", %[1, 2, 3, 4]])
|
||||||
|
|||||||
@ -64,7 +64,7 @@ let
|
|||||||
},
|
},
|
||||||
"c": %1.0}
|
"c": %1.0}
|
||||||
|
|
||||||
var s = newRpcSocketServer(["127.0.0.1:8545"])
|
var s = newRpcSocketServer(["127.0.0.1:0"])
|
||||||
|
|
||||||
# RPC definitions
|
# RPC definitions
|
||||||
s.rpc("rpc.simplePath"):
|
s.rpc("rpc.simplePath"):
|
||||||
|
|||||||
@ -23,12 +23,12 @@ proc setupServer*(srv: RpcServer) =
|
|||||||
raise (ref InvalidRequest)(code: -32001, msg: "Unknown payload")
|
raise (ref InvalidRequest)(code: -32001, msg: "Unknown payload")
|
||||||
|
|
||||||
suite "Socket Server/Client RPC":
|
suite "Socket Server/Client RPC":
|
||||||
var srv = newRpcSocketServer(["127.0.0.1:8545"])
|
var srv = newRpcSocketServer(["127.0.0.1:0"])
|
||||||
var client = newRpcSocketClient()
|
var client = newRpcSocketClient()
|
||||||
|
|
||||||
srv.setupServer()
|
srv.setupServer()
|
||||||
srv.start()
|
srv.start()
|
||||||
waitFor client.connect("127.0.0.1", Port(8545))
|
waitFor client.connect(srv.localAddress()[0])
|
||||||
|
|
||||||
test "Successful RPC call":
|
test "Successful RPC call":
|
||||||
let r = waitFor client.call("myProc", %[%"abc", %[1, 2, 3, 4]])
|
let r = waitFor client.call("myProc", %[%"abc", %[1, 2, 3, 4]])
|
||||||
@ -53,12 +53,12 @@ suite "Socket Server/Client RPC":
|
|||||||
waitFor srv.closeWait()
|
waitFor srv.closeWait()
|
||||||
|
|
||||||
suite "Websocket Server/Client RPC":
|
suite "Websocket Server/Client RPC":
|
||||||
var srv = newRpcWebSocketServer("127.0.0.1", Port(8545))
|
var srv = newRpcWebSocketServer("127.0.0.1", Port(0))
|
||||||
var client = newRpcWebSocketClient()
|
var client = newRpcWebSocketClient()
|
||||||
|
|
||||||
srv.setupServer()
|
srv.setupServer()
|
||||||
srv.start()
|
srv.start()
|
||||||
waitFor client.connect("ws://127.0.0.1:8545/")
|
waitFor client.connect("ws://" & $srv.localAddress())
|
||||||
|
|
||||||
test "Successful RPC call":
|
test "Successful RPC call":
|
||||||
let r = waitFor client.call("myProc", %[%"abc", %[1, 2, 3, 4]])
|
let r = waitFor client.call("myProc", %[%"abc", %[1, 2, 3, 4]])
|
||||||
@ -83,13 +83,13 @@ suite "Websocket Server/Client RPC":
|
|||||||
waitFor srv.closeWait()
|
waitFor srv.closeWait()
|
||||||
|
|
||||||
suite "Websocket Server/Client RPC with Compression":
|
suite "Websocket Server/Client RPC with Compression":
|
||||||
var srv = newRpcWebSocketServer("127.0.0.1", Port(8545),
|
var srv = newRpcWebSocketServer("127.0.0.1", Port(0),
|
||||||
compression = true)
|
compression = true)
|
||||||
var client = newRpcWebSocketClient()
|
var client = newRpcWebSocketClient()
|
||||||
|
|
||||||
srv.setupServer()
|
srv.setupServer()
|
||||||
srv.start()
|
srv.start()
|
||||||
waitFor client.connect("ws://127.0.0.1:8545/",
|
waitFor client.connect("ws://" & $srv.localAddress(),
|
||||||
compression = true)
|
compression = true)
|
||||||
|
|
||||||
test "Successful RPC call":
|
test "Successful RPC call":
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user