Files
localMiniDrama/backend-node/test/agnesVideoPoll.test.js
T

45 lines
1.6 KiB
JavaScript

const { describe, it } = require('node:test');
const assert = require('node:assert/strict');
const { pickProxyVideoUrl, buildAgnesPollRequest } = require('../src/services/videoClient');
describe('pickProxyVideoUrl Agnes completed task', () => {
it('reads MP4 from remixed_from_video_id when video_url is absent', () => {
const data = {
status: 'completed',
progress: 100,
remixed_from_video_id:
'https://platform-outputs.agnes-ai.space/videos/agnes-video-v2.0/2026/06/15/video_7237611b.mp4',
video_id: 'video_7237611b',
};
assert.equal(
pickProxyVideoUrl(data),
'https://platform-outputs.agnes-ai.space/videos/agnes-video-v2.0/2026/06/15/video_7237611b.mp4'
);
});
});
describe('buildAgnesPollRequest', () => {
it('uses recommended video_id query API when provider poll id is video-prefixed', () => {
const req = buildAgnesPollRequest(
{ api_key: 'k', base_url: 'https://apihub.agnes-ai.com/v1' },
'video:video_abc123',
'agnes-video-v2.0'
);
assert.equal(
req.url,
'https://apihub.agnes-ai.com/agnesapi?video_id=video_abc123&model_name=agnes-video-v2.0'
);
assert.deepEqual(req.headers, { Authorization: 'Bearer k' });
});
it('falls back to legacy task query API for task ids', () => {
const req = buildAgnesPollRequest(
{ api_key: 'k', base_url: 'https://apihub.agnes-ai.com/v1', query_endpoint: '/videos/{taskId}' },
'task_abc123',
'agnes-video-v2.0'
);
assert.equal(req.url, 'https://apihub.agnes-ai.com/v1/videos/task_abc123');
assert.deepEqual(req.headers, { Authorization: 'Bearer k' });
});
});