diff options
Diffstat (limited to 'node_modules/express-validator/test')
27 files changed, 0 insertions, 2366 deletions
diff --git a/node_modules/express-validator/test/asyncTest.js b/node_modules/express-validator/test/asyncTest.js deleted file mode 100644 index 75ff520..0000000 --- a/node_modules/express-validator/test/asyncTest.js +++ /dev/null @@ -1,111 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var request = require('supertest'); - -var app; -var errorMessage = 'Parameter is not 42'; - -// There are three ways to pass parameters to express: -// - as part of the URL -// - as GET parameter in the querystring -// - as POST parameter in the body -// These test show that req.checkQuery are only interested in req.query values, all other -// parameters will be ignored. - -function validation(req, res) { - req.checkQuery('testparam', errorMessage).notEmpty().isAsyncTest(); - - req.asyncValidationErrors().then(function() { - res.send({ testparam: req.query.testparam }); - }, function(errors) { - return res.send(errors); - }); -} - -function fail(body, length) { - expect(body).to.have.length(length); - expect(body[0]).to.have.property('msg', errorMessage); -} - -function pass(body) { - expect(body).to.have.property('testparam', '42'); -} - -function getRoute(path, test, length, done) { - request(app) - .get(path) - .end(function(err, res) { - test(res.body, length); - done(); - }); -} - -function postRoute(path, data, test, length, done) { - request(app) - .post(path) - .send(data) - .end(function(err, res) { - test(res.body, length); - done(); - }); -} - -// This before() is required in each set of tests in -// order to use a new validation function in each file -before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validation); -}); - -describe('#asyncTest()', function() { - describe('GET tests', function() { - it('should return two errors when query is missing, and unrelated param is present', function(done) { - getRoute('/test', fail, 2, done); - }); - - it('should return two errors when query is missing', function(done) { - getRoute('/', fail, 2, done); - }); - - it('should return a success when query validates and unrelated query is present', function(done) { - getRoute('/42?testparam=42', pass, null, done); - }); - - it('should return one error when query does not validate as int and unrelated query is present', function(done) { - getRoute('/test?testparam=blah', fail, 1, done); - }); - }); - - describe('POST tests', function() { - it('should return two errors when query is missing, and unrelated param is present', function(done) { - postRoute('/test', null, fail, 2, done); - }); - - it('should return two errors when query is missing', function(done) { - postRoute('/', null, fail, 2, done); - }); - - it('should return a success when query validates and unrelated query is present', function(done) { - postRoute('/42?testparam=42', null, pass, null, done); - }); - - it('should return one error when query does not validate as int and unrelated query is present', function(done) { - postRoute('/test?testparam=blah', null, fail, 1, done); - }); - - // POST only - - it('should return a success when query validates and unrelated param/body is present', function(done) { - postRoute('/test?testparam=42', { testparam: 'posttest' }, pass, null, done); - }); - - it('should return one error when query does not validate as int and unrelated param/body is present', function(done) { - postRoute('/test?testparam=blah', { testparam: '42' }, fail, 1, done); - }); - - it('should return two errors when query is missing and unrelated body is present', function(done) { - postRoute('/', { testparam: '42' }, fail, 2, done); - }); - }); - -}); diff --git a/node_modules/express-validator/test/checkBodySchemaTest.js b/node_modules/express-validator/test/checkBodySchemaTest.js deleted file mode 100644 index 92fc85f..0000000 --- a/node_modules/express-validator/test/checkBodySchemaTest.js +++ /dev/null @@ -1,117 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var request = require('supertest'); - -var errorMessage = 'Invalid param'; - -var app; - -function validation(req, res) { - req.checkBody({ - 'testparam': { - notEmpty: true, - isInt: true - }, - 'arrayParam': { - isArray: true - } - }); - - var errors = req.validationErrors(); - if (errors) { - return res.send(errors); - } - - res.send({ testparam: req.body.testparam }); -} - -function fail(body, length) { - expect(body).to.have.length(length); - expect(body[0]).to.have.property('msg', errorMessage); -} - -function pass(body) { - expect(body).to.have.property('testparam', '42'); -} - -function getRoute(path, test, length, done) { - request(app) - .get(path) - .end(function(err, res) { - test(res.body, length); - done(); - }); -} - -function postRoute(path, data, test, length, done) { - request(app) - .post(path) - .send(data) - .end(function(err, res) { - test(res.body, length); - done(); - }); -} - -// This before() is required in each set of tests in -// order to use a new validation function in each file -before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validation); -}); - -describe('#checkBodySchema()', function() { - describe('GET tests', function() { - it('should return three errors when param is missing', function(done) { - getRoute('/', fail, 3, done); - }); - - it('should return three errors when param is present, but not in the body', function(done) { - getRoute('/42', fail, 3, done); - }); - }); - - describe('POST tests', function() { - it('should return three errors when param is missing', function(done) { - postRoute('/', null, fail, 3, done); - }); - - it('should return three errors when param is present, but not in the body', function(done) { - postRoute('/42', null, fail, 3, done); - }); - - // POST only - - it('should return three errors when params are not present', function(done) { - postRoute('/test?testparam=gettest', null, fail, 3, done); - }); - - it('should return three errors when param is present, but not in body', function(done) { - postRoute('/42?testparam=42', null, fail, 3, done); - }); - - it('should return two errors when one param is present, but does not validate', function(done) { - postRoute('/42?testparam=42', { testparam: 'posttest' }, fail, 2, done); - }); - - it('should return a success when params validate on the body', function(done) { - postRoute('/?testparam=blah', { testparam: '42', arrayParam: [1, 2, 3] }, pass, null, done); - }); - - it('should return two errors when two params are present, but do not validate', function(done) { - postRoute('/?testparam=42', { testparam: 'posttest', arrayParam: 123 }, fail, 2, done); - }); - - it('should return two errors when two params are present, but do not validate', function(done) { - postRoute('/?testparam=42', { testparam: 'posttest', arrayParam: {} }, fail, 2, done); - }); - - it('should return two errors when two params are present, but do not validate', function(done) { - postRoute('/', { testparam: 'test', arrayParam: '[]' }, fail, 2, done); - }); - - it('should return a success when params validate on the body', function(done) { - postRoute('/', { testparam: '42', arrayParam: [] }, pass, null, done); - }); - }); -}); diff --git a/node_modules/express-validator/test/checkBodyTest.js b/node_modules/express-validator/test/checkBodyTest.js deleted file mode 100644 index cb14cc6..0000000 --- a/node_modules/express-validator/test/checkBodyTest.js +++ /dev/null @@ -1,116 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var request = require('supertest'); - -var app; -var errorMessage = 'Parameter is not an integer'; - -// There are three ways to pass parameters to express: -// - as part of the URL -// - as GET parameter in the querystring -// - as POST parameter in the body -// These test show that req.checkBody are only interested in req.body values, all other -// parameters will be ignored. - -function validation(req, res) { - req.checkBody('testparam', errorMessage).notEmpty().isInt(); - req.checkBody('arrayParam').isArray(); - - var errors = req.validationErrors(); - if (errors) { - return res.send(errors); - } - res.send({ testparam: req.body.testparam }); -} - -function fail(body, length) { - expect(body).to.have.length(length); - expect(body[0]).to.have.property('msg', errorMessage); -} - -function pass(body) { - expect(body).to.have.property('testparam', '42'); -} - -function getRoute(path, test, length, done) { - request(app) - .get(path) - .end(function(err, res) { - test(res.body, length); - done(); - }); -} - -function postRoute(path, data, test, length, done) { - request(app) - .post(path) - .send(data) - .end(function(err, res) { - test(res.body, length); - done(); - }); -} - -// This before() is required in each set of tests in -// order to use a new validation function in each file -before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validation); -}); - -describe('#checkBody()', function() { - describe('GET tests', function() { - it('should return three errors when param is missing', function(done) { - getRoute('/', fail, 3, done); - }); - - it('should return three errors when param is present, but not in the body', function(done) { - getRoute('/42', fail, 3, done); - }); - }); - - describe('POST tests', function() { - it('should return three errors when param is missing', function(done) { - postRoute('/', null, fail, 3, done); - }); - - it('should return three errors when param is present, but not in the body', function(done) { - postRoute('/42', null, fail, 3, done); - }); - - // POST only - - it('should return three errors when params are not present', function(done) { - postRoute('/test?testparam=gettest', null, fail, 3, done); - }); - - it('should return three errors when param is present, but not in body', function(done) { - postRoute('/42?testparam=42', null, fail, 3, done); - }); - - it('should return two errors when one param is present, but does not validate', function(done) { - postRoute('/42?testparam=42', { testparam: 'posttest' }, fail, 2, done); - }); - - it('should return a success when params validate on the body', function(done) { - postRoute('/?testparam=blah', { testparam: '42', arrayParam: [1, 2, 3] }, pass, null, done); - }); - - it('should return two errors when two params are present, but do not validate', function(done) { - postRoute('/?testparam=42', { testparam: 'posttest', arrayParam: 123 }, fail, 2, done); - }); - - it('should return two errors when two params are present, but do not validate', function(done) { - postRoute('/?testparam=42', { testparam: 'posttest', arrayParam: {} }, fail, 2, done); - }); - - it('should return two errors when two params are present, but do not validate', function(done) { - postRoute('/', { testparam: 'test', arrayParam: '[]' }, fail, 2, done); - }); - - it('should return a success when params validate on the body', function(done) { - postRoute('/', { testparam: '42', arrayParam: [] }, pass, null, done); - }); - }); - -});
\ No newline at end of file diff --git a/node_modules/express-validator/test/checkParamsSchemaTest.js b/node_modules/express-validator/test/checkParamsSchemaTest.js deleted file mode 100644 index 8a128b5..0000000 --- a/node_modules/express-validator/test/checkParamsSchemaTest.js +++ /dev/null @@ -1,132 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var request = require('supertest'); - -var app; -var errorMessage = 'Parameter is not an integer'; - -// There are three ways to pass parameters to express: -// - as part of the URL -// - as GET parameter in the querystring -// - as POST parameter in the body -// These test show that req.checkParams are only interested in req.params values, all other -// parameters will be ignored. - -function validation(req, res) { - req.checkParams({ - 'testparam': { - notEmpty: true, - isInt: { - errorMessage: 'Parameter is not an integer' - } - } - }); - - var errors = req.validationErrors(); - if (errors) { - return res.send(errors); - } - res.send({ testparam: req.params.testparam }); -} - -function fail(body, length) { - expect(body).to.have.length(length); - expect(body[0]).to.have.property('msg', errorMessage); -} - -function failMulti(body, length) { - expect(body).to.have.length(length); - expect(body[0]).to.have.property('msg', 'Invalid param'); - expect(body[1]).to.have.property('msg', errorMessage); -} - -function pass(body) { - expect(body).to.have.property('testparam', '42'); -} - -function getRoute(path, test, length, done) { - request(app) - .get(path) - .end(function(err, res) { - test(res.body, length); - done(); - }); -} - -function postRoute(path, data, test, length, done) { - request(app) - .post(path) - .send(data) - .end(function(err, res) { - test(res.body, length); - done(); - }); -} - -// This before() is required in each set of tests in -// order to use a new validation function in each file -before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validation); -}); - -describe('#checkParamsSchema()', function() { - describe('GET tests', function() { - it('should return one error when param does not validate as int', function(done) { - getRoute('/test', fail, 1, done); - }); - - it('should return two errors when param is missing', function(done) { - getRoute('/', failMulti, 2, done); - }); - - it('should return a success when param validates', function(done) { - getRoute('/42', pass, null, done); - }); - - it('should return a success when param validates and unrelated query is present', function(done) { - getRoute('/42?testparam=42', pass, null, done); - }); - - it('should return one error when param does not validate as int and unrelated query is present', function(done) { - getRoute('/test?testparam=blah', fail, 1, done); - }); - }); - - describe('POST tests', function() { - it('should return one error when param does not validate as int', function(done) { - postRoute('/test', null, fail, 1, done); - }); - - it('should return two errors when param is missing', function(done) { - postRoute('/', null, failMulti, 2, done); - }); - - it('should return a success when param validates', function(done) { - postRoute('/42', null, pass, null, done); - }); - - it('should return a success when param validates and unrelated query is present', function(done) { - postRoute('/42?testparam=42', null, pass, null, done); - }); - - it('should return one error when param does not validate as int and unrelated query is present', function(done) { - postRoute('/test?testparam=blah', null, fail, 1, done); - }); - - // POST only - - it('should return a success when param validates and unrelated query/body is present', function(done) { - postRoute('/42?testparam=blah', { testparam: 'posttest' }, pass, null, done); - }); - - it('should return one error when param does not validate as int and unrelated query/body is present', function(done) { - postRoute('/test?testparam=blah', { testparam: 'posttest' }, fail, 1, done); - }); - - it('should return two errors when param is missing and unrelated query/body is present', function(done) { - postRoute('/?testparam=blah', { testparam: 'posttest' }, failMulti, 2, done); - }); - }); - -}); diff --git a/node_modules/express-validator/test/checkParamsTest.js b/node_modules/express-validator/test/checkParamsTest.js deleted file mode 100644 index db833eb..0000000 --- a/node_modules/express-validator/test/checkParamsTest.js +++ /dev/null @@ -1,119 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var request = require('supertest'); - -var app; -var errorMessage = 'Parameter is not an integer'; - -// There are three ways to pass parameters to express: -// - as part of the URL -// - as GET parameter in the querystring -// - as POST parameter in the body -// These test show that req.checkParams are only interested in req.params values, all other -// parameters will be ignored. - -function validation(req, res) { - req.checkParams('testparam', errorMessage).notEmpty().isInt(); - - var errors = req.validationErrors(); - if (errors) { - return res.send(errors); - } - res.send({ testparam: req.params.testparam }); -} - -function fail(body, length) { - expect(body).to.have.length(length); - expect(body[0]).to.have.property('msg', errorMessage); -} - -function pass(body) { - expect(body).to.have.property('testparam', '42'); -} - -function getRoute(path, test, length, done) { - request(app) - .get(path) - .end(function(err, res) { - test(res.body, length); - done(); - }); -} - -function postRoute(path, data, test, length, done) { - request(app) - .post(path) - .send(data) - .end(function(err, res) { - test(res.body, length); - done(); - }); -} - -// This before() is required in each set of tests in -// order to use a new validation function in each file -before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validation); -}); - -describe('#checkParams()', function() { - describe('GET tests', function() { - it('should return one error when param does not validate as int', function(done) { - getRoute('/test', fail, 1, done); - }); - - it('should return two errors when param is missing', function(done) { - getRoute('/', fail, 2, done); - }); - - it('should return a success when param validates', function(done) { - getRoute('/42', pass, null, done); - }); - - it('should return a success when param validates and unrelated query is present', function(done) { - getRoute('/42?testparam=42', pass, null, done); - }); - - it('should return one error when param does not validate as int and unrelated query is present', function(done) { - getRoute('/test?testparam=blah', fail, 1, done); - }); - }); - - describe('POST tests', function() { - it('should return one error when param does not validate as int', function(done) { - postRoute('/test', null, fail, 1, done); - }); - - it('should return two errors when param is missing', function(done) { - postRoute('/', null, fail, 2, done); - }); - - it('should return a success when param validates', function(done) { - postRoute('/42', null, pass, null, done); - }); - - it('should return a success when param validates and unrelated query is present', function(done) { - postRoute('/42?testparam=42', null, pass, null, done); - }); - - it('should return one error when param does not validate as int and unrelated query is present', function(done) { - postRoute('/test?testparam=blah', null, fail, 1, done); - }); - - // POST only - - it('should return a success when param validates and unrelated query/body is present', function(done) { - postRoute('/42?testparam=blah', { testparam: 'posttest' }, pass, null, done); - }); - - it('should return one error when param does not validate as int and unrelated query/body is present', function(done) { - postRoute('/test?testparam=blah', { testparam: 'posttest' }, fail, 1, done); - }); - - it('should return two errors when param is missing and unrelated query/body is present', function(done) { - postRoute('/?testparam=blah', { testparam: 'posttest' }, fail, 2, done); - }); - }); - -});
\ No newline at end of file diff --git a/node_modules/express-validator/test/checkQuerySchemaTest.js b/node_modules/express-validator/test/checkQuerySchemaTest.js deleted file mode 100644 index 8b334af..0000000 --- a/node_modules/express-validator/test/checkQuerySchemaTest.js +++ /dev/null @@ -1,123 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var request = require('supertest'); - -var app; -var errorMessage = 'Parameter is not valid'; - -// There are three ways to pass parameters to express: -// - as part of the URL -// - as GET parameter in the querystring -// - as POST parameter in the body -// These test show that req.checkQuery are only interested in req.query values, all other -// parameters will be ignored. - -function validation(req, res) { - req.checkQuery({ - 'testparam': { - notEmpty: true, - errorMessage: errorMessage, - isInt: true - } - }); - - var errors = req.validationErrors(); - if (errors) { - return res.send(errors); - } - res.send({ testparam: req.query.testparam }); -} - -function fail(body, length) { - expect(body).to.have.length(length); - expect(body[0]).to.have.property('msg', errorMessage); -} - -function failMulti(body, length) { - expect(body).to.have.length(length); - expect(body[0]).to.have.property('msg', errorMessage); - expect(body[1]).to.have.property('msg', errorMessage); -} - -function pass(body) { - expect(body).to.have.property('testparam', '42'); -} - -function getRoute(path, test, length, done) { - request(app) - .get(path) - .end(function(err, res) { - test(res.body, length); - done(); - }); -} - -function postRoute(path, data, test, length, done) { - request(app) - .post(path) - .send(data) - .end(function(err, res) { - test(res.body, length); - done(); - }); -} - -// This before() is required in each set of tests in -// order to use a new validation function in each file -before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validation); -}); - -describe('#checkQuerySchema()', function() { - describe('GET tests', function() { - it('should return two errors when query is missing, and unrelated param is present', function(done) { - getRoute('/test', failMulti, 2, done); - }); - - it('should return two errors when query is missing', function(done) { - getRoute('/', failMulti, 2, done); - }); - - it('should return a success when query validates and unrelated query is present', function(done) { - getRoute('/42?testparam=42', pass, null, done); - }); - - it('should return one error when query does not validate as int and unrelated query is present', function(done) { - getRoute('/test?testparam=blah', fail, 1, done); - }); - }); - - describe('POST tests', function() { - it('should return two errors when query is missing, and unrelated param is present', function(done) { - postRoute('/test', null, failMulti, 2, done); - }); - - it('should return two errors when query is missing', function(done) { - postRoute('/', null, failMulti, 2, done); - }); - - it('should return a success when query validates and unrelated query is present', function(done) { - postRoute('/42?testparam=42', null, pass, null, done); - }); - - it('should return one error when query does not validate as int and unrelated query is present', function(done) { - postRoute('/test?testparam=blah', null, fail, 1, done); - }); - - // POST only - - it('should return a success when query validates and unrelated param/body is present', function(done) { - postRoute('/test?testparam=42', { testparam: 'posttest' }, pass, null, done); - }); - - it('should return one error when query does not validate as int and unrelated param/body is present', function(done) { - postRoute('/test?testparam=blah', { testparam: '42' }, fail, 1, done); - }); - - it('should return two errors when query is missing and unrelated body is present', function(done) { - postRoute('/', { testparam: '42' }, failMulti, 2, done); - }); - }); - -}); diff --git a/node_modules/express-validator/test/checkQueryTest.js b/node_modules/express-validator/test/checkQueryTest.js deleted file mode 100644 index b3cee22..0000000 --- a/node_modules/express-validator/test/checkQueryTest.js +++ /dev/null @@ -1,111 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var request = require('supertest'); - -var app; -var errorMessage = 'Parameter is not an integer'; - -// There are three ways to pass parameters to express: -// - as part of the URL -// - as GET parameter in the querystring -// - as POST parameter in the body -// These test show that req.checkQuery are only interested in req.query values, all other -// parameters will be ignored. - -function validation(req, res) { - req.checkQuery('testparam', errorMessage).notEmpty().isInt(); - - var errors = req.validationErrors(); - if (errors) { - return res.send(errors); - } - res.send({ testparam: req.query.testparam }); -} - -function fail(body, length) { - expect(body).to.have.length(length); - expect(body[0]).to.have.property('msg', errorMessage); -} - -function pass(body) { - expect(body).to.have.property('testparam', '42'); -} - -function getRoute(path, test, length, done) { - request(app) - .get(path) - .end(function(err, res) { - test(res.body, length); - done(); - }); -} - -function postRoute(path, data, test, length, done) { - request(app) - .post(path) - .send(data) - .end(function(err, res) { - test(res.body, length); - done(); - }); -} - -// This before() is required in each set of tests in -// order to use a new validation function in each file -before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validation); -}); - -describe('#checkQuery()', function() { - describe('GET tests', function() { - it('should return two errors when query is missing, and unrelated param is present', function(done) { - getRoute('/test', fail, 2, done); - }); - - it('should return two errors when query is missing', function(done) { - getRoute('/', fail, 2, done); - }); - - it('should return a success when query validates and unrelated query is present', function(done) { - getRoute('/42?testparam=42', pass, null, done); - }); - - it('should return one error when query does not validate as int and unrelated query is present', function(done) { - getRoute('/test?testparam=blah', fail, 1, done); - }); - }); - - describe('POST tests', function() { - it('should return two errors when query is missing, and unrelated param is present', function(done) { - postRoute('/test', null, fail, 2, done); - }); - - it('should return two errors when query is missing', function(done) { - postRoute('/', null, fail, 2, done); - }); - - it('should return a success when query validates and unrelated query is present', function(done) { - postRoute('/42?testparam=42', null, pass, null, done); - }); - - it('should return one error when query does not validate as int and unrelated query is present', function(done) { - postRoute('/test?testparam=blah', null, fail, 1, done); - }); - - // POST only - - it('should return a success when query validates and unrelated param/body is present', function(done) { - postRoute('/test?testparam=42', { testparam: 'posttest' }, pass, null, done); - }); - - it('should return one error when query does not validate as int and unrelated param/body is present', function(done) { - postRoute('/test?testparam=blah', { testparam: '42' }, fail, 1, done); - }); - - it('should return two errors when query is missing and unrelated body is present', function(done) { - postRoute('/', { testparam: '42' }, fail, 2, done); - }); - }); - -});
\ No newline at end of file diff --git a/node_modules/express-validator/test/checkSchemaTest.js b/node_modules/express-validator/test/checkSchemaTest.js deleted file mode 100644 index 68982a1..0000000 --- a/node_modules/express-validator/test/checkSchemaTest.js +++ /dev/null @@ -1,209 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var request = require('supertest'); - -var app; -var errorMsg = 'Parameter is not an integer.'; -var errorMsgOutOfRange = 'Parameter is out of range or not int.'; - -// There are three ways to pass parameters to express: -// - as part of the URL -// - as GET parameter in the querystring -// - as POST parameter in the body -// These test show that req.checkParams are only interested in req.params values, all other -// parameters will be ignored. - -var schema = { - testparam: { - in: 'params', - notEmpty: true, - isInt: { - errorMessage: errorMsg - } - }, - testquery: { - in: 'query', - notEmpty: true, - isInt: { - options: [{ - min: 2, - max: 10 - }], - errorMessage: errorMsgOutOfRange - } - }, - 'skipped': { - // this validator is a fake validator which cannot raise any error, should be always skipped - in: 'notSupportedOne', - notEmpty: true, - isInt: { - options: [{ - min: 2, - max: 10 - }], - errorMessage: errorMsgOutOfRange - } - }, - 'numInQuery': { - notEmpty: true, - isInt: { - options: [{ - min: 0, - max: 665 - }], - errorMessage: errorMsgOutOfRange - } - } -}; - -function validationSendResponse(req, res) { - var errors = req.validationErrors(); - if (errors) { - return res.send(errors); - } - - res.send({ - testparam: req.params.testparam, - testquery: req.query.testquery, - skipped: req.query.skipped, - numInQuery: req.query.numInQuery - }); -} - -function validation(req, res) { - - req.check(schema); - validationSendResponse(req, res); -} - -function validationQuery(req, res) { - - req.checkQuery(schema); - validationSendResponse(req, res); -} - -function validationParams(req, res) { - - req.checkParams(schema); - validationSendResponse(req, res); -} - -function validationBody(req, res) { - - req.checkBody(schema); - validationSendResponse(req, res); -} - -function failParams(body, length) { - expect(body).to.have.length(length); - expect(body[0]).to.have.property('msg', errorMsg); -} - -function failQuery(body, length) { - expect(body).to.have.length(length); - expect(body[0]).to.have.property('msg', errorMsgOutOfRange); -} - -function failAll(body, length) { - expect(body).to.have.length(length); - expect(body[0]).to.have.property('msg', errorMsg); - expect(body[1]).to.have.property('msg', errorMsgOutOfRange); -} - -function pass(params) { - expect(params).to.have.property('testparam', '25'); - expect(params).to.have.property('testquery', '6'); - expect(params).to.have.property('skipped', '34'); - expect(params).to.have.property('numInQuery', '0'); -} - -function failQueryParams(params, length) { - expect(params).to.have.length(length); - expect(params[0]).to.have.property('msg', 'Invalid param'); - expect(params[1]).to.have.property('msg', errorMsgOutOfRange); -} - -function getRoute(path, test, length, done) { - request(app) - .get(path) - .end(function(err, res) { - test(res.body, length); - done(); - }); -} - -describe('Check defining validator location inside schema validators', function() { - - // This before() is required in each set of tests in - // order to use a new validation function in each file - before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validation); - }); - - it('should validate against schema with query and params locations', function(done) { - getRoute('/25?testquery=6&skipped=34&numInQuery=0', pass, 1, done); - }); - - it('should fail when param is not integer', function(done) { - getRoute('/ImNot?testquery=6&skipped=34&numInQuery=0', failParams, 1, done); - }); - - it('should fail when query param is out of range', function(done) { - getRoute('/25?testquery=20&skipped=34&numInQuery=0', failQuery, 1, done); - }); - - it('should fail when non of params are valid', function(done) { - getRoute('/ImNot?testquery=20&skipped=34&numInQuery=0', failAll, 2, done); - }); - -}); - -describe('Check defining validator location inside schema validators by checkQuery()', function() { - - // This before() is required in each set of tests in - // order to use a new validation function in each file - before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validationQuery); - }); - - it('should validate against schema with query and params locations', function(done) { - getRoute('/25?testquery=6&skipped=34&numInQuery=0', pass, 1, done); - }); - - it('should fail when query param is out of range', function(done) { - getRoute('/25?testquery=6&skipped=34&numInQuery=666', failQuery, 1, done); - }); - -}); - -describe('Check defining validator location inside schema validators by checkParams()', function() { - - // This before() is required in each set of tests in - // order to use a new validation function in each file - before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validationParams); - }); - - it('should fail when searching for query param in the path params', function(done) { - getRoute('/25?testquery=6&skipped=34&numInQuery=666', failQueryParams, 2, done); - }); - -}); - -describe('Check defining validator location inside schema validators by checkBody()', function() { - - // This before() is required in each set of tests in - // order to use a new validation function in each file - before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validationBody); - }); - - it('should fail when searching for query param in the body', function(done) { - getRoute('/25?testquery=6&skipped=34&numInQuery=666', failQueryParams, 2, done); - }); - -}); diff --git a/node_modules/express-validator/test/checkTest.js b/node_modules/express-validator/test/checkTest.js deleted file mode 100644 index 96f842a..0000000 --- a/node_modules/express-validator/test/checkTest.js +++ /dev/null @@ -1,125 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var request = require('supertest'); - -var app; -var errorMessage = 'Parameter is not an integer'; - -// There are three ways to pass parameters to express: -// - as part of the URL -// - as GET parameter in the querystring -// - as POST parameter in the body -// URL params take precedence over GET params which take precedence over -// POST params. - -function validation(req, res) { - req.check('testparam', errorMessage).notEmpty().isInt(); - - var errors = req.validationErrors(); - if (errors) { - return res.send(errors); - } - res.send({ testparam: req.params.testparam || req.query.testparam || req.body.testparam }); -} - -function fail(body) { - expect(body).to.have.length(1); - expect(body[0]).to.have.property('msg', errorMessage); -} - -function pass(body) { - expect(body).to.have.property('testparam', '42'); -} - -function getRoute(path, test, done) { - request(app) - .get(path) - .end(function(err, res) { - test(res.body); - done(); - }); -} - -function postRoute(path, data, test, done) { - request(app) - .post(path) - .send(data) - .end(function(err, res) { - test(res.body); - done(); - }); -} - -// This before() is required in each set of tests in -// order to use a new validation function in each file -before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validation); -}); - -describe('#check()/#assert()/#validate()', function() { - describe('GET tests', function() { - it('should return an error when param does not validate', function(done) { - getRoute('/test', fail, done); - }); - - it('should return a success when param validates', function(done) { - getRoute('/42', pass, done); - }); - - // GET only: Test URL over GET param precedence - - it('should return an error when param and query does not validate', function(done) { - getRoute('/test?testparam=gettest', fail, done); - }); - - it('should return a success when param validates, but query does not', function(done) { - getRoute('/42?testparam=gettest', pass, done); - }); - - it('should return an error when query does not validate', function(done) { - getRoute('/?testparam=test', fail, done); - }); - - it('should return a success when query validates', function(done) { - getRoute('/?testparam=42', pass, done); - }); - }); - - describe('POST tests', function() { - it('should return an error when param does not validate', function(done) { - postRoute('/test', null, fail, done); - }); - - it('should return a success when param validates', function(done) { - postRoute('/42', null, pass, done); - }); - - // POST only: Test URL over GET over POST param precedence - - it('should return an error when body validates, but failing param/query is present', function(done) { - postRoute('/test?testparam=gettest', { testparam: '42' }, fail, done); - }); - - it('should return a success when param validates, but non-validating body is present', function(done) { - postRoute('/42?testparam=42', { testparam: 'posttest' }, pass, done); - }); - - it('should return an error when query does not validate, but body validates', function(done) { - postRoute('/?testparam=test', { testparam: '42' }, fail, done); - }); - - it('should return a success when query validates, but non-validating body is present', function(done) { - postRoute('/?testparam=42', { testparam: 'posttest' }, pass, done); - }); - - it('should return an error when body does not validate', function(done) { - postRoute('/', { testparam: 'test' }, fail, done); - }); - - it('should return a success when body validates', function(done) { - postRoute('/', { testparam: '42' }, pass, done); - }); - }); - -});
\ No newline at end of file diff --git a/node_modules/express-validator/test/customSanitizersTest.js b/node_modules/express-validator/test/customSanitizersTest.js deleted file mode 100644 index 98c23a0..0000000 --- a/node_modules/express-validator/test/customSanitizersTest.js +++ /dev/null @@ -1,73 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var request = require('supertest'); - -var app; -function validation(req, res) { - req.sanitize('testparam').toTestSanitize(); - res.send({ testparam: req.params.testparam || req.query.testparam || req.body.testparam }); -} - -function pass(body) { - expect(body).to.have.property('testparam', '!!!!'); -} -function fail(body) { - expect(body).not.to.have.property('testparam'); -} - -function getRoute(path, test, done) { - request(app) - .get(path) - .end(function(err, res) { - test(res.body); - done(); - }); -} - -function postRoute(path, data, test, done) { - request(app) - .post(path) - .send(data) - .end(function(err, res) { - test(res.body); - done(); - }); -} - -// This before() is required in each set of tests in -// order to use a new validation function in each file -before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validation); -}); - -describe('#customSanitizers', function() { - describe('GET tests', function() { - it('should return property and sanitized value when param is present', function(done) { - getRoute('/valA', pass, done); - }); - it('should not return property when query and param is missing', function(done) { - getRoute('/', fail, done); - }); - - it('should return property and sanitized value when query and param is present', function(done) { - getRoute('/42?testparam=42', pass, done); - }); - - }); - describe('POST tests', function() { - it('should return property and sanitized value when param is present', function(done) { - postRoute('/valA', null, pass, done); - }); - - - it('should return property and sanitized value when body, param and query is present', function(done) { - postRoute('/vaA?testparam=gettest', { testparam: '42' }, pass, done); - }); - - it('should return property and sanitized value when body is present', function(done) { - postRoute('/', { testparam: '42' }, pass, done); - }); - - }); -});
\ No newline at end of file diff --git a/node_modules/express-validator/test/formatParamOutputTest.js b/node_modules/express-validator/test/formatParamOutputTest.js deleted file mode 100644 index 9d67b5f..0000000 --- a/node_modules/express-validator/test/formatParamOutputTest.js +++ /dev/null @@ -1,25 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var formatParamOutput = require('../index').utils.formatParamOutput; - -describe('#formatParamOutput()', function() { - it('should correct return formatted string if all elements in array are strings', function() { - expect(formatParamOutput(['hey', 'yo', 'hello'])).to.equal('hey.yo.hello'); - }); - - it('should return a string with integers in brackets', function() { - expect(formatParamOutput(['hey', 'yo', '0', 'hello'])).to.equal('hey.yo[0].hello'); - expect(formatParamOutput(['hey', 'yo', 0, 'hello'])).to.equal('hey.yo[0].hello'); - expect(formatParamOutput(['hey', 'yo', 0, 0, 'hello'])).to.equal('hey.yo[0][0].hello'); - expect(formatParamOutput(['hey', 'yo', 2342342, 'hello'])).to.equal('hey.yo[2342342].hello'); - expect(formatParamOutput(['hey', 'yo', '2342342', 'hello'])).to.equal('hey.yo[2342342].hello'); - expect(formatParamOutput(['hey', 'yo', '234ALPHA2342', 'hello'])).to.not.equal('hey.yo[234ALPHA2342].hello'); - expect(formatParamOutput(['hey', 'yo', 'hello', 0])).to.equal('hey.yo.hello[0]'); - expect(formatParamOutput(['hey', 'yo', 'hello', 0, 0])).to.equal('hey.yo.hello[0][0]'); - expect(formatParamOutput(['hey', 'yo', 0, 'hello', 0, 0])).to.equal('hey.yo[0].hello[0][0]'); - }); - - it('should return the original param if not an array', function() { - expect(formatParamOutput('yo')).to.equal('yo'); - }); -});
\ No newline at end of file diff --git a/node_modules/express-validator/test/helpers/app.js b/node_modules/express-validator/test/helpers/app.js deleted file mode 100644 index d86a4bb..0000000 --- a/node_modules/express-validator/test/helpers/app.js +++ /dev/null @@ -1,45 +0,0 @@ -// Sample app -var express = require('express'); -var expressValidator = require('../../index'); -var bodyParser = require('body-parser'); - -var port = process.env.PORT || 8888; -var app = express(); - -// If no native implementation of Promise exists (less than Node v4), -// use Bluebird promises so we can test for both depending on the Node version -if (typeof Promise === 'undefined') { - Promise = require('bluebird'); -} - -module.exports = function(validation) { - - app.set('port', port); - app.use(bodyParser.json()); - app.use(expressValidator({ - customValidators: { - isArray: function(value) { - return Array.isArray(value); - }, - isAsyncTest: function(testparam) { - return new Promise(function(resolve, reject) { - setTimeout(function() { - if (testparam === '42') { return resolve(); } - reject(); - }, 200); - }); - } - }, - customSanitizers: { - toTestSanitize: function() { - return "!!!!"; - } - } - })); - - app.get(/\/test(\d+)/, validation); - app.get('/:testparam?', validation); - app.post('/:testparam?', validation); - - return app; -}; diff --git a/node_modules/express-validator/test/helpers/example.js b/node_modules/express-validator/test/helpers/example.js deleted file mode 100644 index b50f8bf..0000000 --- a/node_modules/express-validator/test/helpers/example.js +++ /dev/null @@ -1,29 +0,0 @@ -var util = require('util'), - express = require('express'), - expressValidator = require('../../index'), - app = express.createServer(); - -app.use(express.bodyParser()); -app.use(expressValidator); - -app.post('/:urlparam', function(req, res) { - - req.assert('postparam', 'Invalid postparam').notEmpty().isInt(); - req.assert('getparam', 'Invalid getparam').isInt(); - req.assert('urlparam', 'Invalid urlparam').isAlpha(); - - req.sanitize('postparam').toBoolean(); - - var errors = req.validationErrors(); - if (errors) { - res.send('There have been validation errors: ' + util.inspect(errors), 500); - return; - } - res.json({ - urlparam: req.param('urlparam'), - getparam: req.param('getparam'), - postparam: req.param('postparam') - }); -}); - -app.listen(8888); diff --git a/node_modules/express-validator/test/mappedOutputTest.js b/node_modules/express-validator/test/mappedOutputTest.js deleted file mode 100644 index b8a4c63..0000000 --- a/node_modules/express-validator/test/mappedOutputTest.js +++ /dev/null @@ -1,52 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var request = require('supertest'); - -var app; -var errorMessage = 'valid email required'; - -function validation(req, res) { - req.assert('email', 'required').notEmpty(); - req.assert('email', errorMessage).isEmail(); - - var errors = req.validationErrors(true); - if (errors) { - return res.send(errors); - } - res.send({ email: req.params.email || req.query.email || req.body.email }); -} - -function fail(body) { - expect(body).to.have.deep.property('email.msg', errorMessage); -} - -function pass(body) { - expect(body).to.have.property('email', 'test@example.com'); -} - -function testRoute(path, data, test, done) { - request(app) - .post(path) - .send(data) - .end(function(err, res) { - test(res.body); - done(); - }); -} - -// This before() is required in each set of tests in -// order to use a new validation function in each file -before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validation); -}); - -describe('#validationErrors(true)', function() { - it('should return a success when the correct data is passed on the body', function(done) { - testRoute('/', { email: 'test@example.com' }, pass, done); - }); - - it('should return a mapped error object with each failing param as a property data is invalid', function(done) { - testRoute('/path', { email: 'incorrect' }, fail, done); - }); -});
\ No newline at end of file diff --git a/node_modules/express-validator/test/nestedInputSanitizeTest.js b/node_modules/express-validator/test/nestedInputSanitizeTest.js deleted file mode 100644 index 18b6fcd..0000000 --- a/node_modules/express-validator/test/nestedInputSanitizeTest.js +++ /dev/null @@ -1,40 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var request = require('supertest'); - -var app; -function validation(req, res) { - req.sanitize(['user', 'fields', 'email']).trim(); - res.send( req.body ); -} - -function pass(body) { - expect(body).to.have.deep.property('user.fields.email', 'test@example.com'); -} - -function postRoute(path, data, test, done) { - request(app) - .post(path) - .send(data) - .end(function(err, res) { - test(res.body); - done(); - }); -} - -// This before() is required in each set of tests in -// order to use a new validation function in each file -before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validation); -}); - -describe('#nestedInputSanitizers', function() { - describe('POST tests', function() { - - it('should return property and sanitized value', function(done) { - postRoute('/', { user: { fields: { email: ' test@example.com ' } } }, pass, done); - }); - - }); -});
\ No newline at end of file diff --git a/node_modules/express-validator/test/nestedInputTest.js b/node_modules/express-validator/test/nestedInputTest.js deleted file mode 100644 index bf08854..0000000 --- a/node_modules/express-validator/test/nestedInputTest.js +++ /dev/null @@ -1,61 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var request = require('supertest'); - -var app; - -function validation(req, res) { - req.assert(['user', 'fields', 'email'], 'not empty').notEmpty(); - req.assert('user.fields.email', 'not empty').notEmpty(); - req.assert(['user', 'fields', 'email'], 'valid email required').isEmail(); - req.assert(['admins', '0', 'name'], 'must only contain letters').isAlpha(); - - var errors = req.validationErrors(); - if (errors) { - return res.send(errors); - } - res.send(req.body); -} - -function fail(body) { - expect(body[0]).to.have.property('msg', 'not empty'); - expect(body[1]).to.have.property('msg', 'not empty'); - expect(body[2]).to.have.property('msg', 'valid email required'); - - // Should convert ['user', 'fields', 'email'] to 'user.fields.email' - // when formatting the error output - expect(body[0]).to.have.property('param').and.to.be.a('string'); - expect(body[1]).to.have.property('param').and.to.be.a('string'); - expect(body[2]).to.have.property('param').and.to.be.a('string'); -} - -function pass(body) { - expect(body).to.have.deep.property('user.fields.email', 'test@example.com'); -} - -function testRoute(path, data, test, done) { - request(app) - .post(path) - .send(data) - .end(function(err, res) { - test(res.body); - done(); - }); -} - -// This before() is required in each set of tests in -// order to use a new validation function in each file -before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validation); -}); - -describe('nested input as array or dot notation', function() { - it('should return a success when the correct data is passed on the body', function(done) { - testRoute('/', { user: { fields: { email: 'test@example.com' } }, admins: [{ name: 'Bobby' }] }, pass, done); - }); - - it('should return an error object with each failing param as a property data is invalid', function(done) { - testRoute('/', { user: { fields: { email: '' } }, admins: [{ name: 0 }] }, fail, done); - }); -});
\ No newline at end of file diff --git a/node_modules/express-validator/test/optionalSchemaTest.js b/node_modules/express-validator/test/optionalSchemaTest.js deleted file mode 100644 index de2f378..0000000 --- a/node_modules/express-validator/test/optionalSchemaTest.js +++ /dev/null @@ -1,98 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var request = require('supertest'); - -var app; -var errorMessage = 'Parameter is not an integer'; - -function validation(req, res) { - req.assert({ - 'optional_param': { - optional: true, - isInt: { - errorMessage: errorMessage - } - } - }); - - req.assert({ - 'optional_falsy_param': { - optional: { - options: [{ checkFalsy: true }] - }, - isInt: { - errorMessage: errorMessage - } - } - }); - - var errors = req.validationErrors(); - if (errors) { - return res.send(errors); - } - res.send({ result: 'OK' }); -} - -function fail(body) { - expect(body).to.have.length(1); - expect(body[0]).to.have.property('msg', errorMessage); -} - -function pass(body) { - expect(body).to.have.property('result', 'OK'); -} - -function testRoute(path, test, done) { - request(app) - .get(path) - .end(function(err, res) { - test(res.body); - done(); - }); -} - -// This before() is required in each set of tests in -// order to use a new validation function in each file -before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validation); -}); - -// TODO: Don't know if all of these are necessary, but we do need to test body and header -describe('#optionalSchema()', function() { - it('should return a success when there is an empty route', function(done) { - testRoute('/', pass, done); - }); - - it('should return a success when there are no params on a route', function(done) { - testRoute('/path', pass, done); - }); - - it('should return a success when the non-optional param is present', function(done) { - testRoute('/path?other_param=test', pass, done); - }); - - it('should return an error when param is provided, but empty', function(done) { - testRoute('/path?optional_param', fail, done); - }); - - it('should return an error when param is provided with equals sign, but empty', function(done) { - testRoute('/path?optional_param=', fail, done); - }); - - it('should return an error when param is provided, but fails validation', function(done) { - testRoute('/path?optional_param=test', fail, done); - }); - - it('should return a success when param is provided and validated', function(done) { - testRoute('/path?optional_param=123', pass, done); - }); - - it('should return a success when the optional falsy param is present, but false', function(done) { - testRoute('/path?optional_falsy_param=', pass, done); - }); - - it('should return an error when the optional falsy param is present, but does not pass', function(done) { - testRoute('/path?optional_falsy_param=hello', fail, done); - }); -}); diff --git a/node_modules/express-validator/test/optionalTest.js b/node_modules/express-validator/test/optionalTest.js deleted file mode 100644 index 44344bf..0000000 --- a/node_modules/express-validator/test/optionalTest.js +++ /dev/null @@ -1,81 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var request = require('supertest'); - -var app; -var errorMessage = 'Parameter is not an integer'; - -function validation(req, res) { - req.assert('optional_param', errorMessage).optional().isInt(); - req.assert('optional_falsy_param', errorMessage).optional({ checkFalsy: true }).isInt(); - - var errors = req.validationErrors(); - if (errors) { - return res.send(errors); - } - res.send({ result: 'OK' }); -} - -function fail(body) { - expect(body).to.have.length(1); - expect(body[0]).to.have.property('msg', errorMessage); -} - -function pass(body) { - expect(body).to.have.property('result', 'OK'); -} - -function testRoute(path, test, done) { - request(app) - .get(path) - .end(function(err, res) { - test(res.body); - done(); - }); -} - -// This before() is required in each set of tests in -// order to use a new validation function in each file -before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validation); -}); - -// TODO: Don't know if all of these are necessary, but we do need to test body and header -describe('#optional()', function() { - it('should return a success when there is an empty route', function(done) { - testRoute('/', pass, done); - }); - - it('should return a success when there are no params on a route', function(done) { - testRoute('/path', pass, done); - }); - - it('should return a success when the non-optional param is present', function(done) { - testRoute('/path?other_param=test', pass, done); - }); - - it('should return an error when param is provided, but empty', function(done) { - testRoute('/path?optional_param', fail, done); - }); - - it('should return an error when param is provided with equals sign, but empty', function(done) { - testRoute('/path?optional_param=', fail, done); - }); - - it('should return an error when param is provided, but fails validation', function(done) { - testRoute('/path?optional_param=test', fail, done); - }); - - it('should return a success when param is provided and validated', function(done) { - testRoute('/path?optional_param=123', pass, done); - }); - - it('should return a success when the optional falsy param is present, but false', function(done) { - testRoute('/path?optional_falsy_param=', pass, done); - }); - - it('should return an error when the optional falsy param is present, but does not pass', function(done) { - testRoute('/path?optional_falsy_param=hello', fail, done); - }); -});
\ No newline at end of file diff --git a/node_modules/express-validator/test/regexRouteTest.js b/node_modules/express-validator/test/regexRouteTest.js deleted file mode 100644 index 1638e94..0000000 --- a/node_modules/express-validator/test/regexRouteTest.js +++ /dev/null @@ -1,51 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var request = require('supertest'); - -var app; -var errorMessage = 'Parameter is not a 3 digit integer'; - -function validation(req, res) { - req.assert(0, errorMessage).len(3, 3).isInt(); - - var errors = req.validationErrors(); - if (errors) { - return res.send(errors); - } - res.send([req.params[0]]); -} - -function fail(body) { - expect(body).to.have.length(2); - expect(body[0]).to.have.property('msg', errorMessage); -} - -function pass(body) { - expect(body[0]).to.equal('123'); -} - -function testRoute(path, test, done) { - request(app) - .get(path) - .end(function(err, res) { - test(res.body); - done(); - }); -} - -// This before() is required in each set of tests in -// order to use a new validation function in each file -before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validation); -}); - -describe('Express routes can be defined using regular expressions', function() { - it('should return a success when regex route is validated', function(done) { - testRoute('/test123', pass, done); - }); - - it('should return an error when regex route is not validated', function(done) { - testRoute('/test0123', fail, done); - }); -});
\ No newline at end of file diff --git a/node_modules/express-validator/test/sanitizeBodyTest.js b/node_modules/express-validator/test/sanitizeBodyTest.js deleted file mode 100644 index cf17b9c..0000000 --- a/node_modules/express-validator/test/sanitizeBodyTest.js +++ /dev/null @@ -1,46 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var request = require('supertest'); - -var app; -function validation(req, res) { - req.sanitizeBody('testparam').whitelist(['a', 'b', 'c']); - res.send({ body: req.body }); -} - -function pass(body) { - expect(body).to.have.deep.property('body.testparam', 'abc'); -} -function fail(body) { - expect(body).to.not.have.property('body', 'testparam'); -} - -function postRoute(path, data, test, done) { - request(app) - .post(path) - .send(data) - .end(function(err, res) { - test(res.body); - done(); - }); -} - -// This before() is required in each set of tests in -// order to use a new validation function in each file -before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validation); -}); - -describe('#sanitizeBody', function() { - describe('POST tests', function() { - it('should return property and sanitized value when body param is present', function(done) { - postRoute('/', { testparam: ' abcdf ' }, pass, done); - }); - - it('should not return property when body param is missing', function(done) { - postRoute('/', null, fail, done); - }); - - }); -}); diff --git a/node_modules/express-validator/test/sanitizeHeadersTest.js b/node_modules/express-validator/test/sanitizeHeadersTest.js deleted file mode 100644 index 9168eba..0000000 --- a/node_modules/express-validator/test/sanitizeHeadersTest.js +++ /dev/null @@ -1,45 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var request = require('supertest'); - -var app; -function validation(req, res) { - req.sanitizeHeaders('x-custom-header').trim(); - res.send(req.headers); -} - -function pass(body) { - expect(body).to.have.property('x-custom-header', 'space'); -} -function fail(body) { - expect(body).to.have.property('x-custom-header').and.to.not.equal('space'); -} - -function getRoute(path, data, test, done) { - request(app) - .get(path) - .set('x-custom-header', data) - .end(function(err, res) { - test(res.body); - done(); - }); -} - -// This before() is required in each set of tests in -// order to use a new validation function in each file -before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validation); -}); - -describe('#sanitizeHeaders', function() { - describe('GET tests', function() { - it('should return property and sanitized value when headers param is present', function(done) { - getRoute('/', 'space ', pass, done); - }); - - it('should not return property when headers param is missing', function(done) { - getRoute('/', null, fail, done); - }); - }); -}); diff --git a/node_modules/express-validator/test/sanitizeParamsTest.js b/node_modules/express-validator/test/sanitizeParamsTest.js deleted file mode 100644 index 8d331f1..0000000 --- a/node_modules/express-validator/test/sanitizeParamsTest.js +++ /dev/null @@ -1,65 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var request = require('supertest'); - -var app; -function validation(req, res) { - req.sanitizeParams('testparam').whitelist(['a', 'b', 'c']); - res.send({ params: req.params }); -} - -function pass(body) { - expect(body).to.have.deep.property('params.testparam', 'abc'); -} -function fail(body) { - expect(body).to.not.have.property('params', 'testparam'); -} - -function getRoute(path, test, done) { - request(app) - .get(path) - .end(function(err, res) { - test(res.body); - done(); - }); -} - -function postRoute(path, data, test, done) { - request(app) - .post(path) - .send(data) - .end(function(err, res) { - test(res.body); - done(); - }); -} - -// This before() is required in each set of tests in -// order to use a new validation function in each file -before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validation); -}); - -describe('#sanitizeParams', function() { - describe('GET tests', function() { - it('should return property and sanitized value when param is present', function(done) { - getRoute('/abcdef', pass, done); - }); - it('should not return property when param is missing', function(done) { - getRoute('/', fail, done); - }); - - - }); - describe('POST tests', function() { - it('should return property and sanitized value when param is present', function(done) { - postRoute('/abcdef', null, pass, done); - }); - - it('should not return property when param is missing', function(done) { - postRoute('/', null, fail, done); - }); - - }); -}); diff --git a/node_modules/express-validator/test/sanitizeQueryTest.js b/node_modules/express-validator/test/sanitizeQueryTest.js deleted file mode 100644 index 974ab58..0000000 --- a/node_modules/express-validator/test/sanitizeQueryTest.js +++ /dev/null @@ -1,65 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var request = require('supertest'); - -var app; -function validation(req, res) { - req.sanitizeQuery('testparam').whitelist(['a', 'b', 'c']); - res.send({ query: req.query }); -} - -function pass(body) { - expect(body).to.have.deep.property('query.testparam', 'abc'); -} -function fail(body) { - expect(body).to.not.have.property('query', 'testparam'); -} - -function getRoute(path, test, done) { - request(app) - .get(path) - .end(function(err, res) { - test(res.body); - done(); - }); -} - -function postRoute(path, data, test, done) { - request(app) - .post(path) - .send(data) - .end(function(err, res) { - test(res.body); - done(); - }); -} - -// This before() is required in each set of tests in -// order to use a new validation function in each file -before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validation); -}); - -describe('#sanitizeQuery', function() { - describe('GET tests', function() { - it('should return property and sanitized value when query param is present', function(done) { - getRoute('/?testparam=abcdef', pass, done); - }); - it('should not return property when query param is missing', function(done) { - getRoute('/', fail, done); - }); - - - }); - describe('POST tests', function() { - it('should return property and sanitized value when query param is present', function(done) { - postRoute('/?testparam=abcdef', null, pass, done); - }); - - it('should not return property when query param is missing', function(done) { - postRoute('/', null, fail, done); - }); - - }); -}); diff --git a/node_modules/express-validator/test/sanitizerResultTest.js b/node_modules/express-validator/test/sanitizerResultTest.js deleted file mode 100644 index de290f5..0000000 --- a/node_modules/express-validator/test/sanitizerResultTest.js +++ /dev/null @@ -1,87 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var request = require('supertest'); - -var app; -function validation(req, res) { - var body = req.sanitizeBody('testparam').whitelist(['a', 'b', 'c']); - var query = req.sanitizeQuery('testparam').whitelist(['a', 'b', 'c']); - var params = req.sanitizeParams('testparam').whitelist(['a', 'b', 'c']); - - res.send({ params: params, query: query, body: body }); -} - -function pass(body) { - if (body.params) { - expect(body).to.have.property('params', 'abc'); - } - - if (body.query) { - expect(body).to.have.property('query', 'abc'); - } - - if (body.body) { - expect(body).to.have.property('body', 'abc'); - } - -} -function fail(body) { - expect(body).not.to.have.deep.property('params.testparam'); - expect(body).not.to.have.deep.property('query.testparam'); -} - -function getRoute(path, test, done) { - request(app) - .get(path) - .end(function(err, res) { - test(res.body); - done(); - }); -} - -function postRoute(path, data, test, done) { - request(app) - .post(path) - .send(data) - .end(function(err, res) { - test(res.body); - done(); - }); -} - -// This before() is required in each set of tests in -// order to use a new validation function in each file -before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validation); -}); - -describe('#sanitizers (check results)', function() { - describe('GET tests', function() { - it('should return property and sanitized value when param is present', function(done) { - getRoute('/abcdef', pass, done); - }); - it('should not return property when query and param is missing', function(done) { - getRoute('/', fail, done); - }); - - it('should return both query and param and sanitized values when they are both present', function(done) { - getRoute('/abcdef?testparam=abcdef', pass, done); - }); - - }); - describe('POST tests', function() { - it('should return property and sanitized value when param is present', function(done) { - postRoute('/abcdef', null, pass, done); - }); - - it('should return both query and param and sanitized values when they are both present', function(done) { - postRoute('/abcdef?testparam=abcdef', { testparam: ' abcdef ' }, pass, done); - }); - - it('should return property and sanitized value when body is present', function(done) { - postRoute('/', { testparam: ' abcdef ' }, pass, done); - }); - - }); -}); diff --git a/node_modules/express-validator/test/sanitizerTest.js b/node_modules/express-validator/test/sanitizerTest.js deleted file mode 100644 index 94c52ef..0000000 --- a/node_modules/express-validator/test/sanitizerTest.js +++ /dev/null @@ -1,104 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var request = require('supertest'); - -var app; -function validation(req, res) { - req.sanitize('zerotest').toString(); - req.sanitize('emptystrtest').toBoolean(); - req.sanitize('falsetest').toString(); - req.sanitize('testparam').whitelist(['a', 'b', 'c']); - res.send({ params: req.params, query: req.query, body: req.body }); -} - -function pass(body) { - if (Object.keys(body.params).length) { - expect(body).to.have.deep.property('params.testparam', 'abc'); - } - - if (Object.keys(body.query).length) { - expect(body).to.have.deep.property('query.testparam', 'abc'); - } - - if (Object.keys(body.body).length) { - expect(body).to.have.deep.property('body.testparam', 'abc'); - } - - if (body.body.hasOwnProperty('zerotest')) { - expect(body).to.have.deep.property('body.zerotest', '0'); - } - - if (body.body.hasOwnProperty('emptystrtest')) { - expect(body).to.have.deep.property('body.emptystrtest', false); - } - - if (body.body.hasOwnProperty('falsetest')) { - expect(body).to.have.deep.property('body.falsetest', 'false'); - } - -} - -function fail(body) { - expect(body).not.to.have.deep.property('params.testparam'); - expect(body).not.to.have.deep.property('query.testparam'); -} - -function getRoute(path, test, done) { - request(app) - .get(path) - .end(function(err, res) { - test(res.body); - done(); - }); -} - -function postRoute(path, data, test, done) { - request(app) - .post(path) - .send(data) - .end(function(err, res) { - test(res.body); - done(); - }); -} - -// This before() is required in each set of tests in -// order to use a new validation function in each file -before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validation); -}); - -describe('#sanitizers', function() { - describe('GET tests', function() { - it('should return property and sanitized value when param is present', function(done) { - getRoute('/abcdef', pass, done); - }); - it('should not return property when query and param is missing', function(done) { - getRoute('/', fail, done); - }); - - it('should return both query and param and sanitized values when they are both present', function(done) { - getRoute('/abcdef?testparam=abcdef', pass, done); - }); - - }); - describe('POST tests', function() { - it('should return property and sanitized value when param is present', function(done) { - postRoute('/abcdef', null, pass, done); - }); - - it('should return both query and param and sanitized values when they are both present', function(done) { - postRoute('/abcdef?testparam=abcdef', { testparam: ' abcdef ' }, pass, done); - }); - - it('should return property and sanitized value when body is present', function(done) { - postRoute('/', { testparam: ' abcdef ' }, pass, done); - }); - - it('should return properly sanitized values even if the original value is falsey, but not null/undefined', function(done) { - postRoute('/', { testparam: ' abcdef ', zerotest: 0, emptystrtest: '', falsetest: false }, pass, done); - }); - - }); -}); diff --git a/node_modules/express-validator/test/withMessageAsyncTest.js b/node_modules/express-validator/test/withMessageAsyncTest.js deleted file mode 100644 index 624dbe1..0000000 --- a/node_modules/express-validator/test/withMessageAsyncTest.js +++ /dev/null @@ -1,143 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var Promise = require('bluebird'); - -describe('#withMessage()', function() { - describe('on async validators', function() { - - before(function() { - delete require.cache[require.resolve('../lib/express_validator')]; - }); - - it('should not affect a passing validation', function(done) { - var validator = require('../lib/express_validator')({ - customValidators: { - test: function() { - // A dummy passing validator - return new Promise(function(resolve) { - resolve(); - }); - } - } - }); - - var req = { - body: { - testParam: 100 - } - }; - - validator(req, {}, function() {}); - req.check('testParam', 'Default Message') - .test().withMessage('Custom Message'); - - verify(done, function() { - return req.asyncValidationErrors() - .catch(function() { - expect.fail(null, null, 'No errors should have been generated by the test'); - }); - }); - - }); - - it('should provide a custom message when a validation fails', function(done) { - var validator = require('../lib/express_validator')({ - customValidators: { - test: function() { - // A dummy failing validator - return new Promise(function(resolve, reject) { - reject(); - }); - } - } - }); - - var req = { - body: { - testParam: 100 - } - }; - - validator(req, {}, function() {}); - - req.check('testParam', 'Default Message') - .test().withMessage('Custom Message'); - - verify(done, function() { - return req.asyncValidationErrors() - .catch(function(err) { - expect(err).to.deep.equal([{ - msg: 'Custom Message', - param: 'testParam', - value: 100 - }]); - }); - }); - }); - - it('should provide the default message if it was not the validation to fail', function(done) { - var validator = require('../lib/express_validator')({ - customValidators: { - pass: function() { - return new Promise(function(resolve) { resolve(); }); - }, - fail: function() { - return new Promise(function(resolve, reject) { reject(); }); - } - } - }); - - var req = { - body: { - testParam: 100 - } - }; - - validator(req, {}, function() {}); - - req.check('testParam', 'Default Message') - .fail() // Default Message - .pass().withMessage('Passing Message') - .fail() // Default Message - .fail().withMessage('Failing Message') - .fail() // Default Message - .fail().withMessage('Failing Message 1') - .fail().withMessage('Failing Message 2'); - - var expected = [ - 'Default Message', - 'Default Message', - 'Failing Message', - 'Default Message', - 'Failing Message 1', - 'Failing Message 2']; - - verify(done, function() { - return req.asyncValidationErrors() - .catch(function(err) { - expect(err.map(function(e) {return e.msg;})).to.deep.equal(expected); - }); - }); - }); - - // Helper to handle resolving tests async - function verify(done, f) { - try { - var test = f(); - if (test && test.then) { - test.then(function() { - done(); - }) - .catch(function(err) { - done(err); - }); - } else { - done(); - } - } - catch (e) { - done(e); - } - } - }); -});
\ No newline at end of file diff --git a/node_modules/express-validator/test/withMessageTest.js b/node_modules/express-validator/test/withMessageTest.js deleted file mode 100644 index ad38684..0000000 --- a/node_modules/express-validator/test/withMessageTest.js +++ /dev/null @@ -1,93 +0,0 @@ -var chai = require('chai'); -var expect = chai.expect; -var request = require('supertest'); - -var app; -var errorMessage = 'Default error message'; -var mustBeTwoDigitsMessage = 'testparam must have two digits'; -var mustBeIntegerMessage = 'testparam must be an integer'; - -function validation(req, res) { - req.checkParams('testparam', errorMessage) - .notEmpty() // with default message - .isInt().withMessage(mustBeIntegerMessage) - .isInt() // with default message - .isLength({ min: 2, max: 2 }).withMessage(mustBeTwoDigitsMessage); - var errors = req.validationErrors(); - if (errors) { - return res.send(errors); - } - res.send({ testparam: req.params.testparam }); -} - -function fail(expectedMessage) { - if (Array.isArray(expectedMessage)) { - return function(body, length) { - expect(body).to.have.length(length); - expect(expectedMessage).to.have.length(length); - for (var i = 0; i < length; ++i) { - expect(body[i]).to.have.property('msg', expectedMessage[i]); - } - }; - } - return function(body, length) { - expect(body).to.have.length(length); - expect(body[0]).to.have.property('msg', expectedMessage); - }; -} - -function pass(body) { - expect(body).to.have.property('testparam', '42'); -} - -function getRoute(path, test, length, done) { - request(app) - .get(path) - .end(function(err, res) { - test(res.body, length); - done(); - }); -} - -// This before() is required in each set of tests in -// order to use a new validation function in each file -before(function() { - delete require.cache[require.resolve('./helpers/app')]; - app = require('./helpers/app')(validation); -}); - -describe('#withMessage()', function() { - it('should return one error per validation failure, with custom message where defined', function(done) { - getRoute('/test', fail([mustBeIntegerMessage, errorMessage, mustBeTwoDigitsMessage]), 3, done); - }); - - it('should return four errors when param is missing, with default message for the first and third errors, and custom messages for the rest, as defined', function(done) { - getRoute('/', fail([errorMessage, mustBeIntegerMessage, errorMessage, mustBeTwoDigitsMessage]), 4, done); - }); - - it('should return a success when param validates', function(done) { - getRoute('/42', pass, null, done); - }); - - it('should provide a custom message when an invalid value is provided, and the validation is followed by withMessage', function(done) { - getRoute('/199', fail(mustBeTwoDigitsMessage), 1, done); - }); - - it('should update the error message only if the preceeding validation was the one to fail', function() { - var validator = require('../lib/express_validator')(); - var req = { - body: { - testParam: 'abc' - } - }; - - validator(req, {}, function() {}); - req.check('testParam', 'Default Error Message') - .isInt() // should produce 'Default Error Message' - .isLength({ min: 2 }).withMessage('Custom Error Message'); - - expect(req.validationErrors()).to.deep.equal([ - { param: 'testParam', msg: 'Default Error Message', value: 'abc' } - ]); - }); -}); |
