1
0
Fork 0
toolkit/packages/cache/__tests__/options.test.ts

86 lines
2.2 KiB
TypeScript
Raw Normal View History

import {
DownloadOptions,
UploadOptions,
getDownloadOptions,
getUploadOptions
} from '../src/options'
const useAzureSdk = false
const concurrentBlobDownloads = true
const downloadConcurrency = 8
const timeoutInMs = 30000
2023-03-08 09:26:29 +00:00
const segmentTimeoutInMs = 600000
2023-01-17 16:12:42 +00:00
const lookupOnly = false
const uploadConcurrency = 4
const uploadChunkSize = 32 * 1024 * 1024
test('getDownloadOptions sets defaults', async () => {
const actualOptions = getDownloadOptions()
expect(actualOptions).toEqual({
useAzureSdk,
concurrentBlobDownloads,
downloadConcurrency,
2022-08-03 13:25:47 +00:00
timeoutInMs,
2022-12-23 11:44:35 +00:00
segmentTimeoutInMs,
2023-01-17 16:12:42 +00:00
lookupOnly
})
})
test('getDownloadOptions overrides all settings', async () => {
const expectedOptions: DownloadOptions = {
useAzureSdk: true,
concurrentBlobDownloads: false,
downloadConcurrency: 14,
2022-08-03 13:25:47 +00:00
timeoutInMs: 20000,
2022-12-23 11:44:35 +00:00
segmentTimeoutInMs: 3600000,
2023-01-17 16:12:42 +00:00
lookupOnly: true
}
const actualOptions = getDownloadOptions(expectedOptions)
expect(actualOptions).toEqual(expectedOptions)
})
test('getUploadOptions sets defaults', async () => {
const actualOptions = getUploadOptions()
expect(actualOptions).toEqual({
uploadConcurrency,
uploadChunkSize,
useAzureSdk
})
})
test('getUploadOptions overrides all settings', async () => {
const expectedOptions: UploadOptions = {
uploadConcurrency: 2,
uploadChunkSize: 16 * 1024 * 1024,
useAzureSdk: true
}
const actualOptions = getUploadOptions(expectedOptions)
expect(actualOptions).toEqual(expectedOptions)
})
2022-08-16 04:14:27 +00:00
test('getDownloadOptions overrides download timeout minutes', async () => {
const expectedOptions: DownloadOptions = {
useAzureSdk: false,
downloadConcurrency: 14,
timeoutInMs: 20000,
2022-12-23 11:44:35 +00:00
segmentTimeoutInMs: 3600000,
2023-01-17 16:12:42 +00:00
lookupOnly: true
2022-08-16 04:14:27 +00:00
}
process.env.SEGMENT_DOWNLOAD_TIMEOUT_MINS = '10'
2022-08-16 04:14:27 +00:00
const actualOptions = getDownloadOptions(expectedOptions)
expect(actualOptions.useAzureSdk).toEqual(expectedOptions.useAzureSdk)
expect(actualOptions.downloadConcurrency).toEqual(
expectedOptions.downloadConcurrency
)
expect(actualOptions.timeoutInMs).toEqual(expectedOptions.timeoutInMs)
expect(actualOptions.segmentTimeoutInMs).toEqual(600000)
2023-01-17 16:12:42 +00:00
expect(actualOptions.lookupOnly).toEqual(expectedOptions.lookupOnly)
2022-08-16 04:14:27 +00:00
})