checkout/__test__/github-api-helper.test.ts
ZauberNerd 590916fc5e
Pass correct baseUrl to octokit
The PR #1246 replaced the `getOctokit` method from the
`octokit-provider.ts` file with the `getOctokit` method from the
`@actions/github` package.
The octokit-provider was previously responsible for creating an Octokit
instance and setting the `baseUrl` via the `getServerApiUrl` helper
function. This function calls `getServerUrl` which reads the server url
from the `GITHUB_SERVER_URL` environment variable, which on GHES is set
to the enterprise instance.
This commit restores the previous behaviour by calling `getServerApiUrl`
in all places where an octokit instance is created.

Co-authored-by: Markus Wolf <mail@markus-wolf.de>
2023-04-13 14:10:01 +02:00

38 lines
1005 B
TypeScript

import * as github from '@actions/github'
import * as githubApiHelper from '../lib/github-api-helper'
jest.mock('@actions/github')
describe('github-api-helper tests', () => {
describe('github enterprise compatibility', () => {
beforeEach(() => {
process.env.GITHUB_SERVER_URL = 'https://enterprise.git.com'
})
afterEach(() => {
delete process.env.GITHUB_SERVER_URL
})
it('getDefaultBranch should use GITHUB_SERVER_URL to set the baseUrl', async () => {
;(github.getOctokit as jest.Mock).mockImplementation(() => {
return {
rest: {
repos: {
get: jest.fn(() => ({data: {default_branch: 'default-branch'}}))
}
}
}
})
await githubApiHelper.getDefaultBranch('token', 'owner', 'repo')
expect(github.getOctokit).toHaveBeenCalledWith(
'token',
expect.objectContaining({
baseUrl: 'https://enterprise.git.com/api/v3'
})
)
})
})
})