[Groonga-commit] droonga/express-droonga at 166d401 [master] test: Add tests for URL suffix of other Groonga commands

Back to archive index

YUKI Hiroshi null+****@clear*****
Mon Apr 28 12:15:45 JST 2014


YUKI Hiroshi	2014-04-28 12:15:45 +0900 (Mon, 28 Apr 2014)

  New Revision: 166d4011d0e9ba472593ab55099860e57efea9ed
  https://github.com/droonga/express-droonga/commit/166d4011d0e9ba472593ab55099860e57efea9ed

  Message:
    test: Add tests for URL suffix of other Groonga commands

  Added files:
    test/adapter/api/groonga/basic.test.js

  Added: test/adapter/api/groonga/basic.test.js (+93 -0) 100644
===================================================================
--- /dev/null
+++ test/adapter/api/groonga/basic.test.js    2014-04-28 12:15:45 +0900 (ac6e5ec)
@@ -0,0 +1,93 @@
+var assert = require('chai').assert;
+var nodemock = require('nodemock');
+var Deferred = require('jsdeferred').Deferred;
+
+var utils = require('../../../test-utils');
+
+var express = require('express');
+var httpAdapter = require('../../../../lib/adapter/http');
+var groongaAPI = require('../../../../lib/adapter/api/groonga');
+
+suite('adapter/api/groonga: basic commands', function() {
+  var connection;
+  var application;
+  var server;
+  var backend;
+
+  setup(function(done) {
+    utils.setupApplication()
+      .next(function(result) {
+        backend = result.backend;
+        server = result.server;
+        connection = result.connection;
+        application = result.application;
+        httpAdapter.register(application, {
+          prefix: '',
+          connection: connection,
+          plugins: [groongaAPI]
+        });
+        done();
+      });
+  });
+
+  teardown(function() {
+    utils.teardownApplication({
+      backend:    backend,
+      server:     server,
+      connection: connection
+    });
+  });
+
+  var successMessage = {
+    statusCode: 200,
+    body:       true
+  };
+
+  function pushSuccessResponse() {
+    backend.reserveResponse(function(requestPacket) {
+      return utils.createReplyPacket(requestPacket, successMessage);
+    });
+  }
+
+  function groongaResponse(responseMessage) {
+    return JSON.parse(responseMessage.body);
+  }
+
+  function groongaResponseHeader(responseMessage) {
+    return groongaResponse(responseMessage)[0];
+  };
+
+  function groongaResponseBody(responseMessage) {
+    return groongaResponse(responseMessage)[1];
+  };
+
+  suite('URL suffix', function() {
+    test('nothing', function(done) {
+      pushSuccessResponse();
+      var body = [
+      ]
+      utils.post('/d/table_create?name=Users', JSON.stringify(body))
+        .next(function(response) {
+          assert.deepEqual(response.statusCode, 200);
+          done();
+        })
+        .error(function(error) {
+          done(error);
+        });
+    });
+
+    test('.json', function(done) {
+      pushSuccessResponse();
+      var body = [
+      ]
+      utils.post('/d/table_create.json?name=Users', JSON.stringify(body))
+        .next(function(response) {
+          assert.deepEqual(response.statusCode, 200);
+          done();
+        })
+        .error(function(error) {
+          done(error);
+        });
+    });
+  });
+});
-------------- next part --------------
HTML����������������������������...
Download 



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