{"_id":"@accellware/api-load-test","name":"@accellware/api-load-test","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@accellware/api-load-test","version":"1.0.0","description":"A high-performance, memory-bounded .NET 8 API load testing tool designed for benchmarking and CI/CD SLA gating.","bin":{"api-load-test":"bin/cli.js","apiloadtest":"bin/cli.js"},"scripts":{"start":"node bin/cli.js","dev":"dotnet run --project ../src/Accellware.ApiLoadTest.csproj --","build":"dotnet publish ../src/Accellware.ApiLoadTest.csproj -c Release -o ./dist","prepack":"npm run build","test":"node bin/cli.js --help"},"keywords":["load-testing","api","benchmark","dotnet","cli","sla-gating","performance"],"author":{"name":"Accellware"},"license":"MIT","publishConfig":{"access":"public"},"engines":{"node":">=16.0.0"},"gitHead":"e56806b6e24a76e2b185b3be727ac348f3644c17","_id":"@accellware/api-load-test@1.0.0","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-3C/I1IOzK1N//z5dzcLLI1AkznL8D0ePi0R5VRBn0kFDaFRvcft3P13uiBWrSerDHc3qzkpxwSjPHoAj1Cdcvw==","shasum":"2e960d28ab7c86521b832b03e30a7318ad959618","tarball":"https://registry.npmjs.org/@accellware/api-load-test/-/api-load-test-1.0.0.tgz","fileCount":21,"unpackedSize":2679819,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCoBo7W42fzhn8CfbZ3KaN4Q8jmgWjtijmQtoqEUnHRwgIhANvp74QsP1PQ32O0ALSEA5W/46ttJBij+8NRn6hSdCxz"}]},"_npmUser":{"name":"accellware","email":"accellware@gmail.com"},"directories":{},"maintainers":[{"name":"accellware","email":"accellware@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/api-load-test_1.0.0_1783872757728_0.03867379436280083"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-12T16:12:37.581Z","1.0.0":"2026-07-12T16:12:37.921Z","modified":"2026-07-12T16:12:38.125Z"},"maintainers":[{"name":"accellware","email":"accellware@gmail.com"}],"description":"A high-performance, memory-bounded .NET 8 API load testing tool designed for benchmarking and CI/CD SLA gating.","keywords":["load-testing","api","benchmark","dotnet","cli","sla-gating","performance"],"author":{"name":"Accellware"},"license":"MIT","readme":"# @accellware/api-load-test\n\nA high-performance, memory-bounded **.NET 8 API load testing tool** designed for benchmarking and CI/CD SLA gating. Packaged for distribution via NPM and NPX.\n\n---\n\n## ⚡ Prerequisites\n\nThis package distributes the compiled `.NET 8` engine and runs via a lightweight Node.js wrapper. You must have the **.NET 8 Runtime (or SDK)** installed on your machine to execute tests.\n\n- Download .NET 8: [https://dotnet.microsoft.com/download/dotnet/8.0](https://dotnet.microsoft.com/download/dotnet/8.0)\n- Verify installation: `dotnet --version` or `dotnet --list-runtimes`\n\n---\n\n## 🚀 Installation & Usage\n\n### 1. Direct Execution with NPX (No installation required)\n\nRun directly from your terminal using `npx`:\n\n```bash\n# Run a 60-second load test with 50 concurrent virtual users\nnpx @accellware/api-load-test -u https://api.example.com/v1 -c 50 -d 60\n```\n\n### 2. Global Installation via NPM\n\nInstall globally once to make the `api-load-test` and `apiloadtest` commands available everywhere in your terminal:\n\n```bash\nnpm install -g @accellware/api-load-test\n\n# Run using standard alias\napi-load-test -u https://api.example.com/v1 -c 100 -d 120\n\n# Or using short alias\napiloadtest -u https://api.example.com/v1 --rps 500 -d 60\n```\n\n---\n\n## 🛠️ CLI Arguments & Options\n\n| Option | Shorthand | Type | Description | Default |\n| :--- | :--- | :--- | :--- | :--- |\n| `--url` | `-u` | `<URL>` | **[Required]** The target base URL for the API. | None |\n| `--swagger` | `-s` | `<PATH_OR_URL>` | Path or URL to the Swagger/OpenAPI definition for endpoint discovery. | None |\n| `--credentials` | | `<CSV_PATH>` | Path to a CSV containing credentials (`username,password[,role]`) for authentication. | None |\n| `--concurrency` | `-c` | `<VUS>` | Number of concurrent Virtual Users executing the test. | `50` |\n| `--duration` | `-d` | `<SECONDS>` | Duration of the load test in seconds. | `60` |\n| `--rps` | | `<TARGET_RPS>` | Target Requests Per Second. Overrides constant VUs mode to dispatch requests evenly. | None |\n| `--include-paths` | | `<PATHS>` | Comma-separated list of route paths/globs to include from the Swagger spec. | `/**` |\n| `--exclude-paths` | | `<PATHS>` | Comma-separated list of route paths/globs to exclude from the Swagger spec. | None |\n| `--output-dir` | `-o` | `<PATH>` | Output directory for the generated reports and dashboards. | `./TestResults` |\n| `--error-sample-rate` | | `<PCT>` | Percentage of 4xx/5xx errors to sample and save to `error-samples.json` (0.01 to 100). | `0.5` |\n\n---\n\n## 📦 Publishing from Source (For Maintainers)\n\nWhen working inside the `npm/` directory of the repository:\n\n```bash\n# Build the .NET binaries into ./dist\nnpm run build\n\n# Package and inspect the tarball locally\nnpm pack\n\n# Publish to the NPM registry\nnpm publish\n```\n\nThe `prepack` script automatically compiles the `.csproj` in `Release` mode before packaging to ensure `dist/Accellware.ApiLoadTest.dll` is up to date.\n\n---\n\n## 📄 License\nMIT © Accellware\n","readmeFilename":"README.md","_rev":"1-a7b76b998fcd45c76827272deb47a32d"}