Skip to main content

No project description provided

Project description

Pytest Web3 Data

PyPI - Version PyPI - Python Version


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

pytest_web3_data-0.1.1.tar.gz (6.5 kB view details)

Uploaded Source

Built Distribution

pytest_web3_data-0.1.1-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

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

Hashes for pytest_web3_data-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ec21bfaab5095f3244d48e1ca67000026464ee16c91bcf083077ea96b78a070c
MD5 2cc3ae1f1912b2c46b9dbf8068d152f2
BLAKE2b-256 a7e15056189edbacf79686f0468412aa2e75d4963b54db030ccc9879c388415b

See more details on using hashes here.

File details

Details for the file pytest_web3_data-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pytest_web3_data-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dfbce2f674fdd1faa35e2d2cc1db581bfc8eab45026b04e31a18a74d0caaeb70
MD5 9ac1471c53375a5bb3ac6a59d2df5ec6
BLAKE2b-256 0b08490103e7f76e87c0536842360858d089886641f9246232e0a13c16dc2ed7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page