Files
shields/services/gitlab/gitlab-tag.spec.js
Caleb Cartwright 3c6ca5d59c fix [gitlab] auth (#8145)
* fix(gitlab): use oauth header, add private repo test

* tests(gitlab): fix nock header match on unit test
2022-07-01 16:42:09 -05:00

48 lines
1.2 KiB
JavaScript

import { expect } from 'chai'
import nock from 'nock'
import { cleanUpNockAfterEach, defaultContext } from '../test-helpers.js'
import GitLabTag from './gitlab-tag.service.js'
describe('GitLabTag', function () {
describe('auth', function () {
cleanUpNockAfterEach()
const fakeToken = 'abc123'
const config = {
public: {
services: {
gitlab: {
authorizedOrigins: ['https://gitlab.com'],
},
},
},
private: {
gitlab_token: fakeToken,
},
}
it('sends the auth information as configured', async function () {
const scope = nock('https://gitlab.com/')
.get('/api/v4/projects/foo%2Fbar/repository/tags?order_by=updated')
// This ensures that the expected credentials are actually being sent with the HTTP request.
// Without this the request wouldn't match and the test would fail.
.matchHeader('Authorization', `Bearer ${fakeToken}`)
.reply(200, [{ name: '1.9' }])
expect(
await GitLabTag.invoke(
defaultContext,
config,
{ project: 'foo/bar' },
{}
)
).to.deep.equal({
message: 'v1.9',
color: 'blue',
})
scope.done()
})
})
})