mirror of
https://github.com/status-im/nim-codex.git
synced 2025-02-21 06:58:52 +00:00
51 lines
1.2 KiB
Nim
51 lines
1.2 KiB
Nim
import ../examples
|
|
import ./multinodes
|
|
|
|
multinodesuite "Node block expiration tests":
|
|
var content: seq[byte]
|
|
|
|
setup:
|
|
content = await RandomChunker.example(blocks = 8)
|
|
|
|
test "node retains not-expired file",
|
|
NodeConfigs(
|
|
clients: CodexConfigs
|
|
.init(nodes = 1)
|
|
.withBlockTtl(0, 10)
|
|
.withBlockMaintenanceInterval(0, 1).some,
|
|
providers: CodexConfigs.none,
|
|
):
|
|
let client = clients()[0]
|
|
let clientApi = client.client
|
|
|
|
let contentId = clientApi.upload(content).get
|
|
|
|
await sleepAsync(2.seconds)
|
|
|
|
let download = clientApi.download(contentId, local = true)
|
|
|
|
check:
|
|
download.isOk
|
|
download.get == string.fromBytes(content)
|
|
|
|
test "node deletes expired file",
|
|
NodeConfigs(
|
|
clients: CodexConfigs
|
|
.init(nodes = 1)
|
|
.withBlockTtl(0, 1)
|
|
.withBlockMaintenanceInterval(0, 1).some,
|
|
providers: CodexConfigs.none,
|
|
):
|
|
let client = clients()[0]
|
|
let clientApi = client.client
|
|
|
|
let contentId = clientApi.upload(content).get
|
|
|
|
await sleepAsync(3.seconds)
|
|
|
|
let download = clientApi.download(contentId, local = true)
|
|
|
|
check:
|
|
download.isFailure
|
|
download.error.msg == "404 Not Found"
|