-
Notifications
You must be signed in to change notification settings - Fork 25
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix verifiable manifest constructor (#844)
* Fix verifiable manifest constructor * Add integration test for verifiable manifest download Add integration test for testing download of verifiable dataset after creating request for storage * add missing import * add testecbug to integration suite * Remove hardhat instance from integration test * change description, drop echo --------- Co-authored-by: Eric <[email protected]> Co-authored-by: gmega <[email protected]>
- Loading branch information
1 parent
5b13161
commit 11eaebf
Showing
5 changed files
with
108 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
from pkg/libp2p import Cid, init | ||
import ../examples | ||
import ./marketplacesuite | ||
import ./nodeconfigs | ||
import ./hardhatconfig | ||
|
||
marketplacesuite "Bug #821 - node crashes during erasure coding": | ||
|
||
test "should be able to create storage request and download dataset", | ||
NodeConfigs( | ||
clients: | ||
CodexConfigs.init(nodes=1) | ||
# .debug() # uncomment to enable console log output.debug() | ||
.withLogFile() # uncomment to output log file to tests/integration/logs/<start_datetime> <suite_name>/<test_name>/<node_role>_<node_idx>.log | ||
.withLogTopics("node", "erasure", "marketplace", ) | ||
.some, | ||
|
||
providers: | ||
CodexConfigs.init(nodes=0) | ||
# .debug() # uncomment to enable console log output | ||
# .withLogFile() # uncomment to output log file to tests/integration/logs/<start_datetime> <suite_name>/<test_name>/<node_role>_<node_idx>.log | ||
# .withLogTopics("node", "marketplace", "sales", "reservations", "node", "proving", "clock") | ||
.some, | ||
): | ||
let reward = 400.u256 | ||
let duration = 10.periods | ||
let collateral = 200.u256 | ||
let expiry = 5.periods | ||
let data = await RandomChunker.example(blocks=8) | ||
let client = clients()[0] | ||
let clientApi = client.client | ||
|
||
let cid = clientApi.upload(data).get | ||
|
||
var requestId = none RequestId | ||
proc onStorageRequested(event: StorageRequested) {.raises:[].} = | ||
requestId = event.requestId.some | ||
|
||
let subscription = await marketplace.subscribe(StorageRequested, onStorageRequested) | ||
|
||
# client requests storage but requires multiple slots to host the content | ||
let id = await clientApi.requestStorage( | ||
cid, | ||
duration=duration, | ||
reward=reward, | ||
expiry=expiry, | ||
collateral=collateral, | ||
nodes=3, | ||
tolerance=1 | ||
) | ||
|
||
check eventually(requestId.isSome, timeout=expiry.int * 1000) | ||
|
||
let request = await marketplace.getRequest(requestId.get) | ||
let cidFromRequest = Cid.init(request.content.cid).get() | ||
let downloaded = await clientApi.downloadBytes(cidFromRequest, local = true) | ||
check downloaded.isOk | ||
check downloaded.get.toHex == data.toHex | ||
|
||
await subscription.unsubscribe() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters