diff --git a/test/fixture/cp.txt b/test/fixture/cp.txt new file mode 100644 index 00000000..ce013625 --- /dev/null +++ b/test/fixture/cp.txt @@ -0,0 +1 @@ +hello diff --git a/test/rest/cp.js b/test/rest/cp.js new file mode 100644 index 00000000..e4eee84d --- /dev/null +++ b/test/rest/cp.js @@ -0,0 +1,51 @@ +'use strict'; + +const { + join, +} = require('path'); +const fs = require('fs'); +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 fixtureDir = join(__dirname, '..', 'fixture') + '/'; + +const warp = (fn, ...a) => (...b) => fn(...b, ...a); +const _pullout = promisify(pullout); + +const put = promisify((url, json, fn) => { + fn(null, request.put(url, { + json, + })); +}); + +test('cloudcmd: rest: cp', (t) => { + before({}, (port, after) => { + const tmp = join(fixtureDir, 'tmp'); + const files = { + from: '/fixture/', + to: '/fixture/tmp', + names: [ + 'cp.txt' + ] + }; + + fs.mkdirSync(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(); + + rimraf.sync(tmp); + + after(); + }) + .catch(console.error); + }); +}); + diff --git a/test/rest/fs.js b/test/rest/fs.js index f5516173..08c599df 100644 --- a/test/rest/fs.js +++ b/test/rest/fs.js @@ -4,11 +4,9 @@ const test = require('tape'); const {promisify} = require('es6-promisify'); const pullout = require('pullout'); const request = require('request'); - const before = require('../before'); const warp = (fn, ...a) => (...b) => fn(...b, ...a); - const _pullout = promisify(pullout); const get = promisify((url, fn) => { @@ -25,9 +23,7 @@ test('cloudcmd: rest: fs: path', (t) => { t.end(); after(); }) - .catch((error) => { - console.log(error); - }); + .catch(console.error); }); }); diff --git a/test/rest/rest.js b/test/rest/rest.js new file mode 100644 index 00000000..947bbb64 --- /dev/null +++ b/test/rest/rest.js @@ -0,0 +1,49 @@ +'use strict'; + +const test = require('tape'); +const rest = require('../../server/rest'); + +const { + _formatMsg, + _getWin32RootMsg, + _isRootWin32, + _isRootAll, +} = rest; + +test('rest: formatMsg', (t) => { + const result = _formatMsg('hello', 'world'); + + t.equal(result, 'hello: ok("world")', 'should be equal'); + t.end(); +}); + +test('rest: formatMsg: json', (t) => { + const result = _formatMsg('hello', { + name: 'world', + }); + + t.equal(result, 'hello: ok("{"name":"world"}")', 'should parse json'); + t.end(); +}); + +test('rest: getWin32RootMsg', (t) => { + const {message} = _getWin32RootMsg(); + + t.equal(message,'Could not copy from/to root on windows!', 'should return error'); + t.end(); +}); + +test('rest: isRootWin32', (t) => { + const result = _isRootWin32('/'); + + t.notOk(result, 'should equal'); + t.end(); +}); + +test('rest: isRootAll', (t) => { + const result = _isRootAll(['/', '/h']); + + t.notOk(result, 'should equal'); + t.end(); +}); +