refactor!: separate runtime releases from panel source
This commit is contained in:
@@ -23,16 +23,12 @@ try {
|
||||
assert.equal((await request('/api/me')).data.user.username,process.env.TEST_USERNAME || 'testadmin');
|
||||
await request('/api/refresh','POST');
|
||||
assert.equal((await request('/api/me')).data.user.username,process.env.TEST_USERNAME || 'testadmin');
|
||||
let images=(await request('/api/images')).data;
|
||||
const build=(await request('/api/builds','POST',{version:process.env.TEST_FROM_VERSION || images[0]?.version || '0.2.0-rc.2'})).data;
|
||||
let buildSucceeded=false;
|
||||
for(let n=0;n<120;n++){let job;try{job=(await request('/api/builds/'+encodeURIComponent(build.id))).data;}catch(e){if(!(e instanceof Error))throw e;await new Promise(r=>setTimeout(r,1000));continue;}if(job?.status==='failed')throw new Error('build/validation failed: '+job.error);if(job?.status==='success'){buildSucceeded=true;break;}await new Promise(r=>setTimeout(r,1000));}
|
||||
assert.ok(buildSucceeded,'submitted build/validation job did not complete before timeout');
|
||||
images=(await request('/api/images')).data.filter(i=>i.status==='available');assert.ok(images.length,'validated image required');
|
||||
const images=(await request('/api/images')).data.filter(i=>i.status==='available' && i.selectable===true);
|
||||
assert.ok(images.length,'prepare a validated, admitted image through the admin Git release flow before running this test');
|
||||
const source=images.find(i=>!process.env.TEST_FROM_VERSION || i.version===process.env.TEST_FROM_VERSION);
|
||||
const target=images.find(i=>!process.env.TEST_TO_VERSION || i.version===process.env.TEST_TO_VERSION);
|
||||
assert.ok(source,'source image required');assert.ok(target,'target image required');
|
||||
console.log('PASS local image reuse, persistent build task and runtime verification');
|
||||
console.log('PASS validated and admitted local image selection');
|
||||
instance=(await request('/api/instances','POST',{name:'Integration check',image_id:source.image_id || source.id,version:source.version})).data;
|
||||
await request('/api/ws/mkdir','POST',{path:testDirectory});
|
||||
const form=new FormData();form.set('path',testDirectory);form.set('file',new Blob(['hello workspace']), 'hello.txt');await request('/api/ws/upload','POST',form);
|
||||
|
||||
Reference in New Issue
Block a user