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"
|
||||
author = "Dagger Team"
|
||||
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":
|
||||
check 2 == 2
|
||||
let address = initTAddress("127.0.0.1:48952")
|
||||
|
||||
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