nim-codex/codex/rest
Eric 37b3d99c3d
Improve integration testing client (CodexClient) and json serialization (#514)
* Improve integration testing client (CodexClient) and json serialization

The current client used for integration testing against the REST endpoints for Codex accepts and passes primitive types. This caused a hard to diagnose bug where a `uint` was not being deserialized correctly.

In addition, the json de/serializing done between the CodexClient and REST client was not easy to read and was not tested.

These changes bring non-primitive types to most of the CodexClient functions, allowing us to lean on the compiler to ensure we're providing correct typings. More importantly, a json de/serialization util was created as a drop-in replacement for the std/json lib, with the main two differences being that field serialization is opt-in (instead of opt-out as in the case of json_serialization) and serialization errors are captured and logged, making debugging serialization issues much easier.

* Update integration test to use nodes=2 and tolerance=1

* clean up
2023-09-01 15:44:41 +10:00
..
api.nim Improve integration testing client (CodexClient) and json serialization (#514) 2023-09-01 15:44:41 +10:00
coders.nim feat: bigint uses decimal over hex encoding (#452) 2023-06-21 07:46:18 +02:00
json.nim Improve integration testing client (CodexClient) and json serialization (#514) 2023-09-01 15:44:41 +10:00