mirror of
https://github.com/ischanx/checkout.git
synced 2023-11-25 21:22:28 +01:00
add tests
This commit is contained in:
parent
efa69110c5
commit
5b61398e30
1 changed files with 46 additions and 0 deletions
46
__test__/url-helper.test.ts
Normal file
46
__test__/url-helper.test.ts
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
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,
|
||||||
|
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'
|
||||||
|
)
|
||||||
|
})
|
||||||
|
})
|
Loading…
Reference in a new issue