Files
renovate/lib/modules/datasource/deb/checksum.spec.ts
Sebastian Poxhofer 05e1271376 test: use expect().resolves instead of awaiting inside expect (#45672)
Enables the vitest/prefer-expect-resolves oxlint rule and applies its
autofix across the spec suite.
2026-09-04 10:40:46 +00:00

63 lines
1.8 KiB
TypeScript

import type { DirectoryResult } from 'tmp-promise';
import { dir } from 'tmp-promise';
import { Fixtures } from '~test/fixtures.ts';
import { GlobalConfig } from '../../../config/global.ts';
import { outputCacheFile } from '../../../util/fs/index.ts';
import {
computeFileChecksum,
parseChecksumsFromInRelease,
} from './checksum.ts';
const fixtureInRelease = Fixtures.getBinary(`InRelease`).toString();
describe('modules/datasource/deb/checksum', () => {
let cacheDir: DirectoryResult | null;
beforeEach(async () => {
const cacheDir = await dir({ unsafeCleanup: true });
GlobalConfig.set({ cacheDir: cacheDir.path });
});
afterEach(async () => {
await cacheDir?.cleanup();
cacheDir = null;
});
describe('parseChecksumsFromInRelease', () => {
it('parses the checksum for the specified package', () => {
const expectedHash =
'bf77b15e68c5bfd7267c76a34172021de8f10f861f41ebda7b39d1390dd4bf9a';
expect(
parseChecksumsFromInRelease(
fixtureInRelease,
'contrib/binary-amd64/Packages.gz',
),
).toBe(expectedHash);
expect(
parseChecksumsFromInRelease(
fixtureInRelease,
'non-existing/binary-amd64/Packages.gz',
),
).toBeNull();
});
});
describe('computeFileChecksum', () => {
it('computes the checksum of a file', async () => {
await outputCacheFile('file.txt', 'bar');
const expectedHash =
'fcde2b2edba56bf408601fb721fe9b5c338d10ee429ea04fae5511b68fbf8fb9';
await expect(computeFileChecksum('file.txt')).resolves.toBe(expectedHash);
});
it('should fail if there is an error in the stream', async () => {
await expect(computeFileChecksum('file.txt')).rejects.toThrow(
'ENOENT: no such file or directory',
);
});
});
});