@apiquest/fracture 1.0.4 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +90 -2
- package/dist/CollectionRunner.d.ts +3 -0
- package/dist/CollectionRunner.d.ts.map +1 -1
- package/dist/CollectionRunner.js +249 -154
- package/dist/CollectionRunner.js.map +1 -1
- package/dist/CollectionValidator.d.ts.map +1 -1
- package/dist/CollectionValidator.js +11 -0
- package/dist/CollectionValidator.js.map +1 -1
- package/dist/ConsoleReporter.d.ts.map +1 -1
- package/dist/ConsoleReporter.js +9 -6
- package/dist/ConsoleReporter.js.map +1 -1
- package/dist/DagScheduler.d.ts.map +1 -1
- package/dist/DagScheduler.js +11 -0
- package/dist/DagScheduler.js.map +1 -1
- package/dist/LibraryLoader.d.ts +49 -0
- package/dist/LibraryLoader.d.ts.map +1 -0
- package/dist/LibraryLoader.js +198 -0
- package/dist/LibraryLoader.js.map +1 -0
- package/dist/PluginLoader.d.ts.map +1 -1
- package/dist/PluginLoader.js +9 -6
- package/dist/PluginLoader.js.map +1 -1
- package/dist/PluginManager.d.ts.map +1 -1
- package/dist/PluginManager.js +11 -7
- package/dist/PluginManager.js.map +1 -1
- package/dist/PluginResolver.d.ts +1 -1
- package/dist/PluginResolver.d.ts.map +1 -1
- package/dist/PluginResolver.js +1 -1
- package/dist/PluginResolver.js.map +1 -1
- package/dist/QuestAPI.d.ts.map +1 -1
- package/dist/QuestAPI.js +114 -217
- package/dist/QuestAPI.js.map +1 -1
- package/dist/ScriptEngine.d.ts +2 -1
- package/dist/ScriptEngine.d.ts.map +1 -1
- package/dist/ScriptEngine.js +15 -8
- package/dist/ScriptEngine.js.map +1 -1
- package/dist/TaskGraph.d.ts +2 -1
- package/dist/TaskGraph.d.ts.map +1 -1
- package/dist/TaskGraph.js +28 -26
- package/dist/TaskGraph.js.map +1 -1
- package/dist/VariableResolver.d.ts +1 -1
- package/dist/VariableResolver.js +10 -10
- package/dist/VariableResolver.js.map +1 -1
- package/dist/cli/index.js +35 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/plugin-commands.d.ts.map +1 -1
- package/dist/cli/plugin-commands.js +47 -81
- package/dist/cli/plugin-commands.js.map +1 -1
- package/dist/cli/plugin-installer.d.ts +48 -0
- package/dist/cli/plugin-installer.d.ts.map +1 -0
- package/dist/cli/plugin-installer.js +136 -0
- package/dist/cli/plugin-installer.js.map +1 -0
- package/dist/cli/plugin-registry.d.ts +17 -0
- package/dist/cli/plugin-registry.d.ts.map +1 -0
- package/dist/cli/plugin-registry.js +77 -0
- package/dist/cli/plugin-registry.js.map +1 -0
- package/package.json +1 -1
- package/tsconfig.json +1 -0
- package/tsconfig.test.json +3 -0
- package/dist/QuestAPI.types.d.ts +0 -35
- package/dist/QuestAPI.types.d.ts.map +0 -1
- package/dist/QuestAPI.types.js +0 -3
- package/dist/QuestAPI.types.js.map +0 -1
- package/src/CollectionAnalyzer.ts +0 -102
- package/src/CollectionRunner.ts +0 -1423
- package/src/CollectionRunner.types.ts +0 -9
- package/src/CollectionValidator.ts +0 -289
- package/src/ConsoleReporter.ts +0 -143
- package/src/CookieJar.ts +0 -258
- package/src/DagScheduler.ts +0 -439
- package/src/Logger.ts +0 -85
- package/src/PluginLoader.ts +0 -126
- package/src/PluginManager.ts +0 -208
- package/src/PluginResolver.ts +0 -154
- package/src/QuestAPI.ts +0 -764
- package/src/QuestAPI.types.ts +0 -33
- package/src/QuestTestAPI.ts +0 -164
- package/src/RequestFilter.ts +0 -224
- package/src/ScriptEngine.ts +0 -219
- package/src/ScriptValidator.ts +0 -428
- package/src/TaskGraph.ts +0 -598
- package/src/TestCounter.ts +0 -109
- package/src/VariableResolver.ts +0 -114
- package/src/cli/index.ts +0 -480
- package/src/cli/plugin-commands.ts +0 -342
- package/src/cli/plugin-discovery.ts +0 -44
- package/src/index.ts +0 -24
- package/src/utils.ts +0 -52
package/README.md
CHANGED
|
@@ -50,6 +50,10 @@ fracture run ./collection.json \
|
|
|
50
50
|
fracture run ./collection.json \
|
|
51
51
|
--parallel \
|
|
52
52
|
--concurrency 5
|
|
53
|
+
|
|
54
|
+
# With external libraries (npm, file, or CDN)
|
|
55
|
+
fracture run ./collection.json \
|
|
56
|
+
--allow-external-libraries
|
|
53
57
|
```
|
|
54
58
|
|
|
55
59
|
### Programmatic API
|
|
@@ -74,6 +78,7 @@ console.log(`Tests: ${result.passedTests}/${result.totalTests} passed`);
|
|
|
74
78
|
- **Plugin architecture** - Support for HTTP, GraphQL, gRPC, WebSocket, SSE via plugins
|
|
75
79
|
- **Collection-level iterations** - Data-driven testing with CSV/JSON files
|
|
76
80
|
- **Event-based reporting** - Real-time progress events for custom reporters
|
|
81
|
+
- **External libraries** - Load npm packages, local files, or CDN scripts (opt-in)
|
|
77
82
|
|
|
78
83
|
## Collection Schema
|
|
79
84
|
|
|
@@ -109,10 +114,93 @@ Collections are JSON files following the ApiQuest schema:
|
|
|
109
114
|
}
|
|
110
115
|
```
|
|
111
116
|
|
|
117
|
+
## CLI Options
|
|
118
|
+
|
|
119
|
+
Key runtime options (see [full CLI reference](../../docs/quest_cli.md) for all options):
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
# Variables & Environment
|
|
123
|
+
-g, --global <key=value> Set global variable
|
|
124
|
+
-e, --environment <file> Environment file
|
|
125
|
+
--env-var <key=value> Set environment variable
|
|
126
|
+
|
|
127
|
+
# Execution
|
|
128
|
+
--parallel Enable parallel execution
|
|
129
|
+
--concurrency <number> Max concurrent requests
|
|
130
|
+
--bail Stop on first test failure
|
|
131
|
+
--delay <ms> Delay between requests
|
|
132
|
+
--timeout <ms> Request timeout
|
|
133
|
+
|
|
134
|
+
# SSL/TLS
|
|
135
|
+
--ssl-cert <path> Client certificate (PEM)
|
|
136
|
+
--ssl-key <path> Client private key
|
|
137
|
+
--insecure Disable SSL validation
|
|
138
|
+
|
|
139
|
+
# Proxy
|
|
140
|
+
--proxy <url> HTTP/HTTPS proxy
|
|
141
|
+
--proxy-auth <user:pass> Proxy credentials
|
|
142
|
+
|
|
143
|
+
# Plugins & Libraries
|
|
144
|
+
--install-plugins Auto-install missing plugins
|
|
145
|
+
--allow-external-libraries Enable external libraries (npm/file/cdn)
|
|
146
|
+
|
|
147
|
+
# Output
|
|
148
|
+
--silent Suppress output
|
|
149
|
+
--log-level <level> error|warn|info|debug|trace
|
|
150
|
+
--no-color Disable colors
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
**Exit Codes:**
|
|
154
|
+
- `0` — All tests passed
|
|
155
|
+
- `1` — One or more tests failed
|
|
156
|
+
- `2` — Invalid CLI input
|
|
157
|
+
- `3` — Pre-run validation failed
|
|
158
|
+
- `4` — Runtime error
|
|
159
|
+
|
|
160
|
+
## External Libraries
|
|
161
|
+
|
|
162
|
+
Load npm packages, local files, or CDN scripts in your test scripts. Requires `--allow-external-libraries` flag for security.
|
|
163
|
+
|
|
164
|
+
```json
|
|
165
|
+
{
|
|
166
|
+
"options": {
|
|
167
|
+
"libraries": [
|
|
168
|
+
{
|
|
169
|
+
"name": "validator",
|
|
170
|
+
"source": { "type": "npm", "package": "validator" },
|
|
171
|
+
"version": "^13.11.0"
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"name": "myutils",
|
|
175
|
+
"source": { "type": "file", "path": "./utils/helpers.js" }
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"name": "lodash",
|
|
179
|
+
"source": { "type": "cdn", "url": "https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js" }
|
|
180
|
+
}
|
|
181
|
+
]
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Use in scripts with `require()`:
|
|
187
|
+
|
|
188
|
+
```javascript
|
|
189
|
+
const validator = require('validator');
|
|
190
|
+
quest.test('Valid email', () => {
|
|
191
|
+
expect(validator.isEmail('test@example.com')).to.be.true;
|
|
192
|
+
});
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
Run with: `fracture run collection.json --allow-external-libraries`
|
|
196
|
+
|
|
197
|
+
See [CLI documentation](../../docs/quest_cli.md#external-libraries) for details.
|
|
198
|
+
|
|
112
199
|
## Documentation
|
|
113
200
|
|
|
114
|
-
- [
|
|
115
|
-
- [
|
|
201
|
+
- [CLI Reference](../../docs/quest_cli.md)
|
|
202
|
+
- [Runner API](../../docs/quest_runner.md)
|
|
203
|
+
- [Schema Specification](../../docs/quest_schema_spec.md)
|
|
116
204
|
|
|
117
205
|
## License
|
|
118
206
|
|
|
@@ -18,6 +18,9 @@ export declare class CollectionRunner extends EventEmitter {
|
|
|
18
18
|
private bailEnabled;
|
|
19
19
|
private abortReason?;
|
|
20
20
|
private shouldDelayNextRequest;
|
|
21
|
+
private libraryLoader;
|
|
22
|
+
private loadedLibraries;
|
|
23
|
+
private folderScopeById;
|
|
21
24
|
constructor(options?: CollectionRunnerOptions);
|
|
22
25
|
/**
|
|
23
26
|
* Queue script execution to ensure sequential execution (thread-safe)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollectionRunner.d.ts","sourceRoot":"","sources":["../src/CollectionRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,SAAS,EAQT,uBAAuB,EAMvB,eAAe,EACf,WAAW,EACZ,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"CollectionRunner.d.ts","sourceRoot":"","sources":["../src/CollectionRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,SAAS,EAQT,uBAAuB,EAMvB,eAAe,EACf,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAmBzB,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,uBAAuB,CAA4B;IAC3D,OAAO,CAAC,eAAe,CAAwB;IAC/C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAmC;IAC1D,OAAO,CAAC,eAAe,CAAwC;gBAEnD,OAAO,CAAC,EAAE,uBAAuB;IA8B7C;;OAEG;YACW,WAAW;IASzB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAI7C,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAI7C,OAAO,CAAC,iBAAiB;IAmBzB;;;OAGG;IACH,KAAK,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI;IAwBtE;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqC3B,OAAO,CAAC,KAAK;IAOb,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,cAAc;IAWhB,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,SAAS,CAAC;IA+Y/E,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,YAAY;IA0FpB;;;OAGG;YACW,iBAAiB;IAuC/B;;OAEG;YACW,cAAc;IAsD5B;;OAEG;YACW,mBAAmB;YAwDnB,0BAA0B;YA2B1B,2BAA2B;IA2BzC;;;OAGG;YACW,kBAAkB;IAgChC;;;;;;OAMG;YACW,iBAAiB;YAuBjB,sBAAsB;YA+BtB,uBAAuB;YA+BvB,wBAAwB;IAqCtC;;;OAGG;YACW,sBAAsB;CA2arC"}
|