diff --git a/package-lock.json b/package-lock.json index affd508..b749db8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -389,6 +389,12 @@ "integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=", "dev": true }, + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true + }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -461,6 +467,20 @@ "integrity": "sha512-YzBnspggWV5hep1m9Z6sZVLOt7vrju8xWooFAgN6BA5qvy98qPAPb7vNUzypFaoh2pb3vlfzbDO8tB57UPGbtw==", "dev": true }, + "chai": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz", + "integrity": "sha512-yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==", + "dev": true, + "requires": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^3.0.1", + "get-func-name": "^2.0.0", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + } + }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -472,6 +492,12 @@ "supports-color": "^5.3.0" } }, + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", + "dev": true + }, "clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -609,6 +635,15 @@ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, + "deep-eql": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", + "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "dev": true, + "requires": { + "type-detect": "^4.0.0" + } + }, "default-require-extensions": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz", @@ -776,6 +811,12 @@ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, + "get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "dev": true + }, "get-package-type": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", @@ -1380,6 +1421,12 @@ "isarray": "0.0.1" } }, + "pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true + }, "picocolors": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", @@ -1507,60 +1554,6 @@ "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=", "dev": true }, - "should": { - "version": "13.2.3", - "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", - "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==", - "dev": true, - "requires": { - "should-equal": "^2.0.0", - "should-format": "^3.0.3", - "should-type": "^1.4.0", - "should-type-adaptors": "^1.0.1", - "should-util": "^1.0.0" - } - }, - "should-equal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz", - "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", - "dev": true, - "requires": { - "should-type": "^1.4.0" - } - }, - "should-format": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", - "integrity": "sha1-m/yPdPo5IFxT04w01xcwPidxJPE=", - "dev": true, - "requires": { - "should-type": "^1.3.0", - "should-type-adaptors": "^1.0.1" - } - }, - "should-type": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", - "integrity": "sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM=", - "dev": true - }, - "should-type-adaptors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", - "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", - "dev": true, - "requires": { - "should-type": "^1.3.0", - "should-util": "^1.0.0" - } - }, - "should-util": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz", - "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==", - "dev": true - }, "signal-exit": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", diff --git a/package.json b/package.json index 2e35c20..a03c2e5 100644 --- a/package.json +++ b/package.json @@ -25,10 +25,10 @@ "type-is": "1.6.18" }, "devDependencies": { + "chai": "^4.3.4", "jshint": "2.13.0", "mocha": "5.2.0", "nyc": "^15.1.0", - "should": "13.2.3", "sinon": "7.5.0" }, "license": "MIT", diff --git a/test/assertions.js b/test/assertions.js index 6846e3c..8e10785 100644 --- a/test/assertions.js +++ b/test/assertions.js @@ -4,14 +4,16 @@ * Module dependencies. */ -var should = require('should'); +var chai = require('chai'); /** * SHA-1 assertion. */ +chai.use(function (_chai, utils) { -should.Assertion.add('sha1', function() { - this.params = { operator: 'to be a valid SHA-1 hash' }; - - this.obj.should.match(/^[a-f0-9]{40}$/i); -}, true); + utils.addMethod(chai.Assertion.prototype, 'sha1', function () { + var obj = utils.flag(this, 'object'); + new chai.Assertion(obj).match(/^[a-f0-9]{40}$/i); + }); + +}); diff --git a/test/integration/grant-types/abstract-grant-type_test.js b/test/integration/grant-types/abstract-grant-type_test.js index 6da489c..f292af8 100644 --- a/test/integration/grant-types/abstract-grant-type_test.js +++ b/test/integration/grant-types/abstract-grant-type_test.js @@ -8,7 +8,7 @@ var AbstractGrantType = require('../../../lib/grant-types/abstract-grant-type'); var InvalidArgumentError = require('../../../lib/errors/invalid-argument-error'); var Promise = require('bluebird'); var Request = require('../../../lib/request'); -var should = require('should'); +var should = require('chai').should(); /** * Test `AbstractGrantType` integration. diff --git a/test/integration/grant-types/authorization-code-grant-type_test.js b/test/integration/grant-types/authorization-code-grant-type_test.js index 7f84e34..417a23a 100644 --- a/test/integration/grant-types/authorization-code-grant-type_test.js +++ b/test/integration/grant-types/authorization-code-grant-type_test.js @@ -11,7 +11,7 @@ var InvalidRequestError = require('../../../lib/errors/invalid-request-error'); var Promise = require('bluebird'); var Request = require('../../../lib/request'); var ServerError = require('../../../lib/errors/server-error'); -var should = require('should'); +var should = require('chai').should(); /** * Test `AuthorizationCodeGrantType` integration. diff --git a/test/integration/grant-types/client-credentials-grant-type_test.js b/test/integration/grant-types/client-credentials-grant-type_test.js index 15ec9cc..3bddec8 100644 --- a/test/integration/grant-types/client-credentials-grant-type_test.js +++ b/test/integration/grant-types/client-credentials-grant-type_test.js @@ -9,7 +9,7 @@ var InvalidArgumentError = require('../../../lib/errors/invalid-argument-error') var InvalidGrantError = require('../../../lib/errors/invalid-grant-error'); var Promise = require('bluebird'); var Request = require('../../../lib/request'); -var should = require('should'); +var should = require('chai').should(); /** * Test `ClientCredentialsGrantType` integration. diff --git a/test/integration/grant-types/password-grant-type_test.js b/test/integration/grant-types/password-grant-type_test.js index 9cdf50d..916355d 100644 --- a/test/integration/grant-types/password-grant-type_test.js +++ b/test/integration/grant-types/password-grant-type_test.js @@ -10,7 +10,7 @@ var InvalidRequestError = require('../../../lib/errors/invalid-request-error'); var PasswordGrantType = require('../../../lib/grant-types/password-grant-type'); var Promise = require('bluebird'); var Request = require('../../../lib/request'); -var should = require('should'); +var should = require('chai').should(); /** * Test `PasswordGrantType` integration. diff --git a/test/integration/grant-types/refresh-token-grant-type_test.js b/test/integration/grant-types/refresh-token-grant-type_test.js index 925396a..cbc2947 100644 --- a/test/integration/grant-types/refresh-token-grant-type_test.js +++ b/test/integration/grant-types/refresh-token-grant-type_test.js @@ -11,7 +11,7 @@ var Promise = require('bluebird'); var RefreshTokenGrantType = require('../../../lib/grant-types/refresh-token-grant-type'); var Request = require('../../../lib/request'); var ServerError = require('../../../lib/errors/server-error'); -var should = require('should'); +var should = require('chai').should(); /** * Test `RefreshTokenGrantType` integration. diff --git a/test/integration/handlers/authenticate-handler_test.js b/test/integration/handlers/authenticate-handler_test.js index 7852ea2..1e98a62 100644 --- a/test/integration/handlers/authenticate-handler_test.js +++ b/test/integration/handlers/authenticate-handler_test.js @@ -15,7 +15,7 @@ var Request = require('../../../lib/request'); var Response = require('../../../lib/response'); var ServerError = require('../../../lib/errors/server-error'); var UnauthorizedRequestError = require('../../../lib/errors/unauthorized-request-error'); -var should = require('should'); +var should = require('chai').should(); /** * Test `AuthenticateHandler` integration. diff --git a/test/integration/handlers/authorize-handler_test.js b/test/integration/handlers/authorize-handler_test.js index f895f82..ae0e41e 100644 --- a/test/integration/handlers/authorize-handler_test.js +++ b/test/integration/handlers/authorize-handler_test.js @@ -18,7 +18,7 @@ var Request = require('../../../lib/request'); var Response = require('../../../lib/response'); var ServerError = require('../../../lib/errors/server-error'); var UnauthorizedClientError = require('../../../lib/errors/unauthorized-client-error'); -var should = require('should'); +var should = require('chai').should(); var url = require('url'); /** diff --git a/test/integration/handlers/token-handler_test.js b/test/integration/handlers/token-handler_test.js index 50277c1..82574c9 100644 --- a/test/integration/handlers/token-handler_test.js +++ b/test/integration/handlers/token-handler_test.js @@ -18,7 +18,7 @@ var ServerError = require('../../../lib/errors/server-error'); var TokenHandler = require('../../../lib/handlers/token-handler'); var UnauthorizedClientError = require('../../../lib/errors/unauthorized-client-error'); var UnsupportedGrantTypeError = require('../../../lib/errors/unsupported-grant-type-error'); -var should = require('should'); +var should = require('chai').should(); var util = require('util'); /** @@ -121,8 +121,7 @@ describe('TokenHandler integration', function() { saveToken: function() {} }; var handler = new TokenHandler({ accessTokenLifetime: 120, extendedGrantTypes: extendedGrantTypes, model: model, refreshTokenLifetime: 120 }); - - handler.grantTypes.should.containEql(extendedGrantTypes); + handler.grantTypes.should.deep.include(extendedGrantTypes); }); it('should set the `model`', function() { @@ -997,8 +996,7 @@ describe('TokenHandler integration', function() { }; var handler = new TokenHandler({ accessTokenLifetime: 120, model: model, refreshTokenLifetime: 120 }); var tokenType = handler.getTokenType({ accessToken: 'foo', refreshToken: 'bar', scope: 'foobar' }); - - tokenType.should.containEql({ accessToken: 'foo', accessTokenLifetime: undefined, refreshToken: 'bar', scope: 'foobar' }); + tokenType.should.deep.include({ accessToken: 'foo', accessTokenLifetime: undefined, refreshToken: 'bar', scope: 'foobar' }); }); }); diff --git a/test/integration/request_test.js b/test/integration/request_test.js index a435276..a62309d 100644 --- a/test/integration/request_test.js +++ b/test/integration/request_test.js @@ -6,7 +6,7 @@ var Request = require('../../lib/request'); var InvalidArgumentError = require('../../lib/errors/invalid-argument-error'); -var should = require('should'); +var should = require('chai').should(); /** * Test `Request` integration. diff --git a/test/integration/response-types/code-response-type_test.js b/test/integration/response-types/code-response-type_test.js index 5461b62..e03b4a2 100644 --- a/test/integration/response-types/code-response-type_test.js +++ b/test/integration/response-types/code-response-type_test.js @@ -6,7 +6,7 @@ var CodeResponseType = require('../../../lib/response-types/code-response-type'); var InvalidArgumentError = require('../../../lib/errors/invalid-argument-error'); -var should = require('should'); +var should = require('chai').should(); var url = require('url'); /** diff --git a/test/integration/server_test.js b/test/integration/server_test.js index 2d3aa78..8baaae0 100644 --- a/test/integration/server_test.js +++ b/test/integration/server_test.js @@ -9,7 +9,7 @@ var Promise = require('bluebird'); var Request = require('../../lib/request'); var Response = require('../../lib/response'); var Server = require('../../lib/server'); -var should = require('should'); +var should = require('chai').should(); /** * Test `Server` integration. diff --git a/test/integration/token-types/bearer-token-type_test.js b/test/integration/token-types/bearer-token-type_test.js index 3c1ef6b..c8ad306 100644 --- a/test/integration/token-types/bearer-token-type_test.js +++ b/test/integration/token-types/bearer-token-type_test.js @@ -6,7 +6,7 @@ var BearerTokenType = require('../../../lib/token-types/bearer-token-type'); var InvalidArgumentError = require('../../../lib/errors/invalid-argument-error'); -var should = require('should'); +var should = require('chai').should(); /** * Test `BearerTokenType` integration. diff --git a/test/integration/utils/token-util_test.js b/test/integration/utils/token-util_test.js index 3fbca3f..e0608e2 100644 --- a/test/integration/utils/token-util_test.js +++ b/test/integration/utils/token-util_test.js @@ -5,7 +5,7 @@ */ var TokenUtil = require('../../../lib/utils/token-util'); -var should = require('should'); +var should = require('chai').should(); /** * Test `TokenUtil` integration. diff --git a/test/mocha.opts b/test/mocha.opts index 00ecb38..859c1da 100644 --- a/test/mocha.opts +++ b/test/mocha.opts @@ -1,4 +1,3 @@ ---require should --require test/assertions --ui bdd --reporter spec diff --git a/test/unit/grant-types/abstract-grant-type_test.js b/test/unit/grant-types/abstract-grant-type_test.js index 528ca40..d2ccf72 100644 --- a/test/unit/grant-types/abstract-grant-type_test.js +++ b/test/unit/grant-types/abstract-grant-type_test.js @@ -6,7 +6,7 @@ var AbstractGrantType = require('../../../lib/grant-types/abstract-grant-type'); var sinon = require('sinon'); -var should = require('should'); +var should = require('chai').should(); /** * Test `AbstractGrantType`. diff --git a/test/unit/grant-types/authorization-code-grant-type_test.js b/test/unit/grant-types/authorization-code-grant-type_test.js index 480416e..a9220cb 100644 --- a/test/unit/grant-types/authorization-code-grant-type_test.js +++ b/test/unit/grant-types/authorization-code-grant-type_test.js @@ -8,7 +8,7 @@ var AuthorizationCodeGrantType = require('../../../lib/grant-types/authorization var Promise = require('bluebird'); var Request = require('../../../lib/request'); var sinon = require('sinon'); -var should = require('should'); +var should = require('chai').should(); /** * Test `AuthorizationCodeGrantType`. diff --git a/test/unit/grant-types/client-credentials-grant-type_test.js b/test/unit/grant-types/client-credentials-grant-type_test.js index fe1fc48..4b1c8b6 100644 --- a/test/unit/grant-types/client-credentials-grant-type_test.js +++ b/test/unit/grant-types/client-credentials-grant-type_test.js @@ -6,7 +6,7 @@ var ClientCredentialsGrantType = require('../../../lib/grant-types/client-credentials-grant-type'); var sinon = require('sinon'); -var should = require('should'); +var should = require('chai').should(); /** * Test `ClientCredentialsGrantType`. diff --git a/test/unit/grant-types/password-grant-type_test.js b/test/unit/grant-types/password-grant-type_test.js index 8e3bfc8..c99c2ef 100644 --- a/test/unit/grant-types/password-grant-type_test.js +++ b/test/unit/grant-types/password-grant-type_test.js @@ -7,7 +7,7 @@ var PasswordGrantType = require('../../../lib/grant-types/password-grant-type'); var Request = require('../../../lib/request'); var sinon = require('sinon'); -var should = require('should'); +var should = require('chai').should(); /** * Test `PasswordGrantType`. diff --git a/test/unit/grant-types/refresh-token-grant-type_test.js b/test/unit/grant-types/refresh-token-grant-type_test.js index e5693ba..5775f43 100644 --- a/test/unit/grant-types/refresh-token-grant-type_test.js +++ b/test/unit/grant-types/refresh-token-grant-type_test.js @@ -7,7 +7,7 @@ var RefreshTokenGrantType = require('../../../lib/grant-types/refresh-token-grant-type'); var Request = require('../../../lib/request'); var sinon = require('sinon'); -var should = require('should'); +var should = require('chai').should(); /** * Test `RefreshTokenGrantType`. diff --git a/test/unit/handlers/authenticate-handler_test.js b/test/unit/handlers/authenticate-handler_test.js index 2adac78..c280002 100644 --- a/test/unit/handlers/authenticate-handler_test.js +++ b/test/unit/handlers/authenticate-handler_test.js @@ -7,7 +7,7 @@ var AuthenticateHandler = require('../../../lib/handlers/authenticate-handler'); var Request = require('../../../lib/request'); var sinon = require('sinon'); -var should = require('should'); +var should = require('chai').should(); var ServerError = require('../../../lib/errors/server-error'); /** diff --git a/test/unit/handlers/authorize-handler_test.js b/test/unit/handlers/authorize-handler_test.js index fe9b6b1..35ece25 100644 --- a/test/unit/handlers/authorize-handler_test.js +++ b/test/unit/handlers/authorize-handler_test.js @@ -9,7 +9,7 @@ var Request = require('../../../lib/request'); var Response = require('../../../lib/response'); var Promise = require('bluebird'); var sinon = require('sinon'); -var should = require('should'); +var should = require('chai').should(); /** * Test `AuthorizeHandler`. diff --git a/test/unit/handlers/token-handler_test.js b/test/unit/handlers/token-handler_test.js index 2b37cd0..4dd2199 100644 --- a/test/unit/handlers/token-handler_test.js +++ b/test/unit/handlers/token-handler_test.js @@ -7,7 +7,7 @@ var Request = require('../../../lib/request'); var TokenHandler = require('../../../lib/handlers/token-handler'); var sinon = require('sinon'); -var should = require('should'); +var should = require('chai').should(); /** * Test `TokenHandler`. diff --git a/test/unit/models/token-model_test.js b/test/unit/models/token-model_test.js index 3d89995..9f2d41f 100644 --- a/test/unit/models/token-model_test.js +++ b/test/unit/models/token-model_test.js @@ -1,5 +1,5 @@ var TokenModel = require('../../../lib/models/token-model'); - +var should = require('chai').should(); /** * Test `Server`. */ @@ -18,7 +18,8 @@ describe('Model', function() { }; var model = new TokenModel(data); - model.accessTokenLifetime.should.be.Number; + should.exist(model.accessTokenLifetime); + model.accessTokenLifetime.should.a('number'); model.accessTokenLifetime.should.be.approximately(3600, 2); }); }); diff --git a/test/unit/request_test.js b/test/unit/request_test.js index 458cb8f..a86005a 100644 --- a/test/unit/request_test.js +++ b/test/unit/request_test.js @@ -5,7 +5,7 @@ */ var Request = require('../../lib/request'); -var should = require('should'); +var should = require('chai').should(); /** * Test `Request`. diff --git a/test/unit/response_test.js b/test/unit/response_test.js index c435e32..9d6b8a6 100644 --- a/test/unit/response_test.js +++ b/test/unit/response_test.js @@ -5,7 +5,7 @@ */ var Response = require('../../lib/response'); -var should = require('should'); +var should = require('chai').should(); /** * Test `Request`.