mirror of
https://github.com/codex-storage/nim-codex.git
synced 2025-02-02 08:05:15 +00:00
49 lines
1.1 KiB
Nim
49 lines
1.1 KiB
Nim
import std/os
|
|
import pkg/asynctest
|
|
import pkg/chronos
|
|
import pkg/ipfs
|
|
|
|
suite "integration":
|
|
|
|
let address = MultiAddress.init("/ip4/127.0.0.1/tcp/48952").get()
|
|
|
|
var peer1, peer2: Ipfs
|
|
var input, output: File
|
|
|
|
proc setupPeers {.async.} =
|
|
peer1 = await Ipfs.start(address)
|
|
peer2 = await Ipfs.start()
|
|
await peer2.connect(peer1.info)
|
|
|
|
proc setupFiles =
|
|
input = open("tests/input.txt", fmReadWrite)
|
|
output = open("tests/output.txt", fmReadWrite)
|
|
input.write("foo")
|
|
input.setFilePos(0)
|
|
|
|
proc teardownPeers {.async.} =
|
|
await peer1.stop()
|
|
await peer2.stop()
|
|
|
|
proc teardownFiles =
|
|
input.close()
|
|
output.close()
|
|
removeFile("tests/input.txt")
|
|
removeFile("tests/output.txt")
|
|
|
|
setup:
|
|
await setupPeers()
|
|
setupFiles()
|
|
|
|
teardown:
|
|
await teardownPeers()
|
|
teardownFiles()
|
|
|
|
test "file can be transferred from one peer to another":
|
|
let identifier = await peer1.add(input)
|
|
await peer2.get(identifier, output)
|
|
|
|
input.setFilePos(0)
|
|
output.setFilePos(0)
|
|
check output.readAll() == input.readAll()
|