No project description provided
Project description
Pytest Web3 Data
A pytest plugin to fetch test data from IPFS HTTP gateways during pytest execution.
Table of Contents
Installation
pip install pytest-web3-data
Usage
Let's say we want to store our testing data at test/data/*
.
Optionally, first add test/data/
to .gitignore
.
Create example test data:
mkdir -p test/data/staging/
echo 'hello world!' > ./test/data/staging/hello.txt
Upload the data to the InterPlanetary File System (IPFS).
One option is to use web3.storage. Install Node/NPM, and install the w3 CLI:
npm install --location=global @web3-storage/w3
The set your upload token from https://web3.storage:
w3 token
# Paste in token from the web UI
Upload the testing data to IPFS:
w3 put ./test/data/staging --name pytest-web3-data-example --hidden --no-wrap
This outputs a reference to the Content Identifier (CID), e.g.:
# Packed 1 file (0.0MB)
# bafybeigvfmtttajzj5no3jt2xavkdncxy3xapw3rndvoxmao72vhwy4osu
⁂ Stored 1 file
⁂ https://w3s.link/ipfs/bafybeigvfmtttajzj5no3jt2xavkdncxy3xapw3rndvoxmao72vhwy4osu
When we create a test, e.g.:
# content of test_usage.py
def test_usage(web3_data):
assert web3_data.exists()
assert (web3_data / 'hello.txt').read_text() == "hello world!\n"
We can reference our CID either with a flag:
pytest --web3-data-dir=test/data/bafybeigvfmtttajzj5no3jt2xavkdncxy3xapw3rndvoxmao72vhwy4osu
or in the pytest.ini
file:
# content of pytest.ini
[pytest]
web3_data_dir = test/data/bafybeigvfmtttajzj5no3jt2xavkdncxy3xapw3rndvoxmao72vhwy4osu
Enjoy! 😊
License
pytest-web3-data
is distributed under the terms of the MIT license.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pytest_web3_data-0.1.1.tar.gz
.
File metadata
- Download URL: pytest_web3_data-0.1.1.tar.gz
- Upload date:
- Size: 6.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.23.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec21bfaab5095f3244d48e1ca67000026464ee16c91bcf083077ea96b78a070c |
|
MD5 | 2cc3ae1f1912b2c46b9dbf8068d152f2 |
|
BLAKE2b-256 | a7e15056189edbacf79686f0468412aa2e75d4963b54db030ccc9879c388415b |
File details
Details for the file pytest_web3_data-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: pytest_web3_data-0.1.1-py3-none-any.whl
- Upload date:
- Size: 4.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.23.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dfbce2f674fdd1faa35e2d2cc1db581bfc8eab45026b04e31a18a74d0caaeb70 |
|
MD5 | 9ac1471c53375a5bb3ac6a59d2df5ec6 |
|
BLAKE2b-256 | 0b08490103e7f76e87c0536842360858d089886641f9246232e0a13c16dc2ed7 |