mirror of
https://github.com/vacp2p/research.git
synced 2025-02-24 04:08:15 +00:00
61 lines
1.5 KiB
Nim
61 lines
1.5 KiB
Nim
import cas_service_pb
|
|
import cas_service_twirp
|
|
import strutils
|
|
import byteutils
|
|
import strformat
|
|
|
|
# XXX: Hacky tests
|
|
# Can retrieve and post node
|
|
|
|
# CAS util
|
|
proc createContent*(s: string): vac_cas_Content =
|
|
var content = newvac_cas_Content()
|
|
try:
|
|
content.data = hexToSeqByte(s.toHex())
|
|
except:
|
|
echo("Unable to create Content data")
|
|
quit(QuitFailure)
|
|
return content
|
|
|
|
proc createAddress*(s: string): vac_cas_Address =
|
|
var address = newvac_cas_Address()
|
|
try:
|
|
setid(address, hexToSeqByte(s))
|
|
except:
|
|
echo("Unable to create Address data")
|
|
quit(QuitFailure)
|
|
return address
|
|
|
|
let casClient = newCASClient("http://localhost:8001")
|
|
|
|
proc postContent(s: string): string =
|
|
var content = createContent(s)
|
|
try:
|
|
let resp = Add(casClient, content)
|
|
let str = parseHexStr(toHex(resp.id))
|
|
echo(&"I got a new post: {str}")
|
|
return str
|
|
except Exception as e:
|
|
echo(&"Exception: {e.msg}")
|
|
|
|
proc getContent(s: string): string =
|
|
echo("getContent s: <", s, ">")
|
|
var address = createAddress(s)
|
|
echo("getContent address: <", toHex(address.id), ">")
|
|
try:
|
|
let resp = Get(casClient, address)
|
|
let str = parseHexStr(toHex(resp.data))
|
|
echo(&"I got a new post: {str}")
|
|
return str
|
|
except Exception as e:
|
|
echo(&"Exception: {e.msg}")
|
|
|
|
when isMainModule:
|
|
echo("Running CAS tests")
|
|
doAssert 1 == 1
|
|
let id = postContent("hello")
|
|
echo("ID:", id)
|
|
let res = getContent(id)
|
|
echo("getContent res:", res)
|
|
# TODO: Run retrieve test on this ID
|