From dccf79dc55a60f2335b9c9cc98d03e556a633bcf Mon Sep 17 00:00:00 2001 From: coderaiser Date: Wed, 7 Nov 2018 12:50:55 +0200 Subject: [PATCH] test(cp) add serve-once --- test/rest/cp.js | 67 ++++++++++++++++++++----------------------------- 1 file changed, 27 insertions(+), 40 deletions(-) diff --git a/test/rest/cp.js b/test/rest/cp.js index 21948ecc..a409ee55 100644 --- a/test/rest/cp.js +++ b/test/rest/cp.js @@ -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(); });