Home / Cardano Foundation / cardano-rosetta-java
Jan 27, 9-10 PM (0)
Jan 27, 10-11 PM (1)
Jan 27, 11-12 AM (0)
Jan 28, 12-1 AM (0)
Jan 28, 1-2 AM (0)
Jan 28, 2-3 AM (0)
Jan 28, 3-4 AM (0)
Jan 28, 4-5 AM (0)
Jan 28, 5-6 AM (0)
Jan 28, 6-7 AM (0)
Jan 28, 7-8 AM (2)
Jan 28, 8-9 AM (0)
Jan 28, 9-10 AM (0)
Jan 28, 10-11 AM (0)
Jan 28, 11-12 PM (0)
Jan 28, 12-1 PM (0)
Jan 28, 1-2 PM (0)
Jan 28, 2-3 PM (0)
Jan 28, 3-4 PM (0)
Jan 28, 4-5 PM (1)
Jan 28, 5-6 PM (0)
Jan 28, 6-7 PM (0)
Jan 28, 7-8 PM (0)
Jan 28, 8-9 PM (0)
Jan 28, 9-10 PM (0)
Jan 28, 10-11 PM (0)
Jan 28, 11-12 AM (0)
Jan 29, 12-1 AM (0)
Jan 29, 1-2 AM (0)
Jan 29, 2-3 AM (0)
Jan 29, 3-4 AM (0)
Jan 29, 4-5 AM (0)
Jan 29, 5-6 AM (0)
Jan 29, 6-7 AM (0)
Jan 29, 7-8 AM (0)
Jan 29, 8-9 AM (0)
Jan 29, 9-10 AM (0)
Jan 29, 10-11 AM (1)
Jan 29, 11-12 PM (0)
Jan 29, 12-1 PM (0)
Jan 29, 1-2 PM (0)
Jan 29, 2-3 PM (0)
Jan 29, 3-4 PM (0)
Jan 29, 4-5 PM (0)
Jan 29, 5-6 PM (0)
Jan 29, 6-7 PM (0)
Jan 29, 7-8 PM (0)
Jan 29, 8-9 PM (0)
Jan 29, 9-10 PM (0)
Jan 29, 10-11 PM (0)
Jan 29, 11-12 AM (0)
Jan 30, 12-1 AM (0)
Jan 30, 1-2 AM (0)
Jan 30, 2-3 AM (0)
Jan 30, 3-4 AM (0)
Jan 30, 4-5 AM (0)
Jan 30, 5-6 AM (0)
Jan 30, 6-7 AM (0)
Jan 30, 7-8 AM (0)
Jan 30, 8-9 AM (0)
Jan 30, 9-10 AM (0)
Jan 30, 10-11 AM (0)
Jan 30, 11-12 PM (0)
Jan 30, 12-1 PM (0)
Jan 30, 1-2 PM (0)
Jan 30, 2-3 PM (0)
Jan 30, 3-4 PM (0)
Jan 30, 4-5 PM (0)
Jan 30, 5-6 PM (0)
Jan 30, 6-7 PM (0)
Jan 30, 7-8 PM (0)
Jan 30, 8-9 PM (0)
Jan 30, 9-10 PM (0)
Jan 30, 10-11 PM (0)
Jan 30, 11-12 AM (0)
Jan 31, 12-1 AM (0)
Jan 31, 1-2 AM (0)
Jan 31, 2-3 AM (0)
Jan 31, 3-4 AM (0)
Jan 31, 4-5 AM (0)
Jan 31, 5-6 AM (0)
Jan 31, 6-7 AM (0)
Jan 31, 7-8 AM (0)
Jan 31, 8-9 AM (0)
Jan 31, 9-10 AM (0)
Jan 31, 10-11 AM (0)
Jan 31, 11-12 PM (0)
Jan 31, 12-1 PM (0)
Jan 31, 1-2 PM (0)
Jan 31, 2-3 PM (0)
Jan 31, 3-4 PM (0)
Jan 31, 4-5 PM (0)
Jan 31, 5-6 PM (0)
Jan 31, 6-7 PM (0)
Jan 31, 7-8 PM (0)
Jan 31, 8-9 PM (0)
Jan 31, 9-10 PM (0)
Jan 31, 10-11 PM (0)
Jan 31, 11-12 AM (0)
Feb 01, 12-1 AM (0)
Feb 01, 1-2 AM (0)
Feb 01, 2-3 AM (0)
Feb 01, 3-4 AM (0)
Feb 01, 4-5 AM (0)
Feb 01, 5-6 AM (0)
Feb 01, 6-7 AM (0)
Feb 01, 7-8 AM (0)
Feb 01, 8-9 AM (0)
Feb 01, 9-10 AM (0)
Feb 01, 10-11 AM (0)
Feb 01, 11-12 PM (0)
Feb 01, 12-1 PM (0)
Feb 01, 1-2 PM (0)
Feb 01, 2-3 PM (0)
Feb 01, 3-4 PM (0)
Feb 01, 4-5 PM (0)
Feb 01, 5-6 PM (0)
Feb 01, 6-7 PM (0)
Feb 01, 7-8 PM (0)
Feb 01, 8-9 PM (0)
Feb 01, 9-10 PM (0)
Feb 01, 10-11 PM (0)
Feb 01, 11-12 AM (0)
Feb 02, 12-1 AM (0)
Feb 02, 1-2 AM (0)
Feb 02, 2-3 AM (0)
Feb 02, 3-4 AM (0)
Feb 02, 4-5 AM (0)
Feb 02, 5-6 AM (0)
Feb 02, 6-7 AM (0)
Feb 02, 7-8 AM (0)
Feb 02, 8-9 AM (0)
Feb 02, 9-10 AM (0)
Feb 02, 10-11 AM (0)
Feb 02, 11-12 PM (0)
Feb 02, 12-1 PM (0)
Feb 02, 1-2 PM (0)
Feb 02, 2-3 PM (0)
Feb 02, 3-4 PM (0)
Feb 02, 4-5 PM (0)
Feb 02, 5-6 PM (0)
Feb 02, 6-7 PM (1)
Feb 02, 7-8 PM (0)
Feb 02, 8-9 PM (0)
Feb 02, 9-10 PM (0)
Feb 02, 10-11 PM (0)
Feb 02, 11-12 AM (0)
Feb 03, 12-1 AM (0)
Feb 03, 1-2 AM (0)
Feb 03, 2-3 AM (0)
Feb 03, 3-4 AM (0)
Feb 03, 4-5 AM (0)
Feb 03, 5-6 AM (0)
Feb 03, 6-7 AM (0)
Feb 03, 7-8 AM (1)
Feb 03, 8-9 AM (0)
Feb 03, 9-10 AM (0)
Feb 03, 10-11 AM (1)
Feb 03, 11-12 PM (0)
Feb 03, 12-1 PM (0)
Feb 03, 1-2 PM (3)
Feb 03, 2-3 PM (1)
Feb 03, 3-4 PM (0)
Feb 03, 4-5 PM (22)
Feb 03, 5-6 PM (2)
Feb 03, 6-7 PM (0)
Feb 03, 7-8 PM (0)
Feb 03, 8-9 PM (1)
Feb 03, 9-10 PM (1)
38 commits this week Jan 27, 2026 - Feb 03, 2026
test: move policyId validation to account endpoint tests
Move test_tokens_expose_policy_id from test_token_registry.py to test_account_endpoints.py as it validates API contract (policyId always present for native assets) rather than token registry enrichment.

