flurry-cli 0.0.3 → 0.0.5
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/LICENCE.md +17 -8
- package/README.md +67 -12
- package/dist/cli.js +153 -68
- package/package.json +10 -9
- package/.env +0 -6
package/LICENCE.md
CHANGED
|
@@ -19,30 +19,39 @@ This software includes the following third-party components. Each component is l
|
|
|
19
19
|
### 1. @aws-sdk/client-kinesis
|
|
20
20
|
- **License**: Apache License, Version 2.0
|
|
21
21
|
- **Copyright**: (c) 2025 Amazon.com, Inc. or its affiliates
|
|
22
|
-
- **Details**: For the full license text, see
|
|
22
|
+
- **Details**: For the full license text, see [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0).
|
|
23
23
|
|
|
24
24
|
### 2. @aws-sdk/client-sqs
|
|
25
25
|
- **License**: Apache License, Version 2.0
|
|
26
26
|
- **Copyright**: (c) 2025 Amazon.com, Inc. or its affiliates
|
|
27
|
-
- **Details**: For the full license text, see
|
|
27
|
+
- **Details**: For the full license text, see [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0).
|
|
28
28
|
|
|
29
|
-
### 3. @aws-sdk/
|
|
29
|
+
### 3. @aws-sdk/credential-providers
|
|
30
30
|
- **License**: Apache License, Version 2.0
|
|
31
31
|
- **Copyright**: (c) 2025 Amazon.com, Inc. or its affiliates
|
|
32
|
-
- **Details**: For the full license text, see
|
|
32
|
+
- **Details**: For the full license text, see [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0).
|
|
33
33
|
|
|
34
|
-
### 4.
|
|
34
|
+
### 4. @aws-sdk/node-http-handler
|
|
35
|
+
- **License**: Apache License, Version 2.0
|
|
36
|
+
- **Copyright**: (c) 2025 Amazon.com, Inc. or its affiliates
|
|
37
|
+
- **Details**: For the full license text, see [https://www.apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0).
|
|
38
|
+
|
|
39
|
+
### 5. chalk
|
|
35
40
|
- **License**: MIT License
|
|
36
41
|
- **Copyright**: (c) Sindre Sorhus <sindresorhus@gmail.com> (https://sindresorhus.com)
|
|
42
|
+
- **Details**: For the full license text, see [https://opensource.org/license/mit/](https://opensource.org/license/mit/).
|
|
37
43
|
|
|
38
|
-
###
|
|
44
|
+
### 6. lodash
|
|
39
45
|
- **License**: MIT License
|
|
40
46
|
- **Copyright**: (c) JS Foundation and other contributors
|
|
47
|
+
- **Details**: For the full license text, see [https://opensource.org/license/mit/](https://opensource.org/license/mit/).
|
|
41
48
|
|
|
42
|
-
###
|
|
49
|
+
### 7. node-random-name
|
|
43
50
|
- **License**: MIT License
|
|
44
51
|
- **Copyright**: (c) 2013-2016 Thomas McDonald
|
|
52
|
+
- **Details**: For the full license text, see [https://opensource.org/license/mit/](https://opensource.org/license/mit/).
|
|
45
53
|
|
|
46
|
-
###
|
|
54
|
+
### 8. zod
|
|
47
55
|
- **License**: MIT License
|
|
48
56
|
- **Copyright**: (c) 2020 Colin McDonnell
|
|
57
|
+
- **Details**: For the full license text, see [https://opensource.org/license/mit/](https://opensource.org/license/mit/).
|
package/README.md
CHANGED
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-

|
|
1
|
+
<img src="https://flurrytest.com/flurrylogo.jpg" alt="Flurry logo" width="150"/><br/>
|
|
4
2
|
|
|
5
3
|
A command-line interface for running Flurry API testing collections.
|
|
6
4
|
|
|
7
5
|
### Required Options
|
|
8
6
|
|
|
9
7
|
- `--collection-id` - The collection ID to run
|
|
10
|
-
- `--api-key` - Your API key for authentication
|
|
11
|
-
- `--environment` - The environment name to use
|
|
8
|
+
- `--api-key` - Your API key for authentication (required unless `FLURRY_API_KEY` is set)
|
|
12
9
|
|
|
13
10
|
### Optional Options
|
|
14
11
|
|
|
12
|
+
- `--environment` - The environment name to use. If omitted, the CLI runs with a temporary empty environment.
|
|
15
13
|
- `--run-flow-id` - Run a single flow by ID (runs entire collection if not specified)
|
|
16
14
|
- `--verbose` - Set to true for detailed output (default: false)
|
|
17
15
|
- `--fail-fast` - Stop immediately on first assertion failure (default: true). Set to false to continue running all tests
|
|
@@ -21,15 +19,72 @@ A command-line interface for running Flurry API testing collections.
|
|
|
21
19
|
|
|
22
20
|
### Run entire collection
|
|
23
21
|
```bash
|
|
24
|
-
npx flurry-cli --collection-id
|
|
22
|
+
npx flurry-cli@latest --collection-id=<COLLECTION_ID> --api-key=your-api-key --environment=staging
|
|
25
23
|
```
|
|
26
24
|
|
|
27
|
-
### Run specific flow
|
|
25
|
+
### Run specific flow
|
|
28
26
|
```bash
|
|
29
|
-
npx flurry-cli --collection-id
|
|
27
|
+
npx flurry-cli@latest --collection-id=<COLLECTION_ID> --api-key=your-api-key --environment=staging --run-flow-id=flow456
|
|
30
28
|
```
|
|
31
29
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
30
|
+
## AWS Credentials
|
|
31
|
+
|
|
32
|
+
Flurry uses the AWS SDK for JavaScript (v3) to talk to AWS.
|
|
33
|
+
|
|
34
|
+
Flurry resolves AWS credentials in this order:
|
|
35
|
+
|
|
36
|
+
1. **Environment credentials**: `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, optional `AWS_SESSION_TOKEN`
|
|
37
|
+
2. **Shared config/credentials files**: `~/.aws/credentials` and `~/.aws/config` using `AWS_PROFILE` / `AWS_DEFAULT_PROFILE`
|
|
38
|
+
3. **AWS CLI fallback** (for AWS CLI “login” caches): runs `aws configure export-credentials --profile <profile> --format process` (only if `FLURRY_ENABLE_AWS_CLI_CREDENTIALS=true`)
|
|
39
|
+
4. **Default AWS SDK provider chain** as a final fallback.
|
|
40
|
+
|
|
41
|
+
### GitHub Actions / CI
|
|
42
|
+
|
|
43
|
+
In GitHub Actions you typically should **not** rely on AWS profiles. Prefer one of:
|
|
44
|
+
|
|
45
|
+
- **OIDC / Web Identity** (recommended): use `aws-actions/configure-aws-credentials` to set `AWS_ROLE_ARN` + `AWS_WEB_IDENTITY_TOKEN_FILE` (and region). The AWS SDK picks these up without needing profiles.
|
|
46
|
+
- **Static secrets**: set `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, and optionally `AWS_SESSION_TOKEN`.
|
|
47
|
+
|
|
48
|
+
If you want to use AWS credentials obtained through logging in with the AWS CLI, ensure the runner has access to the appropriate `~/.aws/config`, set
|
|
49
|
+
`FLURRY_ENABLE_AWS_CLI_CREDENTIALS` to 1, and `AWS_PROFILE` to the profile used when loggin in.
|
|
50
|
+
|
|
51
|
+
## Environment Variables
|
|
52
|
+
|
|
53
|
+
### Flurry
|
|
54
|
+
|
|
55
|
+
- `FLURRY_API_KEY`
|
|
56
|
+
- Alternative to passing `--api-key`.
|
|
57
|
+
|
|
58
|
+
- `FLURRY_ENABLE_AWS_CLI_CREDENTIALS`
|
|
59
|
+
- When set to `true`, Flurry may use the AWS CLI fallback (`aws configure export-credentials ...`) if normal SDK credential resolution fails.
|
|
60
|
+
- Default is disabled to avoid unexpected subprocess execution in CI/locked-down environments.
|
|
61
|
+
|
|
62
|
+
### AWS (standard)
|
|
63
|
+
|
|
64
|
+
Credentials selection:
|
|
65
|
+
|
|
66
|
+
- `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_SESSION_TOKEN`
|
|
67
|
+
- Direct credentials. Highest priority. Recommended for CI.
|
|
68
|
+
|
|
69
|
+
- `AWS_PROFILE` / `AWS_DEFAULT_PROFILE`
|
|
70
|
+
- Selects a named profile in your AWS config/credentials files.
|
|
71
|
+
|
|
72
|
+
Files:
|
|
73
|
+
|
|
74
|
+
- `AWS_SHARED_CREDENTIALS_FILE`
|
|
75
|
+
- Overrides the default `~/.aws/credentials` path.
|
|
76
|
+
|
|
77
|
+
- `AWS_CONFIG_FILE`
|
|
78
|
+
- Overrides the default `~/.aws/config` path.
|
|
79
|
+
|
|
80
|
+
Config loading:
|
|
81
|
+
|
|
82
|
+
- `AWS_SDK_LOAD_CONFIG`
|
|
83
|
+
- When set to `1`, the AWS SDK reads `~/.aws/config` (needed for many config-driven profiles).
|
|
84
|
+
- Flurry sets this automatically to `1` when `AWS_PROFILE` is set.
|
|
85
|
+
|
|
86
|
+
Region:
|
|
87
|
+
|
|
88
|
+
- `AWS_REGION` / `AWS_DEFAULT_REGION`
|
|
89
|
+
- Used by the AWS SDK clients (SQS/Kinesis) and for some auth flows.
|
|
90
|
+
- If not set, Flurry falls back to `us-east-1`.
|