45 lines
1.6 KiB
JavaScript
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' });
|
|
});
|
|
});
|