Files
dj/model-bridge/test_current_adapter.cjs
T

21 lines
1.6 KiB
JavaScript

const assert = require('node:assert/strict');
const path = require('node:path');
const esbuild = require('../huobao-source/desktop/node_modules/esbuild');
const out = path.resolve(__dirname,'../integration-work/test-local-adapter.cjs');
esbuild.buildSync({entryPoints:[path.resolve(__dirname,'../huobao-source/backend/src/services/adapters/local-video.ts')],outfile:out,bundle:true,platform:'node',format:'cjs'});
const {LocalVideoAdapter} = require(out);
const a = new LocalVideoAdapter();
const cfg={id:1,provider:'localvideo',baseUrl:'http://example.test',apiKey:'test-key'};
const record={prompt:'A mountain lake.',duration:5,aspectRatio:'16:9',resolution:'720p'};
for(const model of ['MiniMax-H3','MiniMax-H3-Hybrid','MiniMax-H3-R2V-4Step','LTX-2.3','LTX-2.3-Text-Preserve','Wan2.2-I2V']) {
const r=a.buildGenerateRequest(cfg,{...record,model});
assert.equal(r.body.model,model); assert.equal(r.body.resolution,'720P');
assert.equal(r.url,'http://example.test/v2/video_generation');
}
const hd=a.buildGenerateRequest(cfg,{...record,model:'MiniMax-H3-VDN-H3',resolution:'4K',seed:41});
assert.equal(hd.body.model,'MiniMax-H3-VDN-H3'); assert.equal(hd.body.resolution,'4K');assert.equal(hd.body.seed,41);
assert.throws(()=>a.buildGenerateRequest(cfg,{...record,model:'LTX-2.3',resolution:'4K'}));
assert.throws(()=>a.buildGenerateRequest(cfg,{...record,model:'not-a-model'}));
assert.equal(a.parsePollResponse({task:{status:'succeeded',content:{url:'http://example.test/result.mp4'}}}).status,'completed');
console.log('PASS: six existing models and dedicated VDN 4K request/polling');