Some checks failed
Check dist / check-dist (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Licensed / Check licenses (push) Has been cancelled
Build and Test / build (push) Has been cancelled
Build and Test / test (macos-latest) (push) Has been cancelled
Build and Test / test (ubuntu-latest) (push) Has been cancelled
Build and Test / test (windows-latest) (push) Has been cancelled
Build and Test / test-proxy (push) Has been cancelled
Build and Test / test-bypass-proxy (push) Has been cancelled
Build and Test / test-git-container (push) Has been cancelled
59 lines
1.7 KiB
TypeScript
59 lines
1.7 KiB
TypeScript
import * as urlHelper from '../lib/url-helper'
|
|
|
|
import {IGitSourceSettings} from '../lib/git-source-settings'
|
|
|
|
function getSettings(u: string): IGitSourceSettings {
|
|
return {
|
|
githubServerUrl: u,
|
|
repositoryPath: '',
|
|
repositoryOwner: 'some-owner',
|
|
repositoryName: 'some-name',
|
|
ref: '',
|
|
commit: '',
|
|
clean: false,
|
|
filter: undefined,
|
|
sparseCheckout: [],
|
|
sparseCheckoutConeMode: false,
|
|
fetchDepth: 0,
|
|
fetchTags: false,
|
|
showProgress: false,
|
|
lfs: false,
|
|
submodules: false,
|
|
nestedSubmodules: false,
|
|
authToken: '',
|
|
sshKey: '',
|
|
sshKnownHosts: '',
|
|
sshStrict: false,
|
|
sshUser: '',
|
|
persistCredentials: false,
|
|
workflowOrganizationId: undefined,
|
|
setSafeDirectory: false
|
|
}
|
|
}
|
|
describe('url-helper tests', () => {
|
|
it('getFetchUrl works on GitHub repos', async () => {
|
|
expect(urlHelper.getFetchUrl(getSettings('https://github.com'))).toBe(
|
|
'https://github.com/some-owner/some-name'
|
|
)
|
|
})
|
|
|
|
it('getFetchUrl works on 3rd party repos with sub-path', async () => {
|
|
expect(
|
|
urlHelper.getFetchUrl(getSettings('https://other.com/subpath'))
|
|
).toBe('https://other.com/subpath/some-owner/some-name')
|
|
})
|
|
|
|
it('getFetchUrl works on 3rd party repos with ssh keys', async () => {
|
|
expect(
|
|
urlHelper.getFetchUrl(getSettings('https://other.com/subpath'))
|
|
).toBe('https://other.com/subpath/some-owner/some-name')
|
|
})
|
|
|
|
it('getFetchUrl works with ssh credentials', async () => {
|
|
let settings = getSettings('https://other.com/subpath')
|
|
settings.sshKey = 'not-empty'
|
|
expect(urlHelper.getFetchUrl(settings)).toBe(
|
|
'git@other.com:some-owner/some-name.git'
|
|
)
|
|
})
|
|
})
|