2018-06-26 15:45:40 +01:00
|
|
|
import unittest, json, chronicles, unittest
|
|
|
|
|
import ../rpchttpservers
|
2018-06-19 18:22:01 +01:00
|
|
|
|
|
|
|
|
var srv = newRpcHttpServer(["localhost:8545"])
|
2018-06-26 15:45:40 +01:00
|
|
|
var client = newRpcHttpClient()
|
2018-06-19 18:22:01 +01:00
|
|
|
|
|
|
|
|
# Create RPC on server
|
|
|
|
|
srv.rpc("myProc") do(input: string, data: array[0..3, int]):
|
|
|
|
|
result = %("Hello " & input & " data: " & $data)
|
|
|
|
|
|
|
|
|
|
srv.start()
|
2018-06-26 15:45:40 +01:00
|
|
|
waitFor client.httpConnect("localhost", Port(8545))
|
2018-06-19 18:22:01 +01:00
|
|
|
|
2018-06-26 15:45:40 +01:00
|
|
|
suite "HTTP RPC transport":
|
|
|
|
|
test "Call":
|
|
|
|
|
var r = waitFor client.httpcall("myProc", %[%"abc", %[1, 2, 3, 4]])
|
|
|
|
|
check r.error == false and r.result == %"Hello abc data: [1, 2, 3, 4]"
|
2018-06-19 18:22:01 +01:00
|
|
|
|
2018-06-26 15:45:40 +01:00
|
|
|
srv.stop()
|
2018-06-19 18:22:01 +01:00
|
|
|
srv.close()
|
|
|
|
|
echo "done"
|