From 2dbbf69a4cdabeaea60f3256d51181226204853d Mon Sep 17 00:00:00 2001 From: coderaiser Date: Wed, 26 Oct 2016 17:31:13 +0300 Subject: [PATCH] test(cloudcmd) add --- package.json | 1 + test/cloudcmd.js | 59 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 test/cloudcmd.js diff --git a/package.json b/package.json index ee6e0eb8..0879f97b 100644 --- a/package.json +++ b/package.json @@ -126,6 +126,7 @@ }, "devDependencies": { "coveralls": "^2.11.6", + "es6-promisify": "^5.0.0", "eslint": "^3.1.1", "jscs": "^3.0.1", "jshint": "^2.8.0", diff --git a/test/cloudcmd.js b/test/cloudcmd.js new file mode 100644 index 00000000..4cbc1e7c --- /dev/null +++ b/test/cloudcmd.js @@ -0,0 +1,59 @@ +const http = require('http'); + +const test = require('tape'); +const express = require('express'); +const promisify = require('es6-promisify'); +const pipe = require('pipe-io'); + +const wrap = (fn, ...a) => (...b) => fn(...a, ...b); +const success = (fn) => (...args) => fn(null, ...args); + +const freeport = promisify(require('freeport')); +const getBody = promisify(pipe.getBody); +const get = promisify((url, fn) => { + http.get(url, success(fn)); +}); + +const cloudcmd = require('..'); + +const host = '127.0.0.1'; + +const before = (fn) => { + const app = express(); + const server = http.createServer(app); + const after = () => { + server.close(); + }; + + const listen = (port) => { + server.listen(port, host, wrap(fn, port, after)); + }; + + app.use(cloudcmd({ + config: { + auth: false, + root: __dirname + } + })); + + freeport() + .then(listen) +}; + +test('cloudcmd: rest: fs: path', (t) => { + before((port, after) => { + console.log(port); + get(`http://${host}:${port}/api/v1/fs`) + .then(wrap(getBody)) + .then(JSON.parse) + .then((dir) => { + t.equal('/', dir.path, 'should dir path be "/"'); + t.end(); + after(); + }) + .catch((error) => { + console.log(error); + }); + }); +}); +