nim-dagger/codex/sales
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
..
states refactor: merging proving module into sales (#469) 2023-08-21 12:26:43 +02:00
reservations.nim Improve integration testing client (CodexClient) and json serialization (#514) 2023-09-01 15:44:41 +10:00
salesagent.nim Cancel and wait for asyncstatemachine futures when stopping (#493) 2023-07-31 15:09:34 +10:00
salescontext.nim refactor: merging proving module into sales (#469) 2023-08-21 12:26:43 +02:00
salesdata.nim Slot queue (#455) 2023-07-25 12:50:30 +10:00
slotqueue.nim Cancel and wait for asyncstatemachine futures when stopping (#493) 2023-07-31 15:09:34 +10:00
statemachine.nim refactor: merging proving module into sales (#469) 2023-08-21 12:26:43 +02:00