mirror of
https://github.com/coderaiser/cloudcmd.git
synced 2026-01-23 10:45:47 +00:00
87 lines
2 KiB
JavaScript
87 lines
2 KiB
JavaScript
import {EventEmitter} from 'node:events';
|
|
import wait from '@iocmd/wait';
|
|
import {test, stub} from 'supertape';
|
|
import serveOnce from 'serve-once';
|
|
import cloudcmd from '../../server/cloudcmd.mjs';
|
|
|
|
test('cloudcmd: rest: move', async (t) => {
|
|
const move = new EventEmitter();
|
|
const moveFiles = stub().returns(move);
|
|
|
|
const {createConfigManager} = cloudcmd;
|
|
cloudcmd.depStore('moveFiles', moveFiles);
|
|
|
|
const configManager = createConfigManager();
|
|
configManager('auth', false);
|
|
configManager('root', '/');
|
|
|
|
const {request} = serveOnce(cloudcmd, {
|
|
configManager,
|
|
});
|
|
|
|
const files = {
|
|
from: '/fixture/',
|
|
to: '/fixture/tmp/',
|
|
names: ['move.txt'],
|
|
};
|
|
|
|
const emit = move.emit.bind(move);
|
|
|
|
const [{body}] = await Promise.all([
|
|
request.put(`/api/v1/move`, {
|
|
body: files,
|
|
}),
|
|
wait(1000, emit, 'end'),
|
|
]);
|
|
|
|
t.equal(body, 'move: ok("["move.txt"]")', 'should move');
|
|
t.end();
|
|
});
|
|
|
|
test('cloudcmd: rest: move: no from', async (t) => {
|
|
const {createConfigManager} = cloudcmd;
|
|
|
|
const configManager = createConfigManager();
|
|
configManager('auth', false);
|
|
configManager('root', '/');
|
|
|
|
const {request} = serveOnce(cloudcmd, {
|
|
configManager,
|
|
});
|
|
|
|
const files = {};
|
|
|
|
const {body} = await request.put(`/api/v1/move`, {
|
|
body: files,
|
|
});
|
|
|
|
const expected = '"from" should be filled';
|
|
|
|
t.equal(body, expected);
|
|
t.end();
|
|
});
|
|
|
|
test('cloudcmd: rest: move: no to', async (t) => {
|
|
const {createConfigManager} = cloudcmd;
|
|
|
|
const configManager = createConfigManager();
|
|
configManager('auth', false);
|
|
configManager('root', '/');
|
|
|
|
const {request} = serveOnce(cloudcmd, {
|
|
configManager,
|
|
});
|
|
|
|
const files = {
|
|
from: '/',
|
|
};
|
|
|
|
const {body} = await request.put(`/api/v1/move`, {
|
|
body: files,
|
|
});
|
|
|
|
const expected = '"to" should be filled';
|
|
|
|
t.equal(body, expected);
|
|
t.end();
|
|
});
|