balena-supervisor/test/integration/lib/os-release.spec.ts

47 lines
1.1 KiB
TypeScript
Raw Normal View History

import { expect } from 'chai';
import type { TestFs } from 'mocha-pod';
import { testfs } from 'mocha-pod';
import * as osRelease from '~/lib/os-release';
describe('lib/os-release', () => {
let tfs: TestFs.Enabled;
before(async () => {
tfs = await testfs({
'/etc/os-release': testfs.from('test/data/etc/os-release-tx2'),
}).enable();
});
after(async () => {
await tfs.restore();
});
it('gets pretty name', async () => {
// Try to get PRETTY_NAME
await expect(osRelease.getOSVersion('/etc/os-release')).to.eventually.equal(
'balenaOS 2.45.1+rev3',
);
});
it('gets variant', async () => {
// Try to get VARIANT_ID
await expect(osRelease.getOSVariant('/etc/os-release')).to.eventually.equal(
'prod',
);
});
it('gets version', async () => {
// Try to get VERSION
await expect(osRelease.getOSSemver('/etc/os-release')).to.eventually.equal(
'2.45.1+rev3',
);
});
it('gets meta release version', async () => {
// Try to get META_BALENA_VERSIONS
await expect(
osRelease.getMetaOSRelease('/etc/os-release'),
).to.eventually.equal('2.45.1');
});
});