[Groonga-commit] groonga/gcs [master] Work in progress: rewrite API tests based on scenario-runner

Back to archive index

YUKI Hiroshi null+****@clear*****
Mon Nov 12 19:33:11 JST 2012


YUKI Hiroshi	2012-11-12 19:33:11 +0900 (Mon, 12 Nov 2012)

  New Revision: a0c2f69a6a655745010cc71ad01bc8e4896b7234
  https://github.com/groonga/gcs/commit/a0c2f69a6a655745010cc71ad01bc8e4896b7234

  Log:
    Work in progress: rewrite API tests based on scenario-runner

  Modified files:
    test/api-configuration.test.js

  Modified: test/api-configuration.test.js (+61 -0)
===================================================================
--- test/api-configuration.test.js    2012-11-12 19:29:43 +0900 (74cb667)
+++ test/api-configuration.test.js    2012-11-12 19:33:11 +0900 (898981a)
@@ -2,8 +2,10 @@ var utils = require('./test-utils');
 var xmlResponses = require('./xml-responses');
 var assert = require('chai').assert;
 var fs = require('fs');
+var path = require('path');
 
 var Domain = require('../lib/database').Domain;
+var Runner = require('../tools/scenario-runner').Runner;
 
 suite('Configuration API', function() {
   var temporaryDatabase;
@@ -1332,4 +1334,63 @@ suite('Configuration API', function() {
         });
     });
   });
+
+/*
+  suite('compare response with ACS\'s one', function() {
+    setup(commonSetup);
+    teardown(commonTeardown);
+
+    var scenariosDir = path.join(__dirname, 'scenarios/configuration');
+    var scenarioFiles = fs.readdirSync(scenariosDir);
+    scenarioFiles.filter(function(name) {
+      return /\.json$/i.test(name)
+    }).map(function(name) {
+      var file = path.resolve(scenariosDir, name);
+      var requests = fs.readFileSync(file);
+      requests = JSON.parse(requests);
+
+      var setupRequests = requests.filter(function(request) {
+            return request.name.indexOf('setup:') == 0;
+          });
+      var teardownRequests = requests.filter(function(request) {
+            return request.name.indexOf('teardown:') == 0;
+          });
+
+      requests.forEach(function(request, index) {
+        if (request.name.indexOf('setup:') == 0 ||
+            request.name.indexOf('teardown:') == 0)
+          return;
+
+        test(name + ': ' + request.name, function(done) {
+          var scenario = {
+                requests: setupRequests
+                            .concat([request])
+                            .concat(teardownRequests)
+                            .map(function(request) {
+                              return Object.create(request);
+                            })
+              };
+          var runner = new Runner({
+                accessKeyId: 'dummy-access-key-id',
+                secretAccessKey: 'dummy-access-key',
+                host: 'localhost',
+                port: utils.testPort
+              });
+          runner.run(scenario, function(error, result) {
+            try {
+              if (error)
+                throw new Error('unexpected error: ' + error);
+              scenario.requests.forEach(function(request) {
+                console.log(request.result);
+              });
+              done();
+            } catch(error) {
+              done(error);
+            }
+          });
+        });
+      });
+    });
+  });
+*/
 });
-------------- next part --------------
HTML����������������������������...
Télécharger 



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