import { getNormalizedPath, isHttpUrl, normalizeWorkflowStrLabel } from './githubUtils' describe('Github utils', () => { it('normalizes workflow string labels', () => { const workflowsPath = '.github/workflows/' const path = 'test/path/test' expect(normalizeWorkflowStrLabel(workflowsPath + path)).toBe(path) expect(normalizeWorkflowStrLabel(path)).toBe(path) expect(normalizeWorkflowStrLabel(path + workflowsPath)).toBe( path + workflowsPath ) expect(normalizeWorkflowStrLabel(path + ' ' + path)).toBe( path + '_' + path ) }) it('normalizes path', () => { const httpUrl = 'http://www.test.com' expect(getNormalizedPath(httpUrl)).toBe(httpUrl) const httpsUrl = 'https://www.test.com' expect(getNormalizedPath(httpsUrl)).toBe(httpsUrl) const repo = 'gh_repo' const sha = 'gh_sha' const path = 'path' process.env.GITHUB_REPOSITORY = repo process.env.GITHUB_SHA = sha expect(getNormalizedPath(path)).toBe( `https://github.com/${repo}/blob/${sha}/${path}` ) }) it('checks if url is http', () => { expect(isHttpUrl('www.test.com')).toBe(false) expect(isHttpUrl('http.test.com')).toBe(false) expect(isHttpUrl('http:.test.com')).toBe(false) expect(isHttpUrl('http:/.test.com')).toBe(false) expect(isHttpUrl('https://www.test.com')).toBe(true) expect(isHttpUrl('http://wwww.test.com')).toBe(true) }) })