{"id":22191980,"url":"https://github.com/cryptape/ckb-rust-integration-test","last_synced_at":"2026-01-19T14:01:32.145Z","repository":{"id":103041256,"uuid":"582908910","full_name":"cryptape/ckb-rust-integration-test","owner":"cryptape","description":"ckb-rust-integration-test","archived":false,"fork":false,"pushed_at":"2025-06-05T05:56:48.000Z","size":133,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-06-05T07:47:01.880Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cryptape.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-12-28T07:49:24.000Z","updated_at":"2025-06-05T05:56:49.000Z","dependencies_parsed_at":"2024-06-26T08:44:01.116Z","dependency_job_id":"25135309-7a24-46b4-a78f-51221bfbd0a0","html_url":"https://github.com/cryptape/ckb-rust-integration-test","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/cryptape/ckb-rust-integration-test","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cryptape%2Fckb-rust-integration-test","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cryptape%2Fckb-rust-integration-test/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cryptape%2Fckb-rust-integration-test/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cryptape%2Fckb-rust-integration-test/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cryptape","download_url":"https://codeload.github.com/cryptape/ckb-rust-integration-test/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cryptape%2Fckb-rust-integration-test/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28571556,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-19T12:50:50.164Z","status":"ssl_error","status_checked_at":"2026-01-19T12:50:42.704Z","response_time":67,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-02T12:18:35.861Z","updated_at":"2026-01-19T14:01:32.127Z","avatar_url":"https://github.com/cryptape.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CKB Rust Integration Test Framework\n\nThis repository contains a comprehensive testing framework for the Nervos CKB (Common Knowledge Base) blockchain's Rust SDK.\n\n## Overview\n\nThe CKB Rust Integration Test Framework provides automated tests for CKB's RPC interfaces, ensuring that the SDK correctly interacts with CKB nodes. It supports testing both standard CKB RPC and Light Client RPC interfaces.\n\n## Requirements\n\n- Rust (nightly toolchain recommended)\n- Cargo\n- Git\n\n## Getting Started\n\n### Clone the Repository\n\n```bash\ngit clone https://github.com/cryptape/ckb-rust-integration-test.git\ncd ckb-rust-integration-test\n```\n\n### Setup Environment\n\n```bash\nsh prepare.sh\n```\n\nThis script prepares all necessary dependencies and mock data for testing.\n\n### Run Tests\n\n```bash\ncd feature\ncargo +nightly test -- --nocapture\n```\n\nUse the `--nocapture` flag to display output during test execution, which is helpful for debugging.\n\n## Framework Structure\n\nThe test framework uses `rstest` to create parameterized tests with mock RPC server responses.\n\n### Directory Structure\n\n- `feature/tests/` - Contains all test code\n  - `mockrpc/` - Tests for CKB RPC interfaces\n  - `mock_light_rpc/` - Tests for CKB Light Client RPC interfaces\n  - `common/` - Shared utilities and helper functions\n\n## Adding New Tests\n\n1. Create a new test file in the appropriate directory\n2. Use the `rstest` macro with `mock_rpc_data` to create parameterized tests\n3. Add corresponding test data JSON files in the `data` directory\n\nExample:\n\n```rust\nuse rstest::rstest;\nuse crate::mockrpc::{mock_rpc_data, MockRpcData};\n\n#[rstest(mock_rpc_data(\"method_name\", \"params\"))]\nfn test_function(mock_rpc_data: MockRpcData) {\n    let client = mock_rpc_data.client();\n    // Test implementation\n    assert_eq!(expected_result, actual_result);\n}\n```\n\n## Continuous Integration\n\nThis project uses GitHub Actions for continuous integration testing. Tests run automatically on pushes to the `main` branch and on pull requests.\n\n### CI Workflow\n\n1. Check out code\n2. Set up the test environment\n3. Run tests and generate a JSON format test report\n4. If tests fail:\n   - Convert the JSON report to Markdown format\n   - Upload the report to Qiniu cloud storage\n   - Provide a download link for the test report\n\n### Test Reports\n\nIf tests fail, a detailed report is generated and can be accessed at:\n```\nhttps://github-test-logs.ckbapp.dev/ckb-rust-integration-test/test-report.md\n```\n\nThe test report includes:\n- Test summary (total, passed, failed)\n- Detailed information about failed tests\n  - Test name\n  - Failure reason\n  - Error stack trace\n  - Test execution time\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request or create an Issue to improve this testing framework.\n\nBefore submitting a PR, please ensure:\n1. All tests pass\n2. New code has appropriate test coverage\n3. Code follows the project's style guidelines\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details\n\n## Contact\n\nIf you have any questions, please submit them through GitHub Issues.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcryptape%2Fckb-rust-integration-test","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcryptape%2Fckb-rust-integration-test","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcryptape%2Fckb-rust-integration-test/lists"}