YUKI Hiroshi
null+****@clear*****
Thu Nov 15 12:49:54 JST 2012
YUKI Hiroshi 2012-11-15 12:49:54 +0900 (Thu, 15 Nov 2012) New Revision: a2afadf0cb6e8040ca159cc7677b3cdadd283348 https://github.com/groonga/gcs/commit/a2afadf0cb6e8040ca159cc7677b3cdadd283348 Log: Expand scenarios by expandScenario() Modified files: test/api-configuration.test.js tools/scenario-runner.js Modified: test/api-configuration.test.js (+9 -34) =================================================================== --- test/api-configuration.test.js 2012-11-15 12:46:03 +0900 (8b9512b) +++ test/api-configuration.test.js 2012-11-15 12:49:54 +0900 (adae28f) @@ -1338,51 +1338,26 @@ suite('Configuration API', function() { return /\.json$/i.test(name); }).map(function(scenarioFileName) { var file = path.resolve(scenariosDir, scenarioFileName); - var requests = fs.readFileSync(file); - requests = JSON.parse(requests); + var scenario = fs.readFileSync(file); + scenario = JSON.parse(scenario); - var scenarioName = scenarioFileName.replace(/\.json$/, ''); + var scenarioBaseName = scenarioFileName.replace(/\.json$/, ''); - var setupRequests = requests.filter(function(request) { - return request.name.indexOf('setup:') == 0; - }); - var teardownRequests = requests.filter(function(request) { - return request.name.indexOf('teardown:') == 0; - }); - - var fileNames = {}; - requests.forEach(function(request, index) { - var fileName = ScenarioRunner.toSafeName(request.name); - var count = 1; - while (fileName in fileNames) { - fileName = request.name + count++; - } - request.fileName = fileName + '.txt'; - - if (request.name.indexOf('setup:') == 0 || - request.name.indexOf('teardown:') == 0) - return; - - test(scenarioName + ': ' + request.name, function(done) { - var scenario = { - requests: setupRequests - .concat([request]) - .concat(teardownRequests) - .map(function(request) { - return Object.create(request); - }) - }; + var scenarios = ScenarioRunner.expandScenario(scenario); + scenarios.forEach(function(scenario) { + test(scenarioBaseName + ': ' + scenario.name, function(done) { var runner = new ScenarioRunner({ accessKeyId: 'dummy-access-key-id', secretAccessKey: 'dummy-access-key', host: 'localhost', port: utils.testPort }); - var expectedResponsesDir = path.join(expectedResponsesBaseDir, scenarioName); + var expectedResponsesDir = path.join(expectedResponsesBaseDir, scenarioBaseName); runner.on('end', function(event) { try { scenario.requests.forEach(function(request) { - var expected = path.join(expectedResponsesDir, request.fileName); + var fileName = ScenarioRunner.toSafeName(request.name) + '.txt'; + var expected = path.join(expectedResponsesDir, fileName); expected = fs.readFileSync(expected).toString(); expected = new ScenarioResponse(expected); var actual = new ScenarioResponse(request.response); Modified: tools/scenario-runner.js (+4 -2) =================================================================== --- tools/scenario-runner.js 2012-11-15 12:46:03 +0900 (ad9b0f0) +++ tools/scenario-runner.js 2012-11-15 12:49:54 +0900 (5de7974) @@ -40,7 +40,8 @@ function expandScenarios(scenarios) { }); return expanded; }; -ScenariosRunner.expandScenarios = expandScenarios; +ScenariosRunner.expandScenarios = + ScenarioRunner.expandScenarios = expandScenarios; function expandScenario(scenario) { if (scenario.setup) { @@ -88,7 +89,8 @@ function expandScenario(scenario) { return scenarios; }; -ScenariosRunner.expandScenario = expandScenario; +ScenariosRunner.expandScenario = + ScenarioRunner.expandScenario = expandScenario; ScenariosRunner.prototype._process = function(params) { if (!params.start) params.start = Date.now(); -------------- next part -------------- HTML����������������������������...Download