YUKI Hiroshi
null+****@clear*****
Fri Oct 17 20:25:59 JST 2014
YUKI Hiroshi 2014-10-17 20:25:59 +0900 (Fri, 17 Oct 2014) New Revision: ee253d5e3895bfe0123a304f4d02f76b07c5187d https://github.com/droonga/express-droonga/commit/ee253d5e3895bfe0123a304f4d02f76b07c5187d Message: Use supertest if possible Modified files: test/adapter/api/groonga/basic.test.js test/adapter/api/groonga/load.test.js test/adapter/api/groonga/utils.js Modified: test/adapter/api/groonga/basic.test.js (+27 -14) =================================================================== --- test/adapter/api/groonga/basic.test.js 2014-10-17 20:09:09 +0900 (aaf42f7) +++ test/adapter/api/groonga/basic.test.js 2014-10-17 20:25:59 +0900 (e7423d5) @@ -1,5 +1,6 @@ var assert = require('chai').assert; var nodemock = require('nodemock'); +var client = require('supertest'); var utils = require('../../../test-utils'); var groongaUtils = require('./utils'); @@ -42,26 +43,38 @@ suite('adapter/api/groonga: basic commands', function() { suite('URL suffix', function() { test('nothing', function(done) { groongaUtils.pushSuccessResponse(backend); - var body = [ - ] - utils.get('/d/table_create?name=Users', JSON.stringify(body)) - .then(function(response) { - assert.deepEqual(response.statusCode, 200); + client(application) + .get('/d/table_create?name=Users') + .expect(200) + .end(function(error, response) { + if (error) + return done(error); + + try { + assert.deepEqual(response.body, true); + } catch(error) { + return done(error); + } done(); - }) - .catch(done); + }); }); test('.json', function(done) { groongaUtils.pushSuccessResponse(backend); - var body = [ - ] - utils.get('/d/table_create.json?name=Users', JSON.stringify(body)) - .then(function(response) { - assert.deepEqual(response.statusCode, 200); + client(application) + .get('/d/table_create.json?name=Users') + .expect(200) + .end(function(error, response) { + if (error) + return done(error); + + try { + assert.deepEqual(response.body, true); + } catch(error) { + return done(error); + } done(); - }) - .catch(done); + }); }); }); }); Modified: test/adapter/api/groonga/load.test.js (+96 -49) =================================================================== --- test/adapter/api/groonga/load.test.js 2014-10-17 20:09:09 +0900 (e38e597) +++ test/adapter/api/groonga/load.test.js 2014-10-17 20:25:59 +0900 (55971c3) @@ -1,5 +1,6 @@ var assert = require('chai').assert; var nodemock = require('nodemock'); +var client = require('supertest'); var utils = require('../../../test-utils'); var groongaUtils = require('./utils'); @@ -47,24 +48,32 @@ suite('adapter/api/groonga: load', function() { groongaUtils.pushSuccessResponse(backend); var body = [ ] - utils.post('/d/load?table=Users', JSON.stringify(body)) - .then(function(response) { - assert.deepEqual(response.statusCode, 200); + client(application) + .post('/d/load?table=Users') + .set('Content-Type', 'application/json') + .send(body) + .expect(200) + .end(function(error, response) { + if (error) + return done(error); done(); - }) - .catch(done); + }); }); test('.json', function(done) { groongaUtils.pushSuccessResponse(backend); var body = [ ] - utils.post('/d/load.json?table=Users', JSON.stringify(body)) - .then(function(response) { - assert.deepEqual(response.statusCode, 200); + client(application) + .post('/d/load.json?table=Users') + .set('Content-Type', 'application/json') + .send(body) + .expect(200) + .end(function(error, response) { + if (error) + return done(error); done(); - }) - .catch(done); + }); }); }); @@ -73,12 +82,16 @@ suite('adapter/api/groonga: load', function() { groongaUtils.pushSuccessResponse(backend); var body = [ ] - utils.post('/d/load?table=Users', JSON.stringify(body)) - .then(function(response) { - assert.deepEqual(response.statusCode, 200); + client(application) + .post('/d/load?table=Users') + .set('Content-Type', 'application/json') + .send(body) + .expect(200) + .end(function(error, response) { + if (error) + return done(error); done(); - }) - .catch(done); + }); }); }); @@ -87,13 +100,22 @@ suite('adapter/api/groonga: load', function() { groongaUtils.pushSuccessResponse(backend); var body = [ ] - utils.post('/d/load?table=Users', JSON.stringify(body)) - .then(function(response) { - var responseBody = groongaUtils.groongaResponseBody(response); - assert.deepEqual(responseBody, [0]); + client(application) + .post('/d/load?table=Users') + .set('Content-Type', 'application/json') + .send(body) + .expect(200) + .end(function(error, response) { + if (error) + return done(error); + try { + var responseBody = groongaUtils.groongaResponseBody(response); + assert.deepEqual(responseBody, [0]); + } catch(error) { + return done(error); + } done(); - }) - .catch(done); + }); }); test('one', function(done) { @@ -103,13 +125,22 @@ suite('adapter/api/groonga: load', function() { _key: 'alice' } ] - utils.post('/d/load?table=Users', JSON.stringify(body)) - .then(function(response) { - var responseBody = groongaUtils.groongaResponseBody(response); - assert.deepEqual(responseBody, [1]); + client(application) + .post('/d/load?table=Users') + .set('Content-Type', 'application/json') + .send(body) + .expect(200) + .end(function(error, response) { + if (error) + return done(error); + try { + var responseBody = groongaUtils.groongaResponseBody(response); + assert.deepEqual(responseBody, [1]); + } catch(error) { + return done(error); + } done(); - }) - .catch(done); + }); }); test('multiple', function(done) { @@ -123,13 +154,22 @@ suite('adapter/api/groonga: load', function() { _key: 'bob' } ] - utils.post('/d/load?table=Users', JSON.stringify(body)) - .then(function(response) { - var responseBody = groongaUtils.groongaResponseBody(response); - assert.deepEqual(responseBody, [2]); + client(application) + .post('/d/load?table=Users') + .set('Content-Type', 'application/json') + .send(body) + .expect(200) + .end(function(error, response) { + if (error) + return done(error); + try { + var responseBody = groongaUtils.groongaResponseBody(response); + assert.deepEqual(responseBody, [2]); + } catch(error) { + return done(error); + } done(); - }) - .catch(done); + }); }); }); @@ -375,24 +415,31 @@ suite('adapter/api/groonga: load', function() { _key: 'alice' } ]; - utils.post('/d/load', JSON.stringify(body)) - .then(function(responseMessage) { - var actual = { - httpStatusCode: responseMessage.statusCode, - groongaStatusCode: groongaUtils.groongaResponseHeader(responseMessage)[0], - errorMessage: groongaUtils.groongaResponseHeader(responseMessage)[3], - body: groongaUtils.groongaResponseBody(responseMessage) + client(application) + .post('/d/load') + .set('Content-Type', 'application/json') + .send(body) + .expect(400) + .end(function(error, response) { + if (error) + return done(error); + try { + var actual = { + groongaStatusCode: groongaUtils.groongaResponseHeader(response)[0], + errorMessage: groongaUtils.groongaResponseHeader(response)[3], + body: groongaUtils.groongaResponseBody(response) + } + assert.deepEqual(actual, + { + groongaStatusCode: -22, + errorMessage: 'required parameter is missing: <table>', + body: [0] + }); + } catch(error) { + return done(error); } - assert.deepEqual(actual, - { - httpStatusCode: 400, - groongaStatusCode: -22, - errorMessage: 'required parameter is missing: <table>', - body: [0] - }); done(); - }) - .catch(done); + }); }); }); }); Modified: test/adapter/api/groonga/utils.js (+4 -1) =================================================================== --- test/adapter/api/groonga/utils.js 2014-10-17 20:09:09 +0900 (11ebfbc) +++ test/adapter/api/groonga/utils.js 2014-10-17 20:25:59 +0900 (50c1d18) @@ -14,7 +14,10 @@ function pushSuccessResponse(backend) { exports.pushSuccessResponse = pushSuccessResponse; function groongaResponse(responseMessage) { - return JSON.parse(responseMessage.body); + if (typeof responseMessage.body == 'string') + return JSON.parse(responseMessage.body); + else + return responseMessage.body; } exports.groongaResponse = groongaResponse; -------------- next part -------------- HTML����������������������������... Descargar