2020-05-06 15:10:18 +00:00
|
|
|
import {promises as fs} from 'fs'
|
|
|
|
import * as path from 'path'
|
|
|
|
import * as cacheUtils from '../src/internal/cacheUtils'
|
|
|
|
|
2021-05-03 15:09:44 +00:00
|
|
|
test('getArchiveFileSizeInBytes returns file size', () => {
|
2020-05-06 15:10:18 +00:00
|
|
|
const filePath = path.join(__dirname, '__fixtures__', 'helloWorld.txt')
|
|
|
|
|
2021-05-03 15:09:44 +00:00
|
|
|
const size = cacheUtils.getArchiveFileSizeInBytes(filePath)
|
2020-05-06 15:10:18 +00:00
|
|
|
|
|
|
|
expect(size).toBe(11)
|
|
|
|
})
|
|
|
|
|
|
|
|
test('unlinkFile unlinks file', async () => {
|
|
|
|
const testDirectory = await fs.mkdtemp('unlinkFileTest')
|
|
|
|
const testFile = path.join(testDirectory, 'test.txt')
|
|
|
|
await fs.writeFile(testFile, 'hello world')
|
|
|
|
|
2020-05-15 16:18:50 +00:00
|
|
|
await expect(fs.stat(testFile)).resolves.not.toThrow()
|
|
|
|
|
2020-05-06 15:10:18 +00:00
|
|
|
await cacheUtils.unlinkFile(testFile)
|
|
|
|
|
|
|
|
// This should throw as testFile should not exist
|
|
|
|
await expect(fs.stat(testFile)).rejects.toThrow()
|
|
|
|
|
|
|
|
await fs.rmdir(testDirectory)
|
|
|
|
})
|
2020-07-10 15:09:32 +00:00
|
|
|
|
|
|
|
test('assertDefined throws if undefined', () => {
|
|
|
|
expect(() => cacheUtils.assertDefined('test', undefined)).toThrowError()
|
|
|
|
})
|
|
|
|
|
|
|
|
test('assertDefined returns value', () => {
|
|
|
|
expect(cacheUtils.assertDefined('test', 5)).toBe(5)
|
|
|
|
})
|
2022-03-24 05:56:30 +00:00
|
|
|
|
|
|
|
test("isFeatureAvailable returns true if server url is set", () => {
|
|
|
|
try {
|
|
|
|
process.env["ACTIONS_CACHE_URL"] = "http://cache.com";
|
|
|
|
expect(cacheUtils.isFeatureAvailable()).toBe(true);
|
|
|
|
} finally {
|
|
|
|
delete process.env["ACTIONS_CACHE_URL"]
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
test("isFeatureAvailable returns false if server url is not set", () => {
|
|
|
|
expect(cacheUtils.isFeatureAvailable()).toBe(false);
|
|
|
|
});
|
|
|
|
|