This commit is contained in:
James M. Greene
2022-08-05 12:13:23 -05:00
parent 0a94d4c3bb
commit bce63914b1
2 changed files with 28 additions and 3 deletions

View File

@@ -1,8 +1,12 @@
const axios = require('axios') const axios = require('axios')
const core = require('@actions/core') const core = require('@actions/core')
function getApiBaseUrl() {
return process.env.GITHUB_API_URL || 'https://api.github.com'
}
async function enablePagesSite({ repositoryNwo, githubToken }) { async function enablePagesSite({ repositoryNwo, githubToken }) {
const pagesEndpoint = `https://api.github.com/repos/${repositoryNwo}/pages` const pagesEndpoint = `${getApiBaseUrl()}/repos/${repositoryNwo}/pages`
try { try {
const response = await axios.post( const response = await axios.post(
@@ -30,7 +34,7 @@ async function enablePagesSite({ repositoryNwo, githubToken }) {
async function getPagesSite({ repositoryNwo, githubToken }) { async function getPagesSite({ repositoryNwo, githubToken }) {
try { try {
const pagesEndpoint = `https://api.github.com/repos/${repositoryNwo}/pages` const pagesEndpoint = `${getApiBaseUrl()}/repos/${repositoryNwo}/pages`
const response = await axios.get(pagesEndpoint, { const response = await axios.get(pagesEndpoint, {
headers: { headers: {
@@ -84,4 +88,4 @@ async function findOrCreatePagesSite({ repositoryNwo, githubToken, enablement =
return pageObject return pageObject
} }
module.exports = { findOrCreatePagesSite, enablePagesSite, getPagesSite } module.exports = { findOrCreatePagesSite, enablePagesSite, getPagesSite, getApiBaseUrl }

View File

@@ -18,6 +18,27 @@ describe('apiClient', () => {
jest.spyOn(core, 'debug').mockImplementation(jest.fn()) jest.spyOn(core, 'debug').mockImplementation(jest.fn())
}) })
describe('getApiBaseUrl', () => {
it('returns GITHUB_API_URL environment variable when set', async () => {
const expectedBaseUrl = 'https://api.ghe.com'
process.env.GITHUB_API_URL = expectedBaseUrl
const result = apiClient.getApiBaseUrl()
delete process.env.GITHUB_API_URL
expect(result).toEqual(expectedBaseUrl)
})
it('defaults to GitHub API if GITHUB_API_URL environment variable is empty', async () => {
process.env.GITHUB_API_URL = ''
const result = apiClient.getApiBaseUrl()
delete process.env.GITHUB_API_URL
expect(result).toEqual('https://api.github.com')
})
it('defaults to GitHub API if GITHUB_API_URL environment variable is not set', async () => {
const result = apiClient.getApiBaseUrl()
expect(result).toEqual('https://api.github.com')
})
})
describe('enablePagesSite', () => { describe('enablePagesSite', () => {
it('makes a request to create a page', async () => { it('makes a request to create a page', async () => {