mirror of
https://github.com/bluewave-labs/Checkmate.git
synced 2026-01-20 00:29:45 -06:00
74 lines
1.7 KiB
JavaScript
74 lines
1.7 KiB
JavaScript
import sinon from "sinon";
|
|
import HardwareCheck from "../../db/models/HardwareCheck.js";
|
|
import { createHardwareCheck } from "../../db/mongo/modules/hardwareCheckModule.js";
|
|
|
|
const mockHardwareCheck = {
|
|
data: {
|
|
cpu: {
|
|
physical_core: 4,
|
|
logical_core: 8,
|
|
frequency: 4800,
|
|
current_frequency: 1411,
|
|
temperature: [45, 50, 46, 47, 45, 50, 46, 47],
|
|
free_percent: 0.8552990910595134,
|
|
usage_percent: 0.14470090894048657,
|
|
},
|
|
memory: {
|
|
total_bytes: 16467628032,
|
|
available_bytes: 7895044096,
|
|
used_bytes: 6599561216,
|
|
usage_percent: 0.4008,
|
|
},
|
|
disk: [
|
|
{
|
|
read_speed_bytes: null,
|
|
write_speed_bytes: null,
|
|
total_bytes: 931258499072,
|
|
free_bytes: 737097256960,
|
|
usage_percent: 0.1661,
|
|
},
|
|
],
|
|
host: {
|
|
os: "linux",
|
|
platform: "ubuntu",
|
|
kernel_version: "6.8.0-48-generic",
|
|
},
|
|
},
|
|
errors: [
|
|
{
|
|
metric: ["cpu.temperature"],
|
|
err: "unable to read CPU temperature",
|
|
},
|
|
],
|
|
};
|
|
|
|
describe("HardwareCheckModule", () => {
|
|
let hardwareCheckSaveStub;
|
|
beforeEach(() => {
|
|
hardwareCheckSaveStub = sinon.stub(HardwareCheck.prototype, "save");
|
|
});
|
|
|
|
afterEach(() => {
|
|
sinon.restore();
|
|
});
|
|
|
|
describe("createHardwareCheck", () => {
|
|
it("should return a hardware check", async () => {
|
|
hardwareCheckSaveStub.resolves(mockHardwareCheck);
|
|
const hardwareCheck = await createHardwareCheck({});
|
|
expect(hardwareCheck).to.exist;
|
|
expect(hardwareCheck).to.deep.equal(mockHardwareCheck);
|
|
});
|
|
it("should handle an error", async () => {
|
|
const err = new Error("test error");
|
|
hardwareCheckSaveStub.rejects(err);
|
|
try {
|
|
await createHardwareCheck({});
|
|
} catch (error) {
|
|
expect(error).to.exist;
|
|
expect(error).to.deep.equal(err);
|
|
}
|
|
});
|
|
});
|
|
});
|