[Groonga-commit] droonga/express-droonga at ee253d5 [master] Use supertest if possible

Back to archive index

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 



More information about the Groonga-commit mailing list
Back to archive index