Skip to content
This repository was archived by the owner on Sep 14, 2022. It is now read-only.

Commit 0cb7436

Browse files
author
HarishRaj11
committed
Rspec BDD Generation
1 parent c13156b commit 0cb7436

File tree

3 files changed

+24
-16
lines changed

3 files changed

+24
-16
lines changed

bin/swagger-project.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ var execute = cli.execute;
2323
var frameworks = Object.keys(project.frameworks).join('|');
2424
var assertiontypes = project.assertiontypes.join('|');
2525
var testmodules = project.testmodules.join('|');
26+
var lang = project.lang.join('|');
2627

2728
app
2829
.command('create [name]')
@@ -65,6 +66,7 @@ app
6566
.option('-d, --debug [port]', 'start in remote debug mode')
6667
.option('-b, --debug-brk [port]', 'start in remote debug mode, wait for debugger connect')
6768
.option('-m, --mock', 'run in mock mode')
69+
.option('-o, --host <server>', 'test server')
6870
.action(execute(project.test));
6971

7072
app
@@ -75,6 +77,7 @@ app
7577
.option('-t, --assertion-format <type>', 'one of: ' + assertiontypes)
7678
.option('-o, --force', 'allow overwriting of all existing test files matching those generated')
7779
.option('-l, --load-test [path]', 'generate load-tests for specified operations')
80+
.option('-n, --lang <language>', 'one of: ' + lang)
7881
.action(execute(project.generateTest));
7982

8083
app.parse(process.argv);

config/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ var debug = require('debug')('swagger');
2222
var config = {
2323
rootDir: path.resolve(__dirname, '..'),
2424
userHome: process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'],
25-
debug: !!process.env.DEBUG
25+
debug: !!process.env.DEBUG,
26+
language: 'js'
2627
};
2728
config.nodeModules = path.resolve(config.rootDir, 'node_modules');
2829

lib/commands/project/project.js

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ var swaggerSpec = require('../../util/spec');
3030
var spec = require('swagger-tools').specs.v2;
3131
var inquirer = require('inquirer');
3232

33+
var LANGUAGE = ['js', 'rb'];
3334
var FRAMEWORKS = {
3435
connect: { source: 'connect' },
3536
express: { source: 'connect', overlay: 'express' },
@@ -61,6 +62,8 @@ module.exports = {
6162
read: readProject,
6263
assertiontypes: TEST_ASSERTION_TYPES,
6364
testmodules: TEST_MODULES,
65+
lang: LANGUAGE,
66+
6467

6568
// for testing stub generating
6669
generateTest: testGenerate
@@ -77,8 +80,9 @@ function create(name, options, cb) {
7780
}
7881

7982
if (name) {
80-
var valid = validateName(name);
81-
if (typeof valid === 'string') { return cb(new Error(valid)); }
83+
var valid = validateName(name);
84+
if (typeof valid === 'string') { return cb(new Error(valid)); }
85+
8286
}
8387

8488
if (options.framework && !FRAMEWORKS[options.framework]) {
@@ -220,6 +224,14 @@ function test(directory, options, cb) {
220224
if (options.mock) {
221225
process.env.swagger_mockMode = true;
222226
}
227+
228+
var server_config = require('../../../../../config.json')
229+
process.env.swagger_host = server_config[options.host].protocol + "://";
230+
process.env.swagger_host += server_config[options.host].host;
231+
if(server_config[options.host].port != ""){
232+
process.env.swagger_host += ":" + server_config[options.host].port;
233+
}
234+
223235
mocha.run(function(failures) {
224236
process.exit(failures);
225237
});
@@ -456,7 +468,8 @@ function testGenerate(directory, options, cb) {
456468
var config = {
457469
pathName: desiredPaths,
458470
testModule: testModule,
459-
assertionFormat: assertionFormat
471+
assertionFormat: assertionFormat,
472+
lang: options.lang
460473
};
461474

462475
// pass list of paths targeted for load testing
@@ -523,18 +536,9 @@ function testGenerate(directory, options, cb) {
523536
}
524537
}
525538
}, function(filteredResult) {
526-
527-
async.each(filteredResult, function(file, cb) {
528-
if (file.name === '.env') {
529-
fs.outputFile(path.join(directory, file.name), file.test, cb);
530-
} else {
531-
fs.outputFile(path.join(directory, '/test/api/client', file.name), file.test, cb);
532-
}
533-
}, function(err) {
534-
if (runInstall) {
535-
installDependencies(directory, 'Success! You may now run your tests.', cb);
536-
}
537-
});
539+
finalResult.forEach(function(file){
540+
fs.outputFile(path.join(directory,'/test/api/client', file.name), file.test.replace(/x-enum/g, "enum"), cb);
541+
});
538542
});
539543
});
540544
});

0 commit comments

Comments
 (0)