stable-diffusion-cpp/manager.test.js
Rama main · réplica de lectura del repositorio original.
import assert from 'node:assert/strict';
import test from 'node:test';
import {
beginTrackedRequest,
endTrackedRequest,
getActiveProxyRequests,
isActive,
recordActivity,
resetActivityTracking,
} from './manager.js';
async function withEnv(name, value, callback) {
const previous = process.env[name];
if (value === undefined) {
delete process.env[name];
} else {
process.env[name] = value;
}
const restore = () => {
if (previous === undefined) {
delete process.env[name];
return;
}
process.env[name] = previous;
};
try {
return await callback();
} finally {
restore();
}
}
test('isActive returns true when SD_CPP_SLEEP_IDLE_SECONDS is 0 (disabled)', async () => {
await withEnv('SD_CPP_SLEEP_IDLE_SECONDS', '0', () => {
resetActivityTracking();
assert.ok(isActive());
});
});
test('recordActivity marks the server as active in idle mode', async () => {
await withEnv('SD_CPP_SLEEP_IDLE_SECONDS', '1', () => {
resetActivityTracking();
recordActivity();
assert.ok(isActive());
});
});
test('tracked proxy requests keep the manager active until the response closes', async () => {
await withEnv('SD_CPP_SLEEP_IDLE_SECONDS', '1', () => {
resetActivityTracking();
beginTrackedRequest();
assert.equal(getActiveProxyRequests(), 1);
assert.ok(isActive());
endTrackedRequest();
assert.equal(getActiveProxyRequests(), 0);
assert.equal(isActive(), false);
});
});
test('endTrackedRequest never drops the in-flight counter below zero', () => {
resetActivityTracking();
endTrackedRequest();
assert.equal(getActiveProxyRequests(), 0);
});