test(cp) add serve-once

This commit is contained in:
coderaiser 2018-11-07 12:50:55 +02:00
parent a9635b49ef
commit dccf79dc55

View file

@ -1,52 +1,39 @@
'use strict';
const {
join,
} = require('path');
const {mkdirSync} = require('fs');
const {join} = require('path');
const test = require('tape');
const {promisify} = require('es6-promisify');
const pullout = require('pullout');
const request = require('request');
const before = require('../before');
const rimraf = require('rimraf');
const mkdirp = require('mkdirp');
const fixtureDir = join(__dirname, '..', 'fixture') + '/';
const config = {
root: join(__dirname, '..'),
};
const warp = (fn, ...a) => (...b) => fn(...b, ...a);
const _pullout = promisify(pullout);
const put = promisify((url, json, fn) => {
fn(null, request.put(url, {
json,
}));
const cloudcmd = require('../..');
const {request} = require('serve-once')(cloudcmd, {
config
});
test('cloudcmd: rest: cp', (t) => {
before({}, (port, after) => {
const tmp = join(fixtureDir, 'tmp');
const files = {
from: '/fixture/',
to: '/fixture/tmp',
names: [
'cp.txt'
]
};
mkdirp.sync(tmp);
const rmTmp = () => rimraf.sync(tmp);
put(`http://localhost:${port}/api/v1/cp`, files)
.then(warp(_pullout, 'string'))
.then((body) => {
t.equal(body, 'copy: ok("["cp.txt"]")', 'should return result');
t.end();
after();
})
.catch(console.error)
.then(rmTmp);
test('cloudcmd: rest: cp', async (t) => {
const tmp = join(fixtureDir, 'tmp');
const files = {
from: '/fixture/',
to: '/fixture/tmp',
names: [
'cp.txt'
]
};
mkdirSync(tmp);
const {body} = await request.put(`/api/v1/cp`, {
body: files
});
rimraf.sync(tmp);
t.equal(body, 'copy: ok("["cp.txt"]")', 'should return result');
t.end();
});