direct-tests

Solid

Write and run fast direct mode tests for GenLayer intelligent contracts.

Testing & QA 4,294 stars 90 forks Updated yesterday NOASSERTION

Install

View on GitHub

Quality Score: 86/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Direct Mode Tests Write fast, in-memory tests for intelligent contracts. No server, no Docker — tests run in ~30-50ms. ## Running Tests ```bash pytest tests/direct/ -v pytest tests/direct/test_specific.py -v pytest tests/direct/test_specific.py::test_one_case -v ``` ## Fixtures Available from `genlayer-test` pytest plugin: ```python def test_example(direct_vm, direct_deploy, direct_alice, direct_bob): # direct_vm — VMContext with cheatcodes # direct_deploy — deploy a contract file # direct_alice — test address # direct_bob — test address pass ``` All fixtures: `direct_vm`, `direct_deploy`, `direct_alice`, `direct_bob`, `direct_charlie`, `direct_owner`, `direct_accounts` ## Basic Test Pattern ```python def test_set_and_get(direct_vm, direct_deploy, direct_alice): contract = direct_deploy("contracts/my_contract.py") direct_vm.sender = direct_alice contract.set_data("hello") result = contract.get_data(direct_alice) assert result == "hello" ``` ## Mocking Web Requests For contracts that call `gl.nondet.web.get()`: ```python import json def test_with_web_mock(direct_vm, direct_deploy, direct_alice): contract = direct_deploy("contracts/my_contract.py") direct_vm.sender = direct_alice # Pattern: regex matching on URL direct_vm.mock_web( r".*api\.example\.com/prices.*", {"status": 200, "body": '{"price": 42.5}'}, ) contract.update_price("ETH/USD") assert contract.get_pri...

Details

Author
internet-court
Repository
internet-court/internet-court-skill
Created
2 months ago
Last Updated
yesterday
Language
TypeScript
License
NOASSERTION

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category