mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-10-22 18:13:27 +00:00
test: isolate scheduler startup in server specs
This commit is contained in:
parent
02c8915833
commit
65f6e14c14
4 changed files with 18 additions and 3 deletions
|
|
@ -38,6 +38,10 @@ jest.mock('~/server/services/Agents/triggers', () => ({
|
|||
initializeAgentTriggerService: jest.fn().mockResolvedValue(undefined),
|
||||
}));
|
||||
|
||||
jest.mock('~/server/services/Schedules', () => ({
|
||||
initializeScheduleEngine: jest.fn().mockResolvedValue(undefined),
|
||||
}));
|
||||
|
||||
describe('Server metrics route', () => {
|
||||
jest.setTimeout(30_000);
|
||||
|
||||
|
|
|
|||
|
|
@ -39,6 +39,10 @@ jest.mock('~/server/services/Agents/triggers', () => ({
|
|||
initializeAgentTriggerService: jest.fn().mockResolvedValue(undefined),
|
||||
}));
|
||||
|
||||
jest.mock('~/server/services/Schedules', () => ({
|
||||
initializeScheduleEngine: jest.fn().mockResolvedValue(undefined),
|
||||
}));
|
||||
|
||||
jest.mock(
|
||||
'@librechat/api/telemetry',
|
||||
() => ({
|
||||
|
|
|
|||
|
|
@ -66,14 +66,19 @@ describe('schedule trigger context', () => {
|
|||
|
||||
it.each([
|
||||
{ event: { type: 'schedule.occurrence', occurredAt: 1, source: { id: 's', type: 'webhook' } } },
|
||||
{ event: { type: 'schedule.occurrence', occurredAt: -1, source: { id: 's', type: 'schedule' } } },
|
||||
{
|
||||
event: { type: 'schedule.occurrence', occurredAt: -1, source: { id: 's', type: 'schedule' } },
|
||||
},
|
||||
{
|
||||
event: { type: 'schedule.occurrence', occurredAt: 1, source: { id: 's', type: 'schedule' } },
|
||||
metadata: { manual: 'yes' },
|
||||
},
|
||||
])('fails closed for malformed schedule trigger metadata', (agentTrigger) => {
|
||||
expect(
|
||||
readScheduleFireContext({ _isAgentTrigger: true, body: { agentTrigger: { version: 1, ...agentTrigger } } }),
|
||||
readScheduleFireContext({
|
||||
_isAgentTrigger: true,
|
||||
body: { agentTrigger: { version: 1, ...agentTrigger } },
|
||||
}),
|
||||
).toBeUndefined();
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -74,7 +74,9 @@ export function readScheduleFireContext(
|
|||
* Captures the verified trigger classification once, then projects the minimum
|
||||
* schedule fields expected by the existing generation lifecycle hooks.
|
||||
*/
|
||||
export function captureScheduleFireContext(req: ScheduleTriggerRequest): ScheduleFireContext | undefined {
|
||||
export function captureScheduleFireContext(
|
||||
req: ScheduleTriggerRequest,
|
||||
): ScheduleFireContext | undefined {
|
||||
const context = readScheduleFireContext(req);
|
||||
req._isScheduledFire = context != null;
|
||||
req._isManualScheduledFire = context?.manual === true;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue