mirror of
https://github.com/codex-storage/nim-libp2p.git
synced 2025-01-10 19:16:09 +00:00
5b28e8c488
* count published messages * don't call `switch.dial` in `subscribeToPeer` * don't use delegation in connection * move connection out to own file * don't breakout on reset * make sure to call close on secured conn * add lpstream tracing * don't breackdown by conn id * fix import * remove unused lable * reset connection on exception * add additional metrics for skipped messages * check for nil in secure.close
50 lines
989 B
Nim
50 lines
989 B
Nim
import unittest
|
|
import chronos, nimcrypto/utils
|
|
import ../libp2p/[stream/connection,
|
|
stream/bufferstream]
|
|
|
|
suite "Connection":
|
|
test "close":
|
|
proc test(): Future[bool] {.async.} =
|
|
var conn = newBufferStream()
|
|
await conn.close()
|
|
check:
|
|
conn.closed == true
|
|
|
|
result = true
|
|
|
|
check:
|
|
waitFor(test()) == true
|
|
|
|
test "parent close":
|
|
proc test(): Future[bool] {.async.} =
|
|
var buf = newBufferStream()
|
|
var conn = buf
|
|
|
|
await conn.close()
|
|
check:
|
|
conn.closed == true
|
|
buf.closed == true
|
|
|
|
await sleepAsync(1.seconds)
|
|
result = true
|
|
|
|
check:
|
|
waitFor(test()) == true
|
|
|
|
test "child close":
|
|
proc test(): Future[bool] {.async.} =
|
|
var buf = newBufferStream()
|
|
var conn = buf
|
|
|
|
await buf.close()
|
|
check:
|
|
conn.closed == true
|
|
buf.closed == true
|
|
|
|
await sleepAsync(1.seconds)
|
|
result = true
|
|
|
|
check:
|
|
waitFor(test()) == true
|