mirror of
https://github.com/bckelley/cgm-remote-monitor.git
synced 2026-08-24 03:14:12 -05:00
docs: add MongoDB pool settings and advanced test scripts
README.md: - Add MONGO_POOL_SIZE, MONGO_MIN_POOL_SIZE, MONGO_MAX_IDLE_TIME_MS to Core section for production tuning CONTRIBUTING.md: - Add 'Advanced Test Scripts' section documenting: - test:stress for concurrent write testing - test:flaky variants for detecting flaky tests - test:timing for finding slow tests Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -160,6 +160,27 @@ NODE_ENV=test npm run test:integration
|
||||
NODE_ENV=test npm test -- --grep "treatments"
|
||||
```
|
||||
|
||||
### Advanced Test Scripts
|
||||
|
||||
For diagnosing test issues and ensuring reliability:
|
||||
|
||||
```bash
|
||||
# Run stress tests for concurrent write operations
|
||||
NODE_ENV=test npm run test:stress
|
||||
|
||||
# Detect flaky tests by running multiple iterations
|
||||
NODE_ENV=test npm run test:flaky # Default iterations
|
||||
NODE_ENV=test npm run test:flaky:quick # 3 iterations
|
||||
NODE_ENV=test npm run test:flaky:thorough # 20 iterations
|
||||
|
||||
# Run specific flaky test harnesses
|
||||
NODE_ENV=test npm run test:flaky:entries # Entries isolation tests
|
||||
NODE_ENV=test npm run test:flaky:socket # Socket isolation tests
|
||||
|
||||
# Enable timing warnings to find slow tests
|
||||
NODE_ENV=test npm run test:timing
|
||||
```
|
||||
|
||||
You can create a `my.test.env` file based on `ci.test.env` for local testing:
|
||||
|
||||
```bash
|
||||
|
||||
@@ -289,6 +289,9 @@ autonomy for your data:
|
||||
* `MONGO_PROFILE_COLLECTION`(`profile`) - The collection used to store your profiles
|
||||
* `MONGO_FOOD_COLLECTION`(`food`) - The collection used to store your food database
|
||||
* `MONGO_ACTIVITY_COLLECTION`(`activity`) - The collection used to store activity data
|
||||
* `MONGO_POOL_SIZE` (`10`) - MongoDB connection pool size. Reduce for resource-constrained environments.
|
||||
* `MONGO_MIN_POOL_SIZE` (`1`) - Minimum pool connections to keep open.
|
||||
* `MONGO_MAX_IDLE_TIME_MS` (`10000`) - Max idle time (ms) before closing a connection.
|
||||
* `PORT` (`1337`) - The port that the node.js application will listen on.
|
||||
* `HOSTNAME` - The hostname that the node.js application will listen on, null by default for any hostname for IPv6 you may need to use `::`.
|
||||
* `SSL_KEY` - Path to your ssl key file, so that ssl(https) can be enabled directly in node.js. If using Let's Encrypt, make this variable the path to your privkey.pem file (private key).
|
||||
|
||||
Reference in New Issue
Block a user