From 33e6100113f6a93c9df841f9433feb2b9b2681b2 Mon Sep 17 00:00:00 2001 From: yarikos Date: Tue, 4 Apr 2017 21:42:10 +0300 Subject: [PATCH 1/2] PLT-1095 cleanup --- lib/resource.js | 26 -------------------------- 1 file changed, 26 deletions(-) diff --git a/lib/resource.js b/lib/resource.js index 19c4cbb..8d7bd02 100644 --- a/lib/resource.js +++ b/lib/resource.js @@ -8,32 +8,6 @@ function ApiResource(client) { this.client = client; } -ApiResource.prototype.request = function request(method, path) { - var api = this.client._api; - - var requestMethod = request[method]; - - function createRequestOptions() { - var options = { - url: util.format("%s/%s", api.basePath, path), - json: true, - auth: { - username: api.user, - password: api.password - } - }; - - return options; - } - - function prepareResponse(response, body) { - console.log(response); - } - - return Q.nfcall(requestMethod, createRequestOptions()) - .spread(prepareResponse); -}; - var hasOwn = {}.hasOwnProperty; ApiResource.extend = function extend(sub) { From 0aec5a958f556c09cc75541f6ee65d49b7dd3567 Mon Sep 17 00:00:00 2001 From: yarikos Date: Wed, 5 Apr 2017 01:38:01 +0300 Subject: [PATCH 2/2] PLT-1095 added taskhooksdata resource --- lib/client.js | 1 + lib/resources/taskhooksdata.js | 20 ++++++++ spec/resources/taskHooksData.spec.js | 76 ++++++++++++++++++++++++++++ 3 files changed, 97 insertions(+) create mode 100644 lib/resources/taskhooksdata.js create mode 100644 spec/resources/taskHooksData.spec.js diff --git a/lib/client.js b/lib/client.js index e6ffe8e..6a6cbd1 100644 --- a/lib/client.js +++ b/lib/client.js @@ -14,6 +14,7 @@ var resources = { }, repos: require('./resources/repos'), sshkeys: require('./resources/sshkeys'), + taskhooksdata: require('./resources/taskhooksdata'), tasks: require('./resources/tasks'), teams: require('./resources/teams'), users: require('./resources/users') diff --git a/lib/resources/taskhooksdata.js b/lib/resources/taskhooksdata.js new file mode 100644 index 0000000..6b233a8 --- /dev/null +++ b/lib/resources/taskhooksdata.js @@ -0,0 +1,20 @@ +var Resource = require("../resource.js"); + +//Warning! Internal API +module.exports = Resource.extend({ + path: 'sailor-support/hooks', + create: Resource.method({ + method: Resource.POST, + path: '/task/{taskId}/startup/data' + }), + + delete: Resource.method({ + method: Resource.DELETE, + path: '/task/{taskId}/startup/data' + }), + + retrieve: Resource.method({ + method: Resource.GET, + path: '/task/{taskId}/startup/data' + }) +}); diff --git a/spec/resources/taskHooksData.spec.js b/spec/resources/taskHooksData.spec.js new file mode 100644 index 0000000..ca92c19 --- /dev/null +++ b/spec/resources/taskHooksData.spec.js @@ -0,0 +1,76 @@ +describe('/tasks', function() { + var client = require("../../lib/client")("root", "secret"); + var taskhooksdata = client.taskhooksdata; + var nock = require('nock'); + + describe('/create', function() { + it('should send POST request for corresponding URL', function(done) { + + var input = { + a: 1, + b: 'v_2', + c: [1, 2], + d: { + e: null, + g: ['a', 'b'] + } + }; + + var taskId = '5602c23e6459bd0500000002'; + var response = {}; + + nock('https://api.elastic.io') + .post('/v1/sailor-support/hooks/task/5602c23e6459bd0500000002/startup/data', input) + .basicAuth({ + user: 'root', + pass: 'secret' + }) + .reply(200, response); + + taskhooksdata + .create(taskId, input) + .then(done) + .catch(done.fail) + }); + }); + + describe('/delete', function() { + it('should send DELETE request for corresponding URL', function(done) { + + var taskId = '5602c23e6459bd0500000003'; + + nock('https://api.elastic.io') + .delete('/v1/sailor-support/hooks/task/5602c23e6459bd0500000003/startup/data') + .basicAuth({ + user: 'root', + pass: 'secret' + }) + .reply(204); + + taskhooksdata + .delete(taskId) + .then(done) + .catch(done.fail) + }); + }); + + describe('/retrieve', function() { + it('should send GET request for corresponding URL', function(done) { + + var taskId = '5602c23e6459bd0500000003'; + + nock('https://api.elastic.io') + .get('/v1/sailor-support/hooks/task/5602c23e6459bd0500000003/startup/data') + .basicAuth({ + user: 'root', + pass: 'secret' + }) + .reply(200, { a: 3 }); + + taskhooksdata + .retrieve(taskId) + .then(done) + .catch(done.fail) + }); + }); +});