chore: import maquina-comercial-pessoal history via subtree
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> git-subtree-dir: maquina-comercial-pessoal git-subtree-mainline:f5af038e19git-subtree-split:a9ef4d776d
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
import test from 'node:test';
|
||||
import assert from 'node:assert/strict';
|
||||
import { openDb } from '../src/db.mjs';
|
||||
import { createJobLease } from '../src/jobs/lease.mjs';
|
||||
|
||||
test('lease marca running e atualiza heartbeat ate cleanup', () => {
|
||||
const db = openDb(':memory:');
|
||||
const id = Number(db.prepare("INSERT INTO exports (tipo, status) VALUES ('excel', 'pending')").run().lastInsertRowid);
|
||||
let tick;
|
||||
let cleared = false;
|
||||
const lease = createJobLease({
|
||||
db, table: 'exports', id, ownerToken: 'owner-1', pid: 123,
|
||||
setInterval: (fn) => { tick = fn; return 7; },
|
||||
clearInterval: (timer) => { assert.equal(timer, 7); cleared = true; }
|
||||
});
|
||||
const first = db.prepare('SELECT status, pid, owner_token, heartbeat_at FROM exports WHERE id = ?').get(id);
|
||||
assert.equal(first.status, 'running');
|
||||
assert.equal(first.pid, 123);
|
||||
assert.equal(first.owner_token, 'owner-1');
|
||||
db.prepare("UPDATE exports SET heartbeat_at = '2000-01-01 00:00:00' WHERE id = ?").run(id);
|
||||
tick();
|
||||
assert.notEqual(db.prepare('SELECT heartbeat_at FROM exports WHERE id = ?').get(id).heartbeat_at, '2000-01-01 00:00:00');
|
||||
lease.close();
|
||||
assert.equal(cleared, true);
|
||||
db.close();
|
||||
});
|
||||
Reference in New Issue
Block a user