checkout/__test__/url-helper.test.ts
Frank efa9fe919c
Some checks failed
CodeQL / Analyze (push) Failing after 6s
Licensed / Check licenses (push) Failing after 35s
Check dist / check-dist (push) Failing after 1m13s
Build and Test / build (push) Failing after 33s
Build and Test / test-proxy (push) Failing after 19s
Build and Test / test (ubuntu-latest) (push) Failing after 31s
Build and Test / test-bypass-proxy (push) Failing after 38s
Build and Test / test-git-container (push) Failing after 41s
Build and Test / test (macos-latest) (push) Has been cancelled
Build and Test / test (windows-latest) (push) Has been cancelled
add tests
2024-08-28 16:16:11 +00:00

46 lines
1.6 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,
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'
)
})
})