Added (failing) test for transferring file from one peer to another
This commit is contained in:
parent
bd29797aba
commit
2471423197
22
dagger.nim
22
dagger.nim
|
@ -0,0 +1,22 @@
|
||||||
|
import pkg/chronos
|
||||||
|
|
||||||
|
type
|
||||||
|
DaggerPeer* = ref object
|
||||||
|
|
||||||
|
proc newDaggerPeer*: DaggerPeer =
|
||||||
|
DaggerPeer()
|
||||||
|
|
||||||
|
proc listen*(peer: DaggerPeer, address: TransportAddress) =
|
||||||
|
discard
|
||||||
|
|
||||||
|
proc dial*(peer: DaggerPeer, address: TransportAddress) =
|
||||||
|
discard
|
||||||
|
|
||||||
|
proc upload*(peer: DaggerPeer, input: File): Future[string] {.async.} =
|
||||||
|
discard
|
||||||
|
|
||||||
|
proc download*(peer: DaggerPeer, identifier: string, output: File) {.async.} =
|
||||||
|
discard
|
||||||
|
|
||||||
|
proc close*(peer: DaggerPeer) =
|
||||||
|
discard
|
|
@ -1,4 +1,8 @@
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
author = "Dagger Team"
|
author = "Dagger Team"
|
||||||
description = "Dagger Storage Network"
|
description = "Dagger Storage Network"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
|
||||||
|
requires "nim >= 1.4.2 & < 2.0.0"
|
||||||
|
requires "chronos >= 2.5.2 & < 3.0.0"
|
||||||
|
requires "asynctest >= 0.2.1 & < 0.3.0"
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
--path:".."
|
|
@ -1,6 +1,49 @@
|
||||||
import unittest
|
import std/os
|
||||||
|
import pkg/asynctest
|
||||||
|
import pkg/chronos
|
||||||
|
import pkg/dagger
|
||||||
|
|
||||||
suite "example":
|
suite "integration":
|
||||||
|
|
||||||
test "unit testing works":
|
let address = initTAddress("127.0.0.1:48952")
|
||||||
check 2 == 2
|
|
||||||
|
var peer1, peer2: DaggerPeer
|
||||||
|
var input, output: File
|
||||||
|
|
||||||
|
proc setupPeers =
|
||||||
|
peer1 = newDaggerPeer()
|
||||||
|
peer2 = newDaggerPeer()
|
||||||
|
peer1.listen(address)
|
||||||
|
peer2.dial(address)
|
||||||
|
|
||||||
|
proc setupFiles =
|
||||||
|
input = open("tests/input.txt", fmReadWrite)
|
||||||
|
output = open("tests/output.txt", fmReadWrite)
|
||||||
|
input.write("foo")
|
||||||
|
input.setFilePos(0)
|
||||||
|
|
||||||
|
proc teardownPeers =
|
||||||
|
peer1.close()
|
||||||
|
peer2.close()
|
||||||
|
|
||||||
|
proc teardownFiles =
|
||||||
|
input.close()
|
||||||
|
output.close()
|
||||||
|
removeFile("tests/input.txt")
|
||||||
|
removeFile("tests/output.txt")
|
||||||
|
|
||||||
|
setup:
|
||||||
|
setupPeers()
|
||||||
|
setupFiles()
|
||||||
|
|
||||||
|
teardown:
|
||||||
|
teardownPeers()
|
||||||
|
teardownFiles()
|
||||||
|
|
||||||
|
test "file can be transferred from one peer to another":
|
||||||
|
let identifier = await peer1.upload(input)
|
||||||
|
await peer2.download(identifier, output)
|
||||||
|
|
||||||
|
input.setFilePos(0)
|
||||||
|
output.setFilePos(0)
|
||||||
|
check output.readAll() == input.readAll()
|
||||||
|
|
Loading…
Reference in New Issue