chore: rename quicproquo → quicprochat in docs, Docker, CI, and packaging
Rename all project references from quicproquo/qpq to quicprochat/qpc across documentation, Docker configuration, CI workflows, packaging scripts, operational configs, and build tooling. - Docker: crate paths, binary names, user/group, data dirs, env vars - CI: workflow crate references, binary names, artifact names - Docs: all markdown files under docs/, SDK READMEs, book.toml - Packaging: OpenWrt Makefile, init script, UCI config (file renames) - Scripts: justfile, dev-shell, screenshot, cross-compile, ai_team - Operations: Prometheus config, alert rules, Grafana dashboard - Config: .env.example (QPQ_* → QPC_*), CODEOWNERS paths - Top-level: README, CONTRIBUTING, ROADMAP, CLAUDE.md
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# Testing Strategy
|
||||
|
||||
This page describes the testing structure, conventions, and current coverage for
|
||||
quicproquo. All tests run with `cargo test --workspace` (or `just test`) and
|
||||
quicprochat. All tests run with `cargo test --workspace` (or `just test`) and
|
||||
must pass before any code is merged.
|
||||
|
||||
For the coding standards that tests must follow, see
|
||||
@@ -17,7 +17,7 @@ Unit tests live alongside the code they test, in `#[cfg(test)] mod tests` blocks
|
||||
at the bottom of each source file. They test individual functions and types in
|
||||
isolation.
|
||||
|
||||
**quicproquo-core (96 tests):**
|
||||
**quicprochat-core (96 tests):**
|
||||
|
||||
| Module | Tests | What they cover |
|
||||
|--------|-------|----------------|
|
||||
@@ -28,21 +28,21 @@ isolation.
|
||||
| `opaque_auth` | 12 | OPAQUE registration + login full flow, bad password rejection |
|
||||
| `mls_*` | 61 | MLS key schedule, member add/remove, Welcome processing, key exhaustion |
|
||||
|
||||
**quicproquo-rpc (18 tests):**
|
||||
**quicprochat-rpc (18 tests):**
|
||||
|
||||
| Module | Tests | What they cover |
|
||||
|--------|-------|----------------|
|
||||
| `framing` | 8 | Wire framing round-trips, method ID encoding, length-prefix correctness |
|
||||
| `dispatch` | 10 | Handler dispatch, method not found, middleware chain, timeout enforcement |
|
||||
|
||||
**quicproquo-sdk (30 tests):**
|
||||
**quicprochat-sdk (30 tests):**
|
||||
|
||||
| Module | Tests | What they cover |
|
||||
|--------|-------|----------------|
|
||||
| `client` | 15 | `QpqClient` connect, send, receive, event broadcast |
|
||||
| `conversation_store` | 15 | `ConversationStore` CRUD, pagination, message ordering |
|
||||
|
||||
**quicproquo-server (65 tests):**
|
||||
**quicprochat-server (65 tests):**
|
||||
|
||||
| Module | Tests | What they cover |
|
||||
|--------|-------|----------------|
|
||||
@@ -51,13 +51,13 @@ isolation.
|
||||
| `storage` | 15 | `FileBackedStore` and `SqlStore` CRUD, MLS entity serialisation |
|
||||
| `federation` | 10 | Federation peer relay, mTLS validation, domain routing |
|
||||
|
||||
**quicproquo-kt (21 tests):**
|
||||
**quicprochat-kt (21 tests):**
|
||||
|
||||
| Module | Tests | What they cover |
|
||||
|--------|-------|----------------|
|
||||
| `merkle_log` | 21 | Merkle tree insertion, consistency proofs, root hash correctness |
|
||||
|
||||
**quicproquo-p2p (34 tests):**
|
||||
**quicprochat-p2p (34 tests):**
|
||||
|
||||
| Module | Tests | What they cover |
|
||||
|--------|-------|----------------|
|
||||
@@ -65,18 +65,18 @@ isolation.
|
||||
|
||||
### Integration and E2E Tests
|
||||
|
||||
E2E tests live in `crates/quicproquo-client/tests/e2e.rs` (20 tests) and
|
||||
E2E tests live in `crates/quicprochat-client/tests/e2e.rs` (20 tests) and
|
||||
exercise the full client-server stack in-process. Each test spawns a real server
|
||||
using `tokio::spawn`, runs client operations against it, and asserts on the
|
||||
results.
|
||||
|
||||
**quicproquo-client unit (16 tests):**
|
||||
**quicprochat-client unit (16 tests):**
|
||||
|
||||
| File | What it covers |
|
||||
|------|---------------|
|
||||
| `src/lib.rs` | CLI command parsing, client state machine, error formatting |
|
||||
|
||||
**quicproquo-client E2E (20 tests):**
|
||||
**quicprochat-client E2E (20 tests):**
|
||||
|
||||
| Test | What it covers |
|
||||
|------|---------------|
|
||||
@@ -141,7 +141,7 @@ The E2E test suite shares an `AUTH_LOCK` `tokio::Mutex` to prevent port binding
|
||||
conflicts when tests run in parallel. Always run E2E tests with a single thread:
|
||||
|
||||
```bash
|
||||
cargo test -p quicproquo-client --test e2e -- --test-threads 1
|
||||
cargo test -p quicprochat-client --test e2e -- --test-threads 1
|
||||
```
|
||||
|
||||
Running without `--test-threads 1` may cause intermittent bind errors if two
|
||||
@@ -150,19 +150,19 @@ tests try to use the same port concurrently.
|
||||
### Single Crate
|
||||
|
||||
```bash
|
||||
cargo test -p quicproquo-core
|
||||
cargo test -p quicproquo-rpc
|
||||
cargo test -p quicproquo-sdk
|
||||
cargo test -p quicproquo-server
|
||||
cargo test -p quicproquo-kt
|
||||
cargo test -p quicproquo-p2p
|
||||
cargo test -p quicprochat-core
|
||||
cargo test -p quicprochat-rpc
|
||||
cargo test -p quicprochat-sdk
|
||||
cargo test -p quicprochat-server
|
||||
cargo test -p quicprochat-kt
|
||||
cargo test -p quicprochat-p2p
|
||||
```
|
||||
|
||||
### Single Test
|
||||
|
||||
```bash
|
||||
cargo test -p quicproquo-core -- codec::tests::test_round_trip
|
||||
cargo test -p quicproquo-client --test e2e -- opaque_flow --test-threads 1
|
||||
cargo test -p quicprochat-core -- codec::tests::test_round_trip
|
||||
cargo test -p quicprochat-client --test e2e -- opaque_flow --test-threads 1
|
||||
```
|
||||
|
||||
### With Output
|
||||
@@ -179,13 +179,13 @@ All 301 tests pass on branch `v2`.
|
||||
|
||||
| Crate | Unit / Integration Tests | E2E Tests | Total |
|
||||
|-------|--------------------------|-----------|-------|
|
||||
| `quicproquo-core` | 96 | -- | 96 |
|
||||
| `quicproquo-rpc` | 18 | -- | 18 |
|
||||
| `quicproquo-sdk` | 30 | -- | 30 |
|
||||
| `quicproquo-server` | 65 | -- | 65 |
|
||||
| `quicproquo-kt` | 21 | -- | 21 |
|
||||
| `quicproquo-p2p` | 34 | -- | 34 |
|
||||
| `quicproquo-client` | 16 unit + 1 doctest | 20 | 37 |
|
||||
| `quicprochat-core` | 96 | -- | 96 |
|
||||
| `quicprochat-rpc` | 18 | -- | 18 |
|
||||
| `quicprochat-sdk` | 30 | -- | 30 |
|
||||
| `quicprochat-server` | 65 | -- | 65 |
|
||||
| `quicprochat-kt` | 21 | -- | 21 |
|
||||
| `quicprochat-p2p` | 34 | -- | 34 |
|
||||
| `quicprochat-client` | 16 unit + 1 doctest | 20 | 37 |
|
||||
| **Total** | **281** | **20** | **301** |
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user