mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-07 22:05:18 +00:00
* Set cache control in the HTTP-RPC response header * Add a simply cache policy to the RPC routes * add a condition to check the RPC request has default height settings * fix cherry pick error * update pending log * use options struct intead of single parameter * refacor FuncOptions to functional options * add functional options in WebSocket RPC function * revert doc * replace deprecated function call * revise functional options * remove unuse comment * fix revised error * adjust cache-control settings * Update rpc/jsonrpc/server/http_json_handler.go Co-authored-by: Thane Thomson <connect@thanethomson.com> * linter: Fix false positive Signed-off-by: Thane Thomson <connect@thanethomson.com> * rpc: Separate cacheable and non-cacheable HTTP response writers Allows us to roll this change out in a non-API-breaking way, since this is an additive change. Signed-off-by: Thane Thomson <connect@thanethomson.com> * rpc: Ensure consistent caching strategy Ensure a consistent caching strategy across both JSONRPC- and URI-based requests. This requires a bit of a refactor of the previous caching logic, which is complicated a little by the complex reflection-based approach taken in the Tendermint RPC. Signed-off-by: Thane Thomson <connect@thanethomson.com> * rpc: Add more tests for caching Signed-off-by: Thane Thomson <connect@thanethomson.com> * Update CHANGELOG_PENDING Signed-off-by: Thane Thomson <connect@thanethomson.com> * light: Sync routes config with RPC core Signed-off-by: Thane Thomson <connect@thanethomson.com> * rpc: Update OpenAPI docs Signed-off-by: Thane Thomson <connect@thanethomson.com> Signed-off-by: Thane Thomson <connect@thanethomson.com> Co-authored-by: jayt106 <jaytseng106@gmail.com> Co-authored-by: jay tseng <jay.tseng@crypto.com> Co-authored-by: JayT106 <JayT106@users.noreply.github.com>
Tendermint Tests
The unit tests (ie. the go test s) can be run with make test.
The integration tests can be run with make test_integrations.
Running the integrations test will build a docker container with local version of tendermint and run the following tests in docker containers:
- go tests, with --race
- includes test coverage
- app tests
- kvstore app over socket
- persistence tests
- crash tendermint at each of many predefined points, restart, and ensure it syncs properly with the app
Fuzzing
Fuzzing of various system inputs.
See ./fuzz/README.md for more details.