swagelize
Version:
Generate Sequelize model definitions and DAO from a Swagger 2.0 schema
74 lines (63 loc) • 2.35 kB
JavaScript
;
process.env.DATABASE_URI = 'mysql://root:admin@127.0.0.1:3306/TEST_SWAGUELIZE';
if (!process.env.DATABASE_URI) {
console.log('Please set the environment variable DATABASE_URI to test against');
process.exit(1);
}
var swagelize = require('../index.js');
var fs = require('fs');
var util = require('util');
var Sequelize = require('sequelize');
var Promise = require('bluebird');
var sequelize = new Sequelize(process.env.DATABASE_URI);
var swaggerSpec = JSON.parse(fs.readFileSync(__dirname + '/fixtures/swagger2.json', 'utf-8'));
// exports.testGenerate = (test) => {
// let models = {};
// swagelize.setDialect('mariadb');
// Object.keys(swaggerSpec.definitions).forEach((modelName) => {
// models[modelName] = sequelize.define(modelName, swagelize.generate(swaggerSpec.definitions[modelName]), { freezeTableName: true });
// });
//
// let syncPromises = Object.keys(models).map((modelName) => {
// return models[modelName].sync({force: true});
// });
//
// Promise.all(syncPromises).then(() => {
// console.log('done?');
// test.done();
// }).catch(test.done);
// };
// exports.testSingleGenerate = (test) => {
// swagelize.setDialect('mariadb');
// const def = swaggerSpec.definitions['Pet'];
// const generated = swagelize.generateOne(def, swaggerSpec.definitions);
// swagelize.generateFileSync('.', 'testFile.js', 'var generated = ' + swagelize.removeEscaped(generated));
// test.done();
// };
// exports.testGenerateModels = (test) => {
// swagelize.setDialect('mariadb');
// swagelize.generateFolders().then(()=>{
// swagelize.generateModelIndex();
// swagelize.generateModels(swaggerSpec.definitions).then(() => {
// test.done();
// });
// });
//
// };
exports.testGenerateDaos = (test) => {
swagelize.setDialect('mariadb');
swagelize.generateDaos(swaggerSpec)
test.done();
};
// exports.testGenerateAll = (test) => {
// swagelize.setDialect('mariadb');
// swagelize.generateAll(swaggerSpec);
// test.done();
// };
// exports.sequelizeSync = (test) => {
// var db = require('../models/index.js');
// db.sequelize.sync({alter:true}).then(()=> {
// console.log('SYNC DONE...');
// test.done();
// })
// };