nexstream-api / backend /tests /api /metrics_failure_paths.test.ts
circleci
deploy ccb248c
65fc551
Raw
History Blame Contribute Delete
924 Bytes
import { describe, it, expect, beforeEach, vi } from 'vitest';
import request from 'supertest';
// force resolution failure to hit catch
vi.mock('../../src/services/ytdlp.service.js', async (importOriginal) => {
const actual =
await importOriginal<
typeof import('../../src/services/ytdlp.service.js')
>();
return { ...actual, getVideoInfo: vi.fn().mockResolvedValue(null) };
});
import app from '../../src/app.js';
import {
getMetrics,
resetMetrics,
} from '../../src/utils/infra/metrics.util.js';
describe('controller failure metrics', () => {
beforeEach(() => {
resetMetrics();
});
it('records a stream_urls failure when resolution fails', async () => {
const res = await request(app)
.get('/stream-urls')
.query({ url: 'https://www.youtube.com/watch?v=nTbA7qrEsP0' });
expect(res.status).toBe(500);
expect(getMetrics().failures.stream_urls).toBe(1);
});
});