Twice now a mock written from the upstream source passed while a real server disagreed — the system-log timestamps and the `/subscriptions/steps` shape — and `frequency_id` and several empty-string fields were wrong the same way. Reading the source harder was not going to find the next one. `tests/fixtures/*.json` hold the *shapes* of real responses: every key, with its JSON type, and no values at all. `real_shapes.rs` decodes each one and checks that a decode plus re-serialise loses no key, so a field the models silently drop now fails a test. It also refuses a fixture holding any real value, and refuses a fixture that no test reads. `seed_sample_data.rs` fills a disposable instance with one row of each kind and `capture_shapes.rs` captures the shapes back out with GET requests only, so the set can be refreshed when a divergence turns up. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
38 lines
751 B
JSON
38 lines
751 B
JSON
{
|
|
"api_version": "",
|
|
"cache_enabled": false,
|
|
"env_writable": false,
|
|
"exchange_rate_api_not_configured": false,
|
|
"exec": false,
|
|
"extensions": [
|
|
{
|
|
"gd": false
|
|
}
|
|
],
|
|
"file_permissions": "",
|
|
"flutter_renderer": "",
|
|
"is_docker": false,
|
|
"jobs_pending": 0,
|
|
"mail_mailer": "",
|
|
"open_basedir": false,
|
|
"pdf_engine": "",
|
|
"pending_migrations": false,
|
|
"phantom_enabled": false,
|
|
"php_version": {
|
|
"current_php_cli_version": "",
|
|
"current_php_version": "",
|
|
"is_okay": false,
|
|
"memory_limit": "",
|
|
"minimum_php_version": ""
|
|
},
|
|
"queue": "",
|
|
"queue_data": {
|
|
"failed": 0,
|
|
"last_error": "",
|
|
"pending": 0
|
|
},
|
|
"simple_db_check": false,
|
|
"system_health": false,
|
|
"trailing_slash": false
|
|
}
|