@@ -26,9 +26,9 @@ This project uses `mise` for task management. Common commands:
2626
2727### Testing
2828- Run all tests: ` mise run test `
29- - Run specific test : ` mise run test --test <test_name> `
30- - Run tests against specific PostgreSQL version : ` mise run test --postgres 14|15|16|17 `
31- - Tests are located in ` *_test.sql ` files alongside source code
29+ - Run SQLx tests directly : ` mise run test:sqlx `
30+ - Run SQLx tests in watch mode : ` mise run test:sqlx:watch `
31+ - Tests are located in ` tests/sqlx/ ` using Rust and SQLx framework
3232
3333### Build System
3434- Dependencies are resolved using ` -- REQUIRE: ` comments in SQL files
@@ -54,7 +54,7 @@ This is the **Encrypt Query Language (EQL)** - a PostgreSQL extension for search
5454- ` src/config/ ` - Configuration management functions
5555- ` src/blake3/ ` , ` src/hmac_256/ ` , ` src/bloom_filter/ ` , ` src/ore_* ` - Index implementations
5656- ` tasks/ ` - mise task scripts
57- - ` tests/ ` - Test files (PostgreSQL 14-17 support)
57+ - ` tests/sqlx/ ` - Rust/SQLx test framework (PostgreSQL 14-17 support)
5858- ` release/ ` - Generated SQL installation files
5959
6060### Key Concepts
@@ -65,11 +65,12 @@ This is the **Encrypt Query Language (EQL)** - a PostgreSQL extension for search
6565- ** CipherStash Proxy** : Required for encryption/decryption operations
6666
6767### Testing Infrastructure
68+ - Tests are written in Rust using SQLx, located in ` tests/sqlx/ `
6869- Tests run against PostgreSQL 14, 15, 16, 17 using Docker containers
70+ - Use ` mise run test --postgres 14|15|16|17 ` to test against a specific version
6971- Container configuration in ` tests/docker-compose.yml `
70- - Test helpers in ` tests/test_helpers.sql `
72+ - SQL test fixtures and helpers in ` tests/test_helpers.sql `
7173- Database connection: ` localhost:7432 ` (cipherstash/password)
72- - ** Rust/SQLx Tests** : Modern test framework in ` tests/sqlx/ ` (see README there)
7374
7475## Project Learning & Retrospectives
7576
@@ -163,7 +164,6 @@ HTML output is also generated in `docs/api/html/` for local preview only.
163164
164165- SQL files are modular - put operator wrappers in ` operators.sql ` , implementation in ` functions.sql `
165166- All SQL files must have ` -- REQUIRE: ` dependency declarations
166- - Test files end with ` _test.sql ` and live alongside source files
167167- Build system uses ` tsort ` to resolve dependency order
168168- Supabase build excludes operator classes (not supported)
169169- ** Documentation** : All functions/types must have Doxygen comments (see Documentation Standards above)
0 commit comments