跳至主要内容

pytest执行期间从IPFS HTTP网关获取测试数据的pytest插件。

项目描述

Pytest Web3 Data

PyPI - Version PyPI - Python Version test


pytest执行期间从IPFS HTTP网关获取测试数据的pytest插件。

目录

安装

pip install pytest-web3-data

使用方法

假设我们想在test/data/*存储我们的测试数据。

可选,首先将test/data/添加到.gitignore

创建示例测试数据

mkdir -p test/data/staging/
echo 'hello world!' > ./test/data/staging/hello.txt

将数据上传到星际文件系统(IPFS)

一个选项是使用web3.storage。安装Node/NPM,并安装w3 CLI

npm install --location=global @web3-storage/w3

设置从https://web3.storage的上传令牌

w3 token
# Paste in token from the web UI

将测试数据上传到IPFS

w3 put ./test/data/staging --name pytest-web3-data-example --hidden --no-wrap

这会输出内容标识符(CID)的引用,例如。

# Packed 1 file (0.0MB)
# bafybeigvfmtttajzj5no3jt2xavkdncxy3xapw3rndvoxmao72vhwy4osu
⁂ Stored 1 file
⁂ https://w3s.link/ipfs/bafybeigvfmtttajzj5no3jt2xavkdncxy3xapw3rndvoxmao72vhwy4osu

当我们创建一个测试时,例如。

# content of test_usage.py
def test_usage(web3_data):
    assert web3_data.exists()
    assert (web3_data / 'hello.txt').read_text() == "hello world!\n"

我们可以通过标志或

pytest --web3-data-dir=test/data/bafybeigvfmtttajzj5no3jt2xavkdncxy3xapw3rndvoxmao72vhwy4osu

pytest.ini文件中引用我们的CID

# content of pytest.ini
[pytest]
web3_data_dir = test/data/bafybeigvfmtttajzj5no3jt2xavkdncxy3xapw3rndvoxmao72vhwy4osu

要添加新数据,请将当前的 web3_data 目录复制到一个预发布目录中,例如 test/data/staging,添加新数据,并使用此预发布目录路径作为 --web3-data-dir。在提交到 Git 之前,先上传到 IPFS。

为了获得强大和高效的使用体验,我们建议运行本地的 IPFS 守护进程,例如使用 ipfs-deskop

享受吧!😊

许可证

pytest-web3-data 以 MIT 许可证的条款分发。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪一个,请了解更多关于 安装包 的信息。

源分布

pytest_web3_data-0.2.1.tar.gz (6.4 kB 查看哈希值)

上传时间

构建分布

pytest_web3_data-0.2.1-py3-none-any.whl (5.3 kB 查看哈希值)

上传时间 Python 3

支持者