The test was incorrectly passing when token registry was misconfigured because policyId is populated from blockchain data, not registry metadata.

Changes:
- Add TestNativeAssetMetadata class to test_account_endpoints.py
- Remove TestPolicyIdMetadata class from test_token_registry.py
- Enhanced validation to check all native assets, not just configured tokens
- Added policyId format validation (56 hex chars)
test: standardize network_identifier handling and require CARDANO_NETWORK
- Make CARDANO_NETWORK env var required (no silent fallback to preprod)
- Refactor RosettaClient to use explicit network_identifier parameter
- Use typed parameters for all API methods
- Consolidate network_identifier error tests in test_error_handling.py
- Standardize all tests to use network_identifier dict pattern
test: add dimension-isolated load testing framework for v2.0.0
Replaces old profile-based testing with dimension-isolated approach to
identify specific performance bottlenecks in the Rosetta API.

New testing infrastructure:
- populate_data.py: Generate test data from Yaci Store DB organized by
  dimensions (utxo_count, tx_history, block_tx_count, etc.) with
  power-of-10 or percentile levels stored in dimensions.json
- stability_test.py: Capacity testing using Apache Bench with exponential
  search and dimension isolation. Supports dict-based CSV loading for
  flexible data formats (addresses, blocks, transactions)
- soak_test.py: Long-running stability tests using Locust
- analyze_dimensions.py: Statistical analysis of dimension distributions

Updated locustfile.py to load all dimension/level combinations from
dimensions.json instead of hardcoded light/medium/heavy categories,
enabling per-dimension performance tracking in Locust UI.

Key improvements from dimension isolation:
- Identifies which specific dimension causes degradation (UTXO count vs
  token count vs tx history)
- CSV format adapts to dimension type (addresses have 'address' column,
  transactions have 'transaction_hash,block_hash,block_index')
- Markdown reports group results by endpoint and dimension
- Transaction queries include block_index for /block/transaction testing

Deleted obsolete files: test_data.py, populate_test_data.py, main.py
fix: ensure PR test failures are properly reported
- Fix script path from test_construction_api.py to test_golden_examples.py
- Remove exit 0 that masked golden example test failures
- Add explicit failure if API never starts in wait loop
- Always post PR comment, even when deployment fails
- Check all test suites (smoke, behavioral, golden) before reporting pass/fail