Part of https://github.com/actions/create-github-app-token/issues/43 This PR adds tests for [`main.js`](https://github.com/actions/create-github-app-token/blob/main/lib/main.js), similar to [the tests that already exist for `post.js`](https://github.com/actions/create-github-app-token/tree/main/tests). Specifically, it tests that: - `main` exits with an error when `GITHUB_REPOSITORY` is missing. - `main` exits with an error when `GITHUB_REPOSITORY_OWNER` is missing. - `main` successfully obtains a token when… - …the `owner` and `repositories` inputs are set (and the latter is a single repo). - …the `owner` and `repositories` inputs are set (and the latter is a list of repos). - …the `owner` input is set (to an org), but the `repositories` input isn’t set. - …the `owner` input is set (to a user), but the `repositories` input isn’t set. - …the `owner` input is not set, but the `repositories` input is set. - …neither the `owner` nor `repositories` input is set. ❧ Architecturally, in order to keep individual tests concise, this PR adds `tests/main.js`, which: - sets commonly-used inputs, environment variables, and mocks, then - calls a callback function that can edit the variables and add additional mocks, then - runs `main.js` itself. The `tests/main-token-get-*.test.js` test files run `tests/main.js` with various scenario-specific callback functions.
140 lines
3.0 KiB
Markdown
140 lines
3.0 KiB
Markdown
# Snapshot report for `tests/index.js`
|
|
|
|
The actual snapshot is saved in `index.js.snap`.
|
|
|
|
Generated by [AVA](https://avajs.dev).
|
|
|
|
## main-missing-owner.test.js
|
|
|
|
> stderr
|
|
|
|
'GITHUB_REPOSITORY_OWNER missing, must be set to \'<owner>\''
|
|
|
|
> stdout
|
|
|
|
''
|
|
|
|
## main-missing-repository.test.js
|
|
|
|
> stderr
|
|
|
|
'GITHUB_REPOSITORY missing, must be set to \'<owner>/<repo>\''
|
|
|
|
> stdout
|
|
|
|
''
|
|
|
|
## main-token-get-owner-set-repo-set-to-many.test.js
|
|
|
|
> stderr
|
|
|
|
''
|
|
|
|
> stdout
|
|
|
|
`owner and repositories set, creating token for repositories "actions/create-github-app-token,actions/toolkit" owned by "actions"␊
|
|
::add-mask::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
|
|
␊
|
|
::set-output name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
|
|
::save-state name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a`
|
|
|
|
## main-token-get-owner-set-repo-set-to-one.test.js
|
|
|
|
> stderr
|
|
|
|
''
|
|
|
|
> stdout
|
|
|
|
`owner and repositories set, creating token for repositories "actions/create-github-app-token" owned by "actions"␊
|
|
::add-mask::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
|
|
␊
|
|
::set-output name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
|
|
::save-state name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a`
|
|
|
|
## main-token-get-owner-set-to-org-repo-unset.test.js
|
|
|
|
> stderr
|
|
|
|
''
|
|
|
|
> stdout
|
|
|
|
`repositories not set, creating token for all repositories for given owner "actions"␊
|
|
::add-mask::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
|
|
␊
|
|
::set-output name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
|
|
::save-state name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a`
|
|
|
|
## main-token-get-owner-set-to-user-repo-unset.test.js
|
|
|
|
> stderr
|
|
|
|
''
|
|
|
|
> stdout
|
|
|
|
`repositories not set, creating token for all repositories for given owner "smockle"␊
|
|
::add-mask::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
|
|
␊
|
|
::set-output name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
|
|
::save-state name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a`
|
|
|
|
## main-token-get-owner-unset-repo-set.test.js
|
|
|
|
> stderr
|
|
|
|
''
|
|
|
|
> stdout
|
|
|
|
`owner not set, creating owner for given repositories "actions/create-github-app-token" in current owner ("actions")␊
|
|
::add-mask::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
|
|
␊
|
|
::set-output name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
|
|
::save-state name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a`
|
|
|
|
## main-token-get-owner-unset-repo-unset.test.js
|
|
|
|
> stderr
|
|
|
|
''
|
|
|
|
> stdout
|
|
|
|
`owner and repositories not set, creating token for the current repository ("create-github-app-token")␊
|
|
::add-mask::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
|
|
␊
|
|
::set-output name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a␊
|
|
::save-state name=token::ghs_16C7e42F292c6912E7710c838347Ae178B4a`
|
|
|
|
## post-token-set.test.js
|
|
|
|
> stderr
|
|
|
|
''
|
|
|
|
> stdout
|
|
|
|
'Token revoked'
|
|
|
|
## post-token-skipped.test.js
|
|
|
|
> stderr
|
|
|
|
''
|
|
|
|
> stdout
|
|
|
|
'Token revocation was skipped'
|
|
|
|
## post-token-unset.test.js
|
|
|
|
> stderr
|
|
|
|
''
|
|
|
|
> stdout
|
|
|
|
'Token is not set'
|