flurry-cli 0.0.2 → 0.0.4
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 +80 -2
- package/dist/cli.js +153 -68
- package/package.json +11 -10
- 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
|
@@ -7,11 +7,11 @@ A command-line interface for running Flurry API testing collections.
|
|
|
7
7
|
### Required Options
|
|
8
8
|
|
|
9
9
|
- `--collection-id` - The collection ID to run
|
|
10
|
-
- `--api-key` - Your API key for authentication
|
|
11
|
-
- `--environment` - The environment name to use
|
|
10
|
+
- `--api-key` - Your API key for authentication (required unless `FLURRY_API_KEY` is set)
|
|
12
11
|
|
|
13
12
|
### Optional Options
|
|
14
13
|
|
|
14
|
+
- `--environment` - The environment name to use. If omitted, the CLI runs with a temporary empty environment.
|
|
15
15
|
- `--run-flow-id` - Run a single flow by ID (runs entire collection if not specified)
|
|
16
16
|
- `--verbose` - Set to true for detailed output (default: false)
|
|
17
17
|
- `--fail-fast` - Stop immediately on first assertion failure (default: true). Set to false to continue running all tests
|
|
@@ -21,6 +21,11 @@ A command-line interface for running Flurry API testing collections.
|
|
|
21
21
|
|
|
22
22
|
### Run entire collection
|
|
23
23
|
```bash
|
|
24
|
+
npx flurry-cli --collection-id=abc123 --api-key=your-api-key
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Run entire collection (with explicit environment)
|
|
28
|
+
```bash
|
|
24
29
|
npx flurry-cli --collection-id=abc123 --api-key=your-api-key --environment=development
|
|
25
30
|
```
|
|
26
31
|
|
|
@@ -33,3 +38,76 @@ npx flurry-cli --collection-id=abc123 --api-key=your-api-key --environment=stagi
|
|
|
33
38
|
```bash
|
|
34
39
|
npx flurry-cli --collection-id=abc123 --api-key=your-api-key --environment=development --fail-fast=false
|
|
35
40
|
```
|
|
41
|
+
|
|
42
|
+
## AWS Credentials
|
|
43
|
+
|
|
44
|
+
Flurry uses the AWS SDK for JavaScript (v3) to talk to AWS. The AWS SDK resolves credentials differently than the AWS CLI.
|
|
45
|
+
|
|
46
|
+
In particular, some AWS CLI authentication flows cache credentials in a way the JS SDK cannot read directly (your case showed `access_key` type `login` via `aws configure list`). When that happens, Flurry falls back to asking the AWS CLI to export concrete credentials.
|
|
47
|
+
|
|
48
|
+
### Resolution Order
|
|
49
|
+
|
|
50
|
+
Flurry resolves credentials in this order:
|
|
51
|
+
|
|
52
|
+
1. **Environment credentials** (best for CI): `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, optional `AWS_SESSION_TOKEN`
|
|
53
|
+
2. **Shared config/credentials files**: `~/.aws/credentials` and `~/.aws/config` using `AWS_PROFILE` / `AWS_DEFAULT_PROFILE`
|
|
54
|
+
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`)
|
|
55
|
+
4. **Default AWS SDK provider chain** as a final fallback
|
|
56
|
+
|
|
57
|
+
### GitHub Actions / CI
|
|
58
|
+
|
|
59
|
+
In GitHub Actions you typically should **not** rely on AWS profiles. Prefer one of:
|
|
60
|
+
|
|
61
|
+
- **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.
|
|
62
|
+
- **Static secrets**: set `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, and optionally `AWS_SESSION_TOKEN`.
|
|
63
|
+
|
|
64
|
+
If you do choose to use profiles in CI, ensure the runner has access to the appropriate `~/.aws/config` and `~/.aws/credentials` (or set `AWS_SHARED_CREDENTIALS_FILE` / `AWS_CONFIG_FILE`).
|
|
65
|
+
|
|
66
|
+
## Environment Variables
|
|
67
|
+
|
|
68
|
+
### Flurry
|
|
69
|
+
|
|
70
|
+
- `FLURRY_API_KEY`
|
|
71
|
+
- Alternative to passing `--api-key`.
|
|
72
|
+
|
|
73
|
+
- `FLURRY_ENABLE_AWS_CLI_CREDENTIALS`
|
|
74
|
+
- When set to `true`, Flurry may use the AWS CLI fallback (`aws configure export-credentials ...`) if normal SDK credential resolution fails.
|
|
75
|
+
- Default is disabled to avoid unexpected subprocess execution in CI/locked-down environments.
|
|
76
|
+
|
|
77
|
+
### AWS (standard)
|
|
78
|
+
|
|
79
|
+
Credentials selection:
|
|
80
|
+
|
|
81
|
+
- `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_SESSION_TOKEN`
|
|
82
|
+
- Direct credentials. Highest priority. Recommended for CI.
|
|
83
|
+
|
|
84
|
+
- `AWS_PROFILE` / `AWS_DEFAULT_PROFILE`
|
|
85
|
+
- Selects a named profile in your AWS config/credentials files.
|
|
86
|
+
|
|
87
|
+
Files:
|
|
88
|
+
|
|
89
|
+
- `AWS_SHARED_CREDENTIALS_FILE`
|
|
90
|
+
- Overrides the default `~/.aws/credentials` path.
|
|
91
|
+
|
|
92
|
+
- `AWS_CONFIG_FILE`
|
|
93
|
+
- Overrides the default `~/.aws/config` path.
|
|
94
|
+
|
|
95
|
+
Config loading:
|
|
96
|
+
|
|
97
|
+
- `AWS_SDK_LOAD_CONFIG`
|
|
98
|
+
- When set to `1`, the AWS SDK reads `~/.aws/config` (needed for many config-driven profiles).
|
|
99
|
+
- Flurry sets this automatically to `1` when `AWS_PROFILE` is set.
|
|
100
|
+
|
|
101
|
+
Region:
|
|
102
|
+
|
|
103
|
+
- `AWS_REGION` / `AWS_DEFAULT_REGION`
|
|
104
|
+
- Used by the AWS SDK clients (SQS/Kinesis) and for some auth flows.
|
|
105
|
+
- If not set, Flurry falls back to `us-east-1`.
|
|
106
|
+
|
|
107
|
+
Web identity (OIDC) / role assumption (common in CI):
|
|
108
|
+
|
|
109
|
+
- `AWS_ROLE_ARN`, `AWS_WEB_IDENTITY_TOKEN_FILE`
|
|
110
|
+
- Used for GitHub Actions OIDC / IRSA-style auth.
|
|
111
|
+
|
|
112
|
+
- `AWS_ROLE_SESSION_NAME`
|
|
113
|
+
- Optional session name for assumed roles.
|