| var assert = require('assert') |
| var oauth = require('../index.js') |
| var config = { |
| "verify_api_key_url":"https://sfeldmanmicro-test.apigee.net/edgemicro-auth/verifyApiKey", |
| "product_to_proxy":{"EdgeMicroTestProduct":["edgemicro_weather"]}, |
| "product_to_api_resource":{"EdgeMicroTestProduct":["/hello/blah/*/foo*","/hello/some/**","/hello/blah"]} |
| }; |
| var config2 = { |
| "verify_api_key_url":"https://sfeldmanmicro-test.apigee.net/edgemicro-auth/verifyApiKey", |
| "product_to_proxy":{"EdgeMicroTestProduct":["edgemicro_weather"]}, |
| "product_to_api_resource":{"EdgeMicroTestProduct":[]} |
| }; |
| var config3 = { |
| "verify_api_key_url":"https://sfeldmanmicro-test.apigee.net/edgemicro-auth/verifyApiKey", |
| "product_to_proxy":{"EdgeMicroTestProduct":["edgemicro_weather"]}, |
| "product_to_api_resource":{"EdgeMicroTestProduct":["/blah/*/foo*","/some/**","blah"]} |
| }; |
| |
| var proxy = {name:'edgemicro_weather',base_path:'/hello'} |
| |
| var token = {api_product_list:['EdgeMicroTestProduct']} |
| describe('test oauth',function(){ |
| it('checkIfAuthorized',function (done) { |
| var contains; |
| contains = oauth.checkIfAuthorized(config,'/hello',proxy,token); |
| assert(!contains) |
| contains = oauth.checkIfAuthorized(config,'/hello/blah',proxy,token); |
| assert(contains) |
| contains = oauth.checkIfAuthorized(config,'/hello/blah/somerule/foosomething',proxy,token); |
| assert(contains) |
| contains = oauth.checkIfAuthorized(config,'/hello/blah/somerule/ifoosomething',proxy,token); |
| assert(!contains) |
| contains = oauth.checkIfAuthorized(config,'/hello/some/somerule/foosomething',proxy,token); |
| assert(contains) |
| done() |
| |
| }) |
| it('checkIfAuthorizedNoConfig',function (done) { |
| var contains; |
| contains = oauth.checkIfAuthorized(config2,'/hello',proxy,token); |
| assert(contains) |
| contains = oauth.checkIfAuthorized(config2,'/hello/blah',proxy,token); |
| assert(contains) |
| contains = oauth.checkIfAuthorized(config2,'/hello/blah/somerule/foosomething',proxy,token); |
| assert(contains) |
| contains = oauth.checkIfAuthorized(config2,'/hello/blah/somerule/ifoosomething',proxy,token); |
| assert(contains) |
| contains = oauth.checkIfAuthorized(config2,'/hello/some/somerule/foosomething',proxy,token); |
| assert(contains) |
| done() |
| |
| }) |
| it('checkIfAuthorized3',function (done) { |
| var contains; |
| contains = oauth.checkIfAuthorized(config3,'/hello',proxy,token); |
| assert(!contains) |
| contains = oauth.checkIfAuthorized(config3,'/hello/blah',proxy,token); |
| assert(contains) |
| contains = oauth.checkIfAuthorized(config3,'/hello/blah/somerule/foosomething',proxy,token); |
| assert(contains) |
| contains = oauth.checkIfAuthorized(config3,'/hello/blah/somerule/ifoosomething',proxy,token); |
| assert(!contains) |
| contains = oauth.checkIfAuthorized(config3,'/hello/some/somerule/foosomething',proxy,token); |
| assert(contains) |
| done() |
| |
| }) |
| }) |