mirror of
https://github.com/codex-storage/nim-codex.git
synced 2025-02-12 21:07:02 +00:00
* integration: move REST API tests into their own module * integration: move upload and download tests into their own module * integration: move purchasing tests into their own module * integration: move marketplace tests to the right module * integration: mine a block *after* starting nodes To ensure that tests involving multiple nodes do not start with out-of-sync clocks * Fix: do not swallow CancellationErrors * integration: avoid underflow in UInt256 * network: remove unnecessary error handling No Exceptions can occur, only Defects, because everything is asyncSpawned. Co-authored-by: Dmitriy Ryajov <dryajov@gmail.com> * network: do not raise in asyncSpawned proc Co-authored-by: Dmitriy Ryajov <dryajov@gmail.com> --------- Co-authored-by: Dmitriy Ryajov <dryajov@gmail.com>
38 lines
1.2 KiB
Nim
38 lines
1.2 KiB
Nim
import std/sequtils
|
|
from pkg/libp2p import `==`
|
|
import ./twonodes
|
|
|
|
twonodessuite "REST API", debug1 = false, debug2 = false:
|
|
|
|
test "nodes can print their peer information":
|
|
check !client1.info() != !client2.info()
|
|
|
|
test "nodes can set chronicles log level":
|
|
client1.setLogLevel("DEBUG;TRACE:codex")
|
|
|
|
test "node accepts file uploads":
|
|
let cid1 = client1.upload("some file contents").get
|
|
let cid2 = client1.upload("some other contents").get
|
|
check cid1 != cid2
|
|
|
|
test "node shows used and available space":
|
|
discard client1.upload("some file contents").get
|
|
discard client1.postAvailability(totalSize=12.u256, duration=2.u256, minPrice=3.u256, maxCollateral=4.u256).get
|
|
let space = client1.space().tryGet()
|
|
check:
|
|
space.totalBlocks == 2.uint
|
|
space.quotaMaxBytes == 8589934592.uint
|
|
space.quotaUsedBytes == 65592.uint
|
|
space.quotaReservedBytes == 12.uint
|
|
|
|
test "node lists local files":
|
|
let content1 = "some file contents"
|
|
let content2 = "some other contents"
|
|
|
|
let cid1 = client1.upload(content1).get
|
|
let cid2 = client1.upload(content2).get
|
|
let list = client1.list().get
|
|
|
|
check:
|
|
[cid1, cid2].allIt(it in list.content.mapIt(it.cid))
|