2022-06-11 09:39:18 -06:00
|
|
|
import * as cacheUtils from '../../src/cache-utils'
|
2020-06-15 12:59:55 +02:00
|
|
|
|
2021-08-24 12:46:48 -06:00
|
|
|
describe('cacheUtils-utils', () => {
|
2021-09-05 21:35:17 -06:00
|
|
|
describe('can hash', () => {
|
|
|
|
it('a string', async () => {
|
|
|
|
const hash = cacheUtils.hashStrings(['foo'])
|
|
|
|
expect(hash).toBe('acbd18db4cc2f85cedef654fccc4a4d8')
|
|
|
|
})
|
|
|
|
it('multiple strings', async () => {
|
|
|
|
const hash = cacheUtils.hashStrings(['foo', 'bar', 'baz'])
|
|
|
|
expect(hash).toBe('6df23dc03f9b54cc38a0fc1483df6e21')
|
2021-08-24 12:46:48 -06:00
|
|
|
})
|
2021-09-27 21:05:17 -06:00
|
|
|
it('normalized filenames', async () => {
|
|
|
|
const fileNames = ['/foo/bar/baz.zip', '../boo.html']
|
|
|
|
const posixHash = cacheUtils.hashFileNames(fileNames)
|
|
|
|
const windowsHash = cacheUtils.hashFileNames(fileNames)
|
|
|
|
expect(posixHash).toBe(windowsHash)
|
|
|
|
})
|
2021-08-24 12:46:48 -06:00
|
|
|
})
|
2023-06-29 10:01:14 -06:00
|
|
|
describe('sanitizes workflow name in cache key', () => {
|
|
|
|
it('with comma', () => {
|
|
|
|
const cacheKey = cacheUtils.getCacheKeyForJob("Workflow, with,commas", "JOB_ID")
|
|
|
|
expect(cacheKey).toBe('workflow withcommas-JOB_ID')
|
|
|
|
})
|
|
|
|
})
|
2020-06-15 12:59:55 +02:00
|
|
|
})
|