Configure baseUrl in octokit initialisation (#91)
Make the action work for GHES by passing `GITHUB_API_URL` environment variable to octokit initialisation.
This commit is contained in:
@@ -55,6 +55,36 @@ describe('index tests -- call rest', () => {
|
||||
})
|
||||
})
|
||||
|
||||
it('finalIDs test - success - GHES', done => {
|
||||
process.env.GITHUB_API_URL = 'https://github.someghesinstance.com/api/v3'
|
||||
|
||||
const numVersions = 10
|
||||
let apiCalled = 0
|
||||
|
||||
const versions = getMockedVersionsResponse(numVersions)
|
||||
|
||||
server.use(
|
||||
rest.get(
|
||||
'https://github.someghesinstance.com/api/v3/users/test-owner/packages/npm/test-package/versions',
|
||||
(req, res, ctx) => {
|
||||
apiCalled++
|
||||
return res(ctx.status(200), ctx.json(versions))
|
||||
}
|
||||
)
|
||||
)
|
||||
|
||||
finalIds(getInput()).subscribe(ids => {
|
||||
expect(apiCalled).toBe(1)
|
||||
expect(ids.length).toBe(numVersions)
|
||||
for (let i = 0; i < numVersions; i++) {
|
||||
expect(ids[i]).toBe(versions[i].id.toString())
|
||||
}
|
||||
|
||||
delete process.env.GITHUB_API_URL
|
||||
done()
|
||||
})
|
||||
})
|
||||
|
||||
it('finalIDs test - success - pagination', done => {
|
||||
const numVersions = RATE_LIMIT * 2
|
||||
let apiCalled = 0
|
||||
@@ -343,6 +373,53 @@ describe('index tests -- call rest', () => {
|
||||
done()
|
||||
})
|
||||
})
|
||||
|
||||
it('deleteVersions test - success complete flow - GHES', done => {
|
||||
process.env.GITHUB_API_URL = 'https://github.someghesinstance.com/api/v3'
|
||||
|
||||
const numVersions = 10
|
||||
let getApiCalled = 0
|
||||
let deleteApiCalled = 0
|
||||
|
||||
const versions = getMockedVersionsResponse(numVersions)
|
||||
const versionsDeleted: string[] = []
|
||||
|
||||
server.use(
|
||||
rest.get(
|
||||
'https://github.someghesinstance.com/api/v3/users/test-owner/packages/npm/test-package/versions',
|
||||
(req, res, ctx) => {
|
||||
getApiCalled++
|
||||
return res(ctx.status(200), ctx.json(versions))
|
||||
}
|
||||
)
|
||||
)
|
||||
|
||||
server.use(
|
||||
rest.delete(
|
||||
'https://github.someghesinstance.com/api/v3/users/test-owner/packages/npm/test-package/versions/:versionId',
|
||||
(req, res, ctx) => {
|
||||
deleteApiCalled++
|
||||
versionsDeleted.push(req.params.versionId as string)
|
||||
return res(ctx.status(204))
|
||||
}
|
||||
)
|
||||
)
|
||||
|
||||
deleteVersions(getInput())
|
||||
.subscribe(result => {
|
||||
expect(result).toBe(true)
|
||||
})
|
||||
.add(() => {
|
||||
expect(getApiCalled).toBe(1)
|
||||
expect(deleteApiCalled).toBe(numVersions)
|
||||
for (let i = 0; i < numVersions; i++) {
|
||||
expect(versionsDeleted[i]).toBe(versions[i].id.toString())
|
||||
}
|
||||
|
||||
delete process.env.GITHUB_API_URL
|
||||
done()
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
const defaultInput: InputParams = {
|
||||
|
||||
@@ -71,6 +71,45 @@ describe('delete tests - mock rest', () => {
|
||||
})
|
||||
})
|
||||
|
||||
it('deletePackageVersions - GHES', done => {
|
||||
process.env.GITHUB_API_URL = 'https://github.someghesinstance.com/api/v3'
|
||||
|
||||
let success = 0
|
||||
|
||||
server.use(
|
||||
rest.delete(
|
||||
'https://github.someghesinstance.com/api/v3/users/test-owner/packages/npm/test-package/versions/*',
|
||||
(req, res, ctx) => {
|
||||
return res(ctx.status(204))
|
||||
}
|
||||
)
|
||||
)
|
||||
|
||||
deletePackageVersions(
|
||||
['123', '456', '789'],
|
||||
'test-owner',
|
||||
'test-package',
|
||||
'npm',
|
||||
'test-token'
|
||||
)
|
||||
.subscribe(
|
||||
result => {
|
||||
expect(result).toBe(true)
|
||||
success++
|
||||
},
|
||||
err => {
|
||||
// should not get here
|
||||
done.fail(err)
|
||||
}
|
||||
)
|
||||
.add(() => {
|
||||
expect(success).toBe(3)
|
||||
|
||||
delete process.env.GITHUB_API_URL
|
||||
done()
|
||||
})
|
||||
})
|
||||
|
||||
it('deletePackageVersion - API error', done => {
|
||||
server.use(
|
||||
rest.delete(
|
||||
|
||||
@@ -46,6 +46,37 @@ describe('get versions tests -- mock rest', () => {
|
||||
})
|
||||
})
|
||||
|
||||
it('getOldestVersions -- success - GHES', done => {
|
||||
const numVersions = RATE_LIMIT
|
||||
const resp = getMockedVersionsResponse(numVersions)
|
||||
|
||||
// set GITHUB_API_URL to a different base url
|
||||
process.env.GITHUB_API_URL = 'https://github.someghesinstance.com/api/v3'
|
||||
|
||||
server.use(
|
||||
rest.get(
|
||||
'https://github.someghesinstance.com/api/v3/users/test-owner/packages/npm/test-package/versions',
|
||||
(req, res, ctx) => {
|
||||
return res(ctx.status(200), ctx.json(resp))
|
||||
}
|
||||
)
|
||||
)
|
||||
|
||||
getOldestVersions({numVersions}).subscribe(result => {
|
||||
expect(result.versions.length).toBe(numVersions)
|
||||
for (let i = 0; i < numVersions; i++) {
|
||||
expect(result.versions[i].id).toBe(resp[i].id)
|
||||
expect(result.versions[i].version).toBe(resp[i].name)
|
||||
expect(result.versions[i].created_at).toBe(resp[i].created_at)
|
||||
}
|
||||
expect(result.paginate).toBe(true)
|
||||
expect(result.totalCount).toBe(numVersions)
|
||||
|
||||
delete process.env.GITHUB_API_URL
|
||||
done()
|
||||
})
|
||||
})
|
||||
|
||||
it('getOldestVersions -- paginate is false when fetched versions is less than page size', done => {
|
||||
const numVersions = 5
|
||||
|
||||
|
||||
Reference in New Issue
Block a user