a127-magic
Advanced tools
Comparing version 0.6.1 to 0.7.0
@@ -35,7 +35,8 @@ /**************************************************************************** | ||
var volosSwagger = require('volos-swagger'); | ||
var initializeSwagger = require('swagger-tools').initializeMiddleware; | ||
module.exports = { | ||
env: getEnvironment, | ||
load: getConfig, | ||
reload: useConfig | ||
load: load, | ||
reload: reload | ||
}; | ||
@@ -56,3 +57,4 @@ | ||
helpers: 'api/helpers' | ||
} | ||
}, | ||
swaggerTools: undefined | ||
} | ||
@@ -63,4 +65,7 @@ }; | ||
function useConfig(a127Env) { | ||
function reload(a127Env, cb) { | ||
if (a127Env === undefined && cb === undefined) { throw new Error('callback is required'); } | ||
if (_.isFunction(a127Env)) { cb = a127Env; a127Env = undefined; } | ||
env = config = undefined; | ||
@@ -94,3 +99,6 @@ | ||
return config; | ||
initializeSwagger(swaggerObject, function(swaggerTools) { | ||
magic.swaggerTools = swaggerTools; | ||
cb(config); | ||
}); | ||
} | ||
@@ -144,5 +152,10 @@ | ||
function getConfig(a127Env) { | ||
if (!config || (a127Env && env !== a127Env)) { useConfig(a127Env); } | ||
return config; | ||
function load(a127Env, cb) { | ||
if (a127Env === undefined && cb === undefined) { throw new Error('callback is required'); } | ||
if (_.isFunction(a127Env)) { cb = a127Env; a127Env = undefined; } | ||
if (!config || (a127Env && env !== a127Env)) { | ||
reload(a127Env, cb); | ||
} else { | ||
cb(config); | ||
} | ||
} |
@@ -31,2 +31,3 @@ /**************************************************************************** | ||
module.exports = { | ||
init: init, | ||
config: config, | ||
@@ -36,1 +37,7 @@ middleware: middleware, | ||
}; | ||
function init(cb) { | ||
config.load(function(config) { | ||
cb(config); | ||
}); | ||
} |
@@ -27,9 +27,9 @@ /**************************************************************************** | ||
var a127Config = require('./config'); | ||
var swaggerTools = require('swagger-tools').middleware.v2_0; | ||
module.exports = middleware; | ||
function middleware() { | ||
function middleware(config) { | ||
var config = a127Config.load(); | ||
if (!config) { throw new Error('config is required'); } | ||
var startConfig = config._a127_start_config || {}; | ||
@@ -52,2 +52,4 @@ if (startConfig.debug && !process.env.DEBUG) { | ||
var swaggerTools = magic.swaggerTools; | ||
return chain([ | ||
@@ -54,0 +56,0 @@ swaggerTools.swaggerMetadata(magic.swaggerObject), |
{ | ||
"name": "a127-magic", | ||
"version": "0.6.1", | ||
"version": "0.7.0", | ||
"description": "Apigee 127 Swagger Loader and Middleware", | ||
@@ -19,4 +19,4 @@ "keywords": [ | ||
"dependencies": { | ||
"swagger-tools": "^0.6.13", | ||
"volos-swagger": "^0.6.0", | ||
"swagger-tools": "^0.7.1", | ||
"volos-swagger": "^0.7.0", | ||
"underscore": "1.6.x", | ||
@@ -23,0 +23,0 @@ "yamljs": "0.1.x", |
@@ -5,3 +5,2 @@ var should = require('should'); | ||
var fs = require('fs'); | ||
var os = require('os'); | ||
@@ -13,6 +12,7 @@ process.env.A127_APPROOT = __dirname; | ||
var config; | ||
before(function(done) { | ||
config = a127config.reload(); | ||
done(); | ||
a127config.reload(function(conf) { | ||
config = conf; | ||
done(); | ||
}); | ||
}); | ||
@@ -50,4 +50,6 @@ | ||
before(function(done) { | ||
config = a127config.load('development'); | ||
done(); | ||
a127config.load('development', function(conf) { | ||
config = conf; | ||
done(); | ||
}); | ||
}); | ||
@@ -101,5 +103,6 @@ | ||
process.env.NODE_ENV = 'development'; | ||
config = a127config.reload(); | ||
a127config.env().should.equal('development'); | ||
done(); | ||
a127config.reload(function() { | ||
a127config.env().should.equal('development'); | ||
done(); | ||
}); | ||
}); | ||
@@ -110,5 +113,6 @@ | ||
process.env.A127_ENV = 'development'; | ||
config = a127config.reload(); | ||
a127config.env().should.equal('development'); | ||
done(); | ||
a127config.reload(function() { | ||
a127config.env().should.equal('development'); | ||
done(); | ||
}); | ||
}); | ||
@@ -118,8 +122,9 @@ | ||
delete(process.env.NODE_ENV); | ||
delete(process.env.A127_ENV);; | ||
config = a127config.reload(); | ||
a127config.env().should.equal('development'); | ||
done(); | ||
delete(process.env.A127_ENV); | ||
a127config.reload(function() { | ||
a127config.env().should.equal('development'); | ||
done(); | ||
}); | ||
}); | ||
}); |
@@ -30,9 +30,10 @@ var should = require('should'); | ||
var config = a127config.load(); | ||
var originalSwagger = yaml.load(SWAGGER_FILE); | ||
var convertedSwagger = loader.load(SWAGGER_FILE, {}); | ||
a127config.load(function(config) { | ||
var originalSwagger = yaml.load(SWAGGER_FILE); | ||
var convertedSwagger = loader.load(SWAGGER_FILE, {}); | ||
originalSwagger.should.eql(convertedSwagger); | ||
originalSwagger.should.eql(convertedSwagger); | ||
done(); | ||
done(); | ||
}); | ||
}); | ||
@@ -42,19 +43,20 @@ | ||
var config = a127config.reload(); | ||
var swaggerObject = loader.load(SWAGGER_FILE, config); | ||
a127config.reload(function(config) { | ||
var swaggerObject = loader.load(SWAGGER_FILE, config); | ||
var swaggerConfig = swaggerObject['x-a127-config']; | ||
var swaggerConfig = swaggerObject['x-a127-config']; | ||
swaggerConfig.testString1.should.equal('defaultString'); | ||
swaggerConfig.testArray1.should.eql([ 'default1', 'default2' ]); | ||
swaggerConfig.testHash1.should.eql({ test1: 'defaultHash1', test2: 'defaultHash2'}); | ||
swaggerConfig.testString1.should.equal('defaultString'); | ||
swaggerConfig.testArray1.should.eql([ 'default1', 'default2' ]); | ||
swaggerConfig.testHash1.should.eql({ test1: 'defaultHash1', test2: 'defaultHash2'}); | ||
swaggerConfig['a127.account.password'].should.equal('PASSWORD'); | ||
swaggerConfig['a127.account.password'].should.equal('PASSWORD'); | ||
var swaggerReference = swaggerObject['x-volos-test']; | ||
swaggerReference.testReference1.should.equal('defaultString'); | ||
swaggerReference.testReference2.should.eql([ 'default1', 'default2' ]); | ||
swaggerReference.testReference3.should.eql({ test1: 'defaultHash1', test2: 'defaultHash2'}); | ||
var swaggerReference = swaggerObject['x-volos-test']; | ||
swaggerReference.testReference1.should.equal('defaultString'); | ||
swaggerReference.testReference2.should.eql([ 'default1', 'default2' ]); | ||
swaggerReference.testReference3.should.eql({ test1: 'defaultHash1', test2: 'defaultHash2'}); | ||
done(); | ||
done(); | ||
}); | ||
}); | ||
@@ -61,0 +63,0 @@ }); |
@@ -1,3 +0,1 @@ | ||
var should = require('should'); | ||
var path = require('path'); | ||
var a127config = require('../lib/config'); | ||
@@ -7,4 +5,2 @@ | ||
var config = a127config.load(); | ||
var middleware = require('../lib/middleware'); | ||
@@ -14,6 +10,14 @@ | ||
var config; | ||
before(function(done) { | ||
a127config.load(function(conf) { | ||
config = conf; | ||
done(); | ||
}); | ||
}); | ||
it('must load correctly', function(done) { | ||
middleware(); | ||
middleware(config); | ||
done(); | ||
}); | ||
}); |
@@ -11,8 +11,13 @@ var should = require('should'); | ||
var config = a127config.load(); | ||
describe('resource', function() { | ||
config['a127.magic'].swaggerFile = SWAGGER_FILE; | ||
var config; | ||
before(function(done) { | ||
a127config.load(function(conf) { | ||
config = conf; | ||
config['a127.magic'].swaggerFile = SWAGGER_FILE; | ||
done(); | ||
}); | ||
}); | ||
describe('resource', function() { | ||
it('oauth must be made available', function(done) { | ||
@@ -19,0 +24,0 @@ var oauth = resource('oauth2'); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
100504
586
+ Addedargparse@1.0.10(transitive)
+ Addedbalanced-match@1.0.2(transitive)
+ Addedbody-parser@1.20.2(transitive)
+ Addedbrace-expansion@1.1.11(transitive)
+ Addedbytes@3.1.2(transitive)
+ Addedcombined-stream@0.0.7(transitive)
+ Addedcomponent-emitter@1.1.2(transitive)
+ Addedconcat-map@0.0.1(transitive)
+ Addedcontent-type@1.0.5(transitive)
+ Addedcookiejar@2.0.1(transitive)
+ Addedcore-js@2.6.12(transitive)
+ Addedcore-util-is@1.0.3(transitive)
+ Addeddelayed-stream@0.0.5(transitive)
+ Addedextend@1.2.1(transitive)
+ Addedform-data@0.1.3(transitive)
+ Addedformidable@1.0.14(transitive)
+ Addedfs.realpath@1.0.0(transitive)
+ Addedglob@7.2.3(transitive)
+ Addediconv-lite@0.4.24(transitive)
+ Addedinflight@1.0.6(transitive)
+ Addedisarray@0.0.1(transitive)
+ Addedjson-refs@0.1.10(transitive)
+ Addedlodash-compat@3.10.2(transitive)
+ Addedlodash.get@4.4.2(transitive)
+ Addedlodash.isequal@4.5.0(transitive)
+ Addedmedia-typer@0.3.0(transitive)
+ Addedmethods@1.0.1(transitive)
+ Addedmime@1.2.11(transitive)
+ Addedmime-db@1.52.0(transitive)
+ Addedmime-types@2.1.35(transitive)
+ Addedminimatch@3.1.2(transitive)
+ Addedonce@1.4.0(transitive)
+ Addedpath-is-absolute@1.0.1(transitive)
+ Addedqs@1.2.02.4.26.11.0(transitive)
+ Addedraw-body@2.5.2(transitive)
+ Addedreadable-stream@1.0.27-1(transitive)
+ Addedreduce-component@1.0.1(transitive)
+ Addedsafer-buffer@2.1.2(transitive)
+ Addedsprintf-js@1.0.3(transitive)
+ Addedstring_decoder@0.10.31(transitive)
+ Addedsuperagent@0.21.0(transitive)
+ Addedswagger-converter@0.0.5(transitive)
+ Addedswagger-tools@0.7.4(transitive)
+ Addedtype-is@1.6.18(transitive)
+ Addedunpipe@1.0.0(transitive)
+ Addedvalidator@10.11.0(transitive)
+ Addedvolos-swagger@0.7.10(transitive)
+ Addedwrappy@1.0.2(transitive)
+ Addedyamljs@0.2.10(transitive)
+ Addedz-schema@3.25.1(transitive)
- Removedjjv@1.0.2(transitive)
- Removedjjve@0.4.0(transitive)
- Removedswagger-tools@0.6.13(transitive)
- Removedvolos-swagger@0.6.2(transitive)
Updatedswagger-tools@^0.7.1
Updatedvolos-swagger@^0.7.0