Files
Parker Brown 2950cbc446 fix: permission input handling (#243)
This pull request fixes the handling of permissions inputs.

- Updated `getPermissionsFromInputs` in
`lib/get-permissions-from-inputs.js` to use hyphens
(`INPUT_PERMISSION-`) instead of underscores (`INPUT_PERMISSION_`) in
input keys, added a check to skip empty values, and clarified behavior
when no permissions are set.
- Added a `shouldRetry` function to retry requests when server errors
(HTTP status 500 or higher) occur in the `main` function in
`lib/main.js` to prevent unnecessary retries.
- Updated test cases in `tests/main-token-permissions-set.test.js` to
match the new input key format with hyphens.
- Added a default empty string for unset inputs (e.g.,
`INPUT_PERMISSION-ADMINISTRATION`) in `tests/main.js` to simulate the
behavior of the Actions runner.
- Updated snapshots in `tests/snapshots/index.js.md` to reflect the
updated hyphenated input keys in permissions.

---------

Co-authored-by: Gregor Martynus <39992+gr2m@users.noreply.github.com>
2025-05-02 11:44:01 -07:00
..
2025-05-02 11:44:01 -07:00
2025-03-27 19:00:54 +00:00

Tests

Add one test file per scenario. You can run them in isolation with:

node tests/post-token-set.test.js

All tests are run together in tests/index.js, which can be executed with ava

npx ava tests/index.js

or with npm

npm test

How the tests work

The output from the tests is captured into a snapshot (tests/snapshots/index.js.md). It includes all requests sent by our scripts to verify it's working correctly and to prevent regressions.

How to add a new test

We have tests both for the main.js and post.js scripts.