pytest执行期间从IPFS HTTP网关获取测试数据的pytest插件。
项目描述
Pytest Web3 Data
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.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 856d7d07ff53c983bb7667622fd556e990faf4536f3019716fe58acb8a00af26 |
|
MD5 | c1e0e7fce8f99487f6023f1586f0dbd2 |
|
BLAKE2b-256 | e6a1031e9bd32d643163c2182ca6ed7138bd1e319485db504e9c425d3e9d8a9f |
关闭
pytest_web3_data-0.2.1-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 05b9bf0ef00f0f841f9cb4c5baab70239d9bde144f86521992f33150b6275eb9 |
|
MD5 | 4ce6fd270d18c1ae2dffd5f54bcce53f |
|
BLAKE2b-256 | a4f60a0bc2f1107d48da35dba5e790c907296910a00887e3c4bfc4223658f477 |