mirror of https://github.com/status-im/nim-eth.git
37 lines
1.1 KiB
Nim
37 lines
1.1 KiB
Nim
|
#
|
||
|
# Waku
|
||
|
# (c) Copyright 2019
|
||
|
# Status Research & Development GmbH
|
||
|
#
|
||
|
# Licensed under either of
|
||
|
# Apache License, version 2.0, (LICENSE-APACHEv2)
|
||
|
# MIT license (LICENSE-MIT)
|
||
|
|
||
|
import
|
||
|
sequtils, tables, unittest, chronos, eth/[keys, p2p],
|
||
|
eth/p2p/rlpx_protocols/waku_protocol, eth/p2p/peer_pool,
|
||
|
./p2p_test_helper
|
||
|
|
||
|
const safeTTL = 5'u32
|
||
|
|
||
|
# TODO: Just repeat all the test_shh_connect tests here that are applicable or
|
||
|
# have some commonly shared test code for both protocols.
|
||
|
suite "Waku connections":
|
||
|
asyncTest "Light node posting":
|
||
|
var ln = setupTestNode(Waku)
|
||
|
ln.setLightNode(true)
|
||
|
var fn = setupTestNode(Waku)
|
||
|
fn.startListening()
|
||
|
await ln.peerPool.connectToNode(newNode(initENode(fn.keys.pubKey,
|
||
|
fn.address)))
|
||
|
|
||
|
let topic = [byte 0, 0, 0, 0]
|
||
|
|
||
|
check:
|
||
|
ln.peerPool.connectedNodes.len() == 1
|
||
|
# normal post
|
||
|
ln.postMessage(ttl = safeTTL, topic = topic,
|
||
|
payload = repeat(byte 0, 10)) == true
|
||
|
ln.protocolState(Waku).queue.items.len == 1
|
||
|
# TODO: add test on message relaying
|