fastify 4.27.0 → 5.0.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.markdownlint-cli2.yaml +1 -1
- package/.tap/processinfo/09002e93-10ad-430c-bc86-c0576928b0ed.json +241 -0
- package/.tap/processinfo/ee66c5ab-635d-48b5-8be6-3dc3ceea5bfc.json +268 -0
- package/.tap/test-results/test/404s.test.js.tap +623 -0
- package/.tap/test-results/test/500s.test.js.tap +64 -0
- package/.tap/test-results/test/allowUnsafeRegex.test.js.tap +36 -0
- package/.tap/test-results/test/als.test.js.tap +15 -0
- package/.tap/test-results/test/async-await.test.js.tap +184 -0
- package/.tap/test-results/test/async-dispose.test.js.tap +8 -0
- package/.tap/test-results/test/async_hooks.test.js.tap +10 -0
- package/.tap/test-results/test/bodyLimit.test.js.tap +48 -0
- package/.tap/test-results/test/buffer.test.js.tap +20 -0
- package/.tap/test-results/test/build/error-serializer.test.js.tap +12 -0
- package/.tap/test-results/test/build/version.test.js.tap +7 -0
- package/.tap/test-results/test/case-insensitive.test.js.tap +36 -0
- package/.tap/test-results/test/chainable.test.js.tap +17 -0
- package/.tap/test-results/test/check.test.js.tap +10 -0
- package/.tap/test-results/test/childLoggerFactory.test.js.tap +23 -0
- package/.tap/test-results/test/client-timeout.test.js.tap +7 -0
- package/.tap/test-results/test/close-pipelining.test.js.tap +15 -0
- package/.tap/test-results/test/close.test.js.tap +172 -0
- package/.tap/test-results/test/connectionTimeout.test.js.tap +12 -0
- package/.tap/test-results/test/constrained-routes.test.js.tap +173 -0
- package/.tap/test-results/test/content-length.test.js.tap +46 -0
- package/.tap/test-results/test/content-parser.test.js.tap +266 -0
- package/.tap/test-results/test/content-type.test.js.tap +14 -0
- package/.tap/test-results/test/context-config.test.js.tap +41 -0
- package/.tap/test-results/test/copy.test.js.tap +14 -0
- package/.tap/test-results/test/custom-http-server.test.js.tap +30 -0
- package/.tap/test-results/test/custom-parser-async.test.js.tap +21 -0
- package/.tap/test-results/test/custom-parser.0.test.js.tap +199 -0
- package/.tap/test-results/test/custom-parser.1.test.js.tap +90 -0
- package/.tap/test-results/test/custom-parser.2.test.js.tap +22 -0
- package/.tap/test-results/test/custom-parser.3.test.js.tap +53 -0
- package/.tap/test-results/test/custom-parser.4.test.js.tap +45 -0
- package/.tap/test-results/test/custom-parser.5.test.js.tap +41 -0
- package/.tap/test-results/test/custom-querystring-parser.test.js.tap +46 -0
- package/.tap/test-results/test/decorator.test.js.tap +465 -0
- package/.tap/test-results/test/delete.test.js.tap +110 -0
- package/.tap/test-results/test/diagnostics-channel/404.test.js.tap +15 -0
- package/.tap/test-results/test/diagnostics-channel/async-delay-request.test.js.tap +25 -0
- package/.tap/test-results/test/diagnostics-channel/async-request.test.js.tap +24 -0
- package/.tap/test-results/test/diagnostics-channel/error-before-handler.test.js.tap +9 -0
- package/.tap/test-results/test/diagnostics-channel/error-request.test.js.tap +20 -0
- package/.tap/test-results/test/diagnostics-channel/error-status.test.js.tap +10 -0
- package/.tap/test-results/test/diagnostics-channel/init.test.js.tap +14 -0
- package/.tap/test-results/test/diagnostics-channel/sync-delay-request.test.js.tap +16 -0
- package/.tap/test-results/test/diagnostics-channel/sync-request-reply.test.js.tap +16 -0
- package/.tap/test-results/test/diagnostics-channel/sync-request.test.js.tap +19 -0
- package/.tap/test-results/test/encapsulated-child-logger-factory.test.js.tap +18 -0
- package/.tap/test-results/test/encapsulated-error-handler.test.js.tap +243 -0
- package/.tap/test-results/test/esm/errorCodes.test.mjs.tap +9 -0
- package/.tap/test-results/test/esm/esm.test.mjs.tap +8 -0
- package/.tap/test-results/test/esm/index.test.js.tap +8 -0
- package/.tap/test-results/test/fastify-instance.test.js.tap +114 -0
- package/.tap/test-results/test/findRoute.test.js.tap +37 -0
- package/.tap/test-results/test/fluent-schema.test.js.tap +36 -0
- package/.tap/test-results/test/genReqId.test.js.tap +106 -0
- package/.tap/test-results/test/get.test.js.tap +151 -0
- package/.tap/test-results/test/handler-context.test.js.tap +19 -0
- package/.tap/test-results/test/has-route.test.js.tap +30 -0
- package/.tap/test-results/test/head.test.js.tap +130 -0
- package/.tap/test-results/test/header-overflow.test.js.tap +16 -0
- package/.tap/test-results/test/hooks-async.test.js.tap +286 -0
- package/.tap/test-results/test/hooks.on-listen.test.js.tap +311 -0
- package/.tap/test-results/test/hooks.on-ready.test.js.tap +151 -0
- package/.tap/test-results/test/hooks.test.js.tap +966 -0
- package/.tap/test-results/test/http2/closing.test.js.tap +35 -0
- package/.tap/test-results/test/http2/constraint.test.js.tap +32 -0
- package/.tap/test-results/test/http2/head.test.js.tap +9 -0
- package/.tap/test-results/test/http2/missing-http2-module.test.js.tap +8 -0
- package/.tap/test-results/test/http2/plain.test.js.tap +22 -0
- package/.tap/test-results/test/http2/secure-with-fallback.test.js.tap +40 -0
- package/.tap/test-results/test/http2/secure.test.js.tap +27 -0
- package/.tap/test-results/test/http2/unknown-http-method.test.js.tap +9 -0
- package/.tap/test-results/test/https/custom-https-server.test.js.tap +10 -0
- package/.tap/test-results/test/https/https.test.js.tap +45 -0
- package/.tap/test-results/test/imports.test.js.tap +14 -0
- package/.tap/test-results/test/inject.test.js.tap +165 -0
- package/.tap/test-results/test/internals/all.test.js.tap +42 -0
- package/.tap/test-results/test/internals/contentTypeParser.test.js.tap +14 -0
- package/.tap/test-results/test/internals/context.test.js.tap +14 -0
- package/.tap/test-results/test/internals/decorator.test.js.tap +51 -0
- package/.tap/test-results/test/internals/errors.test.js.tap +1212 -0
- package/.tap/test-results/test/internals/handleRequest.test.js.tap +69 -0
- package/.tap/test-results/test/internals/hookRunner.test.js.tap +143 -0
- package/.tap/test-results/test/internals/hooks.test.js.tap +45 -0
- package/.tap/test-results/test/internals/initialConfig.test.js.tap +125 -0
- package/.tap/test-results/test/internals/logger.test.js.tap +71 -0
- package/.tap/test-results/test/internals/plugin.test.js.tap +48 -0
- package/.tap/test-results/test/internals/reply-serialize.test.js.tap +166 -0
- package/.tap/test-results/test/internals/reply.test.js.tap +688 -0
- package/.tap/test-results/test/internals/reqIdGenFactory.test.js.tap +74 -0
- package/.tap/test-results/test/internals/request-validate.test.js.tap +384 -0
- package/.tap/test-results/test/internals/request.test.js.tap +163 -0
- package/.tap/test-results/test/internals/server.test.js.tap +30 -0
- package/.tap/test-results/test/internals/validation.test.js.tap +121 -0
- package/.tap/test-results/test/keepAliveTimeout.test.js.tap +12 -0
- package/.tap/test-results/test/listen.1.test.js.tap +31 -0
- package/.tap/test-results/test/listen.2.test.js.tap +46 -0
- package/.tap/test-results/test/listen.3.test.js.tap +25 -0
- package/.tap/test-results/test/listen.4.test.js.tap +51 -0
- package/.tap/test-results/test/lock.test.js.tap +29 -0
- package/.tap/test-results/test/logger/instantiation.test.js.tap +92 -0
- package/.tap/test-results/test/logger/logging.test.js.tap +117 -0
- package/.tap/test-results/test/logger/options.test.js.tap +165 -0
- package/.tap/test-results/test/logger/request.test.js.tap +82 -0
- package/.tap/test-results/test/logger/response.test.js.tap +38 -0
- package/.tap/test-results/test/maxRequestsPerSocket.test.js.tap +44 -0
- package/.tap/test-results/test/method-missing.test.js.tap +8 -0
- package/.tap/test-results/test/middleware.test.js.tap +17 -0
- package/.tap/test-results/test/mkcalendar.test.js.tap +43 -0
- package/.tap/test-results/test/mkcol.test.js.tap +14 -0
- package/.tap/test-results/test/move.test.js.tap +15 -0
- package/.tap/test-results/test/noop-set.test.js.tap +8 -0
- package/.tap/test-results/test/nullable-validation.test.js.tap +36 -0
- package/.tap/test-results/test/options.error-handler.test.js.tap +186 -0
- package/.tap/test-results/test/options.test.js.tap +174 -0
- package/.tap/test-results/test/output-validation.test.js.tap +66 -0
- package/.tap/test-results/test/patch.error-handler.test.js.tap +206 -0
- package/.tap/test-results/test/patch.test.js.tap +182 -0
- package/.tap/test-results/test/plugin.1.test.js.tap +78 -0
- package/.tap/test-results/test/plugin.2.test.js.tap +102 -0
- package/.tap/test-results/test/plugin.3.test.js.tap +58 -0
- package/.tap/test-results/test/plugin.4.test.js.tap +164 -0
- package/.tap/test-results/test/post-empty-body.test.js.tap +8 -0
- package/.tap/test-results/test/pretty-print.test.js.tap +82 -0
- package/.tap/test-results/test/promises.test.js.tap +46 -0
- package/.tap/test-results/test/propfind.test.js.tap +43 -0
- package/.tap/test-results/test/proppatch.test.js.tap +29 -0
- package/.tap/test-results/test/proto-poisoning.test.js.tap +47 -0
- package/.tap/test-results/test/put.error-handler.test.js.tap +206 -0
- package/.tap/test-results/test/put.test.js.tap +182 -0
- package/.tap/test-results/test/register.test.js.tap +61 -0
- package/.tap/test-results/test/reply-code.test.js.tap +40 -0
- package/.tap/test-results/test/reply-earlyHints.test.js.tap +22 -0
- package/.tap/test-results/test/reply-error.test.js.tap +643 -0
- package/.tap/test-results/test/reply-trailers.test.js.tap +176 -0
- package/.tap/test-results/test/report.test.js.tap +43 -0
- package/.tap/test-results/test/request-error.test.js.tap +98 -0
- package/.tap/test-results/test/request-id.test.js.tap +38 -0
- package/.tap/test-results/test/request.deprecated.test.js.tap +13 -0
- package/.tap/test-results/test/requestTimeout.test.js.tap +21 -0
- package/.tap/test-results/test/route-hooks.test.js.tap +498 -0
- package/.tap/test-results/test/route-prefix.test.js.tap +195 -0
- package/.tap/test-results/test/route-shorthand.test.js.tap +190 -0
- package/.tap/test-results/test/route.1.test.js.tap +93 -0
- package/.tap/test-results/test/route.2.test.js.tap +28 -0
- package/.tap/test-results/test/route.3.test.js.tap +39 -0
- package/.tap/test-results/test/route.4.test.js.tap +32 -0
- package/.tap/test-results/test/route.5.test.js.tap +54 -0
- package/.tap/test-results/test/route.6.test.js.tap +81 -0
- package/.tap/test-results/test/route.7.test.js.tap +93 -0
- package/.tap/test-results/test/route.8.test.js.tap +38 -0
- package/.tap/test-results/test/router-options.test.js.tap +104 -0
- package/.tap/test-results/test/same-shape.test.js.tap +22 -0
- package/.tap/test-results/test/schema-examples.test.js.tap +85 -0
- package/.tap/test-results/test/schema-feature.test.js.tap +445 -0
- package/.tap/test-results/test/schema-serialization.test.js.tap +194 -0
- package/.tap/test-results/test/schema-special-usage.test.js.tap +186 -0
- package/.tap/test-results/test/schema-validation.test.js.tap +199 -0
- package/.tap/test-results/test/search.test.js.tap +77 -0
- package/.tap/test-results/test/serialize-response.test.js.tap +26 -0
- package/.tap/test-results/test/server.test.js.tap +65 -0
- package/.tap/test-results/test/set-error-handler.test.js.tap +7 -0
- package/.tap/test-results/test/skip-reply-send.test.js.tap +272 -0
- package/.tap/test-results/test/stream.1.test.js.tap +36 -0
- package/.tap/test-results/test/stream.2.test.js.tap +20 -0
- package/.tap/test-results/test/stream.3.test.js.tap +34 -0
- package/.tap/test-results/test/stream.4.test.js.tap +40 -0
- package/.tap/test-results/test/stream.5.test.js.tap +37 -0
- package/.tap/test-results/test/sync-routes.test.js.tap +19 -0
- package/.tap/test-results/test/throw.test.js.tap +116 -0
- package/.tap/test-results/test/trace.test.js.tap +7 -0
- package/.tap/test-results/test/trust-proxy.test.js.tap +109 -0
- package/.tap/test-results/test/type-provider.test.js.tap +12 -0
- package/.tap/test-results/test/unlock.test.js.tap +14 -0
- package/.tap/test-results/test/upgrade.test.js.tap +8 -0
- package/.tap/test-results/test/url-rewriting.test.js.tap +39 -0
- package/.tap/test-results/test/useSemicolonDelimiter.test.js.tap +33 -0
- package/.tap/test-results/test/validation-error-handling.test.js.tap +180 -0
- package/.tap/test-results/test/versioned-routes.test.js.tap +151 -0
- package/.tap/test-results/test/web-api.test.js.tap +51 -0
- package/.tap/test-results/test/wrapThenable.test.js.tap +11 -0
- package/.taprc +4 -8
- package/README.md +3 -6
- package/build/build-error-serializer.js +4 -1
- package/build/build-validation.js +5 -4
- package/docs/Guides/Database.md +1 -1
- package/docs/Guides/Delay-Accepting-Requests.md +3 -3
- package/docs/Guides/Ecosystem.md +2 -0
- package/docs/Guides/Migration-Guide-V5.md +20 -0
- package/docs/Guides/Write-Type-Provider.md +4 -2
- package/docs/Reference/ContentTypeParser.md +30 -1
- package/docs/Reference/Decorators.md +42 -16
- package/docs/Reference/Errors.md +10 -2
- package/docs/Reference/Hooks.md +48 -14
- package/docs/Reference/Logging.md +5 -5
- package/docs/Reference/Reply.md +29 -24
- package/docs/Reference/Request.md +5 -1
- package/docs/Reference/Routes.md +24 -28
- package/docs/Reference/Server.md +14 -53
- package/docs/Reference/Type-Providers.md +21 -26
- package/docs/Reference/TypeScript.md +46 -29
- package/docs/Reference/Warnings.md +2 -8
- package/eslint.config.js +27 -0
- package/examples/typescript-server.ts +14 -14
- package/fastify.d.ts +15 -14
- package/fastify.js +41 -15
- package/lib/configValidator.js +94 -76
- package/lib/contentTypeParser.js +54 -88
- package/lib/decorate.js +3 -7
- package/lib/error-serializer.js +77 -19
- package/lib/errors.js +31 -6
- package/lib/handleRequest.js +70 -39
- package/lib/httpMethods.js +34 -18
- package/lib/logger.js +24 -6
- package/lib/pluginUtils.js +5 -5
- package/lib/reply.js +16 -13
- package/lib/request.js +37 -19
- package/lib/route.js +7 -31
- package/lib/server.js +62 -123
- package/lib/warnings.js +28 -27
- package/lib/wrapThenable.js +46 -22
- package/package.json +38 -58
- package/test/404s.test.js +8 -12
- package/test/async-await.test.js +46 -2
- package/test/build/error-serializer.test.js +4 -2
- package/test/check.test.js +225 -0
- package/test/close-pipelining.test.js +2 -34
- package/test/close.test.js +1 -41
- package/test/content-parser.test.js +69 -117
- package/test/custom-parser.1.test.js +40 -1
- package/test/decorator-namespace.test._js_ +31 -0
- package/test/decorator.test.js +92 -43
- package/test/delete.test.js +21 -1
- package/test/diagnostics-channel/404.test.js +57 -0
- package/test/diagnostics-channel/async-delay-request.test.js +74 -0
- package/test/diagnostics-channel/async-request.test.js +72 -0
- package/test/diagnostics-channel/error-before-handler.test.js +36 -0
- package/test/diagnostics-channel/error-request.test.js +61 -0
- package/test/diagnostics-channel/error-status.test.js +39 -0
- package/test/{diagnostics-channel.test.js → diagnostics-channel/init.test.js} +6 -16
- package/test/diagnostics-channel/sync-delay-request.test.js +58 -0
- package/test/diagnostics-channel/sync-request-reply.test.js +58 -0
- package/test/diagnostics-channel/sync-request.test.js +61 -0
- package/test/encapsulated-error-handler.test.js +201 -14
- package/test/esm/index.test.js +2 -12
- package/test/findRoute.test.js +16 -0
- package/test/genReqId.test.js +9 -0
- package/test/get.test.js +28 -0
- package/test/has-route.test.js +18 -2
- package/test/helper.js +1 -5
- package/test/hooks.test.js +0 -4
- package/test/http2/constraint.test.js +22 -1
- package/test/http2/plain.test.js +21 -6
- package/test/http2/secure.test.js +12 -1
- package/test/https/https.test.js +57 -0
- package/test/inject.test.js +1 -2
- package/test/internals/decorator.test.js +0 -2
- package/test/internals/errors.test.js +57 -17
- package/test/internals/handleRequest.test.js +5 -1
- package/test/internals/initialConfig.test.js +5 -5
- package/test/internals/logger.test.js +31 -2
- package/test/internals/reply.test.js +38 -80
- package/test/internals/request.test.js +13 -11
- package/test/listen.1.test.js +5 -15
- package/test/listen.5.test.js +88 -0
- package/test/logger/instantiation.test.js +8 -8
- package/test/logger/logging.test.js +4 -4
- package/test/logger/options.test.js +102 -21
- package/test/logger/response.test.js +6 -6
- package/test/maxRequestsPerSocket.test.js +2 -5
- package/test/method-missing.test.js +24 -0
- package/test/plugin.1.test.js +2 -4
- package/test/plugin.2.test.js +0 -2
- package/test/plugin.3.test.js +0 -2
- package/test/plugin.4.test.js +92 -56
- package/test/register.test.js +2 -4
- package/test/reply-earlyHints.test.js +98 -0
- package/test/reply-error.test.js +0 -2
- package/test/route-hooks.test.js +0 -1
- package/test/route-shorthand.test.js +60 -0
- package/test/schema-special-usage.test.js +1 -1
- package/test/server.test.js +17 -2
- package/test/stream.2.test.js +1 -1
- package/test/stream.4.test.js +0 -42
- package/test/stream.5.test.js +2 -2
- package/test/trust-proxy.test.js +33 -27
- package/test/types/errors.test-d.ts +0 -2
- package/test/types/fastify.test-d.ts +14 -12
- package/test/types/hooks.test-d.ts +1 -0
- package/test/types/import.ts +1 -0
- package/test/types/instance.test-d.ts +10 -51
- package/test/types/logger.test-d.ts +43 -6
- package/test/types/plugin.test-d.ts +5 -2
- package/test/types/register.test-d.ts +2 -2
- package/test/types/reply.test-d.ts +13 -12
- package/test/types/request.test-d.ts +19 -8
- package/test/types/route.test-d.ts +30 -2
- package/test/types/schema.test-d.ts +2 -2
- package/test/types/serverFactory.test-d.ts +1 -1
- package/test/types/type-provider.test-d.ts +60 -13
- package/test/types/using.test-d.ts +4 -1
- package/test/url-rewriting.test.js +3 -2
- package/test/useSemicolonDelimiter.test.js +3 -6
- package/test/versioned-routes.test.js +1 -1
- package/test/web-api.test.js +0 -6
- package/types/content-type-parser.d.ts +3 -3
- package/types/context.d.ts +0 -1
- package/types/errors.d.ts +1 -0
- package/types/hooks.d.ts +6 -6
- package/types/instance.d.ts +28 -41
- package/types/logger.d.ts +3 -3
- package/types/plugin.d.ts +3 -3
- package/types/reply.d.ts +13 -14
- package/types/request.d.ts +5 -3
- package/types/route.d.ts +29 -29
- package/types/schema.d.ts +3 -3
- package/types/serverFactory.d.ts +2 -2
- package/types/type-provider.d.ts +22 -12
- package/types/utils.d.ts +18 -18
- package/.c8rc.json +0 -8
- package/.eslintrc +0 -4
- package/test/default-route.test.js +0 -88
- package/test/listen.deprecated.test.js +0 -229
- package/test/unsupported-httpversion.test.js +0 -31
- package/types/.eslintrc.json +0 -48
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
TAP version 14
|
|
2
|
+
# Subtest: Symbols
|
|
3
|
+
1..5
|
|
4
|
+
ok 1 - should be equal
|
|
5
|
+
ok 2 - should be equal
|
|
6
|
+
ok 3 - should be equal
|
|
7
|
+
ok 4 - should be equal
|
|
8
|
+
ok 5 - should be equal
|
|
9
|
+
ok 1 - Symbols # time=5.015ms
|
|
10
|
+
|
|
11
|
+
# Subtest: compileSchemasForValidation schema - missing schema
|
|
12
|
+
1..2
|
|
13
|
+
ok 1 - should be equal
|
|
14
|
+
ok 2 - should be equal
|
|
15
|
+
ok 2 - compileSchemasForValidation schema - missing schema # time=0.391ms
|
|
16
|
+
|
|
17
|
+
# Subtest: compileSchemasForValidation schema - missing output schema
|
|
18
|
+
1..1
|
|
19
|
+
ok 1 - should be equal
|
|
20
|
+
ok 3 - compileSchemasForValidation schema - missing output schema # time=0.227ms
|
|
21
|
+
|
|
22
|
+
# Subtest: compileSchemasForSerialization schema - missing schema
|
|
23
|
+
1..2
|
|
24
|
+
ok 1 - should be equal
|
|
25
|
+
ok 2 - should be equal
|
|
26
|
+
ok 4 - compileSchemasForSerialization schema - missing schema # time=0.249ms
|
|
27
|
+
|
|
28
|
+
# Subtest: compileSchemasForSerialization schema - missing output schema
|
|
29
|
+
1..1
|
|
30
|
+
ok 1 - should be equal
|
|
31
|
+
ok 5 - compileSchemasForSerialization schema - missing output schema # time=0.269ms
|
|
32
|
+
|
|
33
|
+
# Subtest: build schema - output schema
|
|
34
|
+
1..2
|
|
35
|
+
ok 1 - should be equal
|
|
36
|
+
ok 2 - should be equal
|
|
37
|
+
ok 6 - build schema - output schema # time=21.407ms
|
|
38
|
+
|
|
39
|
+
# Subtest: build schema - payload schema
|
|
40
|
+
1..1
|
|
41
|
+
ok 1 - should be equal
|
|
42
|
+
ok 7 - build schema - payload schema # time=0.627ms
|
|
43
|
+
|
|
44
|
+
# Subtest: build schema - avoid repeated normalize schema
|
|
45
|
+
1..3
|
|
46
|
+
ok 1 - should not be equal
|
|
47
|
+
ok 2 - should be equal
|
|
48
|
+
ok 3 - should be equal
|
|
49
|
+
ok 8 - build schema - avoid repeated normalize schema # time=0.499ms
|
|
50
|
+
|
|
51
|
+
# Subtest: build schema - query schema
|
|
52
|
+
1..2
|
|
53
|
+
ok 1 - type is string
|
|
54
|
+
ok 2 - should be equal
|
|
55
|
+
ok 9 - build schema - query schema # time=1.046ms
|
|
56
|
+
|
|
57
|
+
# Subtest: build schema - query schema abbreviated
|
|
58
|
+
1..2
|
|
59
|
+
ok 1 - type is string
|
|
60
|
+
ok 2 - should be equal
|
|
61
|
+
ok 10 - build schema - query schema abbreviated # time=0.954ms
|
|
62
|
+
|
|
63
|
+
# Subtest: build schema - querystring schema
|
|
64
|
+
1..2
|
|
65
|
+
ok 1 - type is string
|
|
66
|
+
ok 2 - should be equal
|
|
67
|
+
ok 11 - build schema - querystring schema # time=0.683ms
|
|
68
|
+
|
|
69
|
+
# Subtest: build schema - querystring schema abbreviated
|
|
70
|
+
1..2
|
|
71
|
+
ok 1 - type is string
|
|
72
|
+
ok 2 - should be equal
|
|
73
|
+
ok 12 - build schema - querystring schema abbreviated # time=0.643ms
|
|
74
|
+
|
|
75
|
+
# Subtest: build schema - must throw if querystring and query schema exist
|
|
76
|
+
1..2
|
|
77
|
+
ok 1 - should be equal
|
|
78
|
+
ok 2 - should be equal
|
|
79
|
+
ok 13 - build schema - must throw if querystring and query schema exist # time=0.996ms
|
|
80
|
+
|
|
81
|
+
# Subtest: build schema - params schema
|
|
82
|
+
1..1
|
|
83
|
+
ok 1 - should be equal
|
|
84
|
+
ok 14 - build schema - params schema # time=0.702ms
|
|
85
|
+
|
|
86
|
+
# Subtest: build schema - headers schema
|
|
87
|
+
1..1
|
|
88
|
+
ok 1 - should be equal
|
|
89
|
+
ok 15 - build schema - headers schema # time=0.733ms
|
|
90
|
+
|
|
91
|
+
# Subtest: build schema - headers are lowercase
|
|
92
|
+
1..1
|
|
93
|
+
ok 1 - lowercase content-type exists
|
|
94
|
+
ok 16 - build schema - headers are lowercase # time=0.287ms
|
|
95
|
+
|
|
96
|
+
# Subtest: build schema - headers are not lowercased in case of custom object
|
|
97
|
+
1..1
|
|
98
|
+
ok 1 - type is Headers
|
|
99
|
+
ok 17 - build schema - headers are not lowercased in case of custom object # time=0.267ms
|
|
100
|
+
|
|
101
|
+
# Subtest: build schema - headers are not lowercased in case of custom validator provided
|
|
102
|
+
1..1
|
|
103
|
+
ok 1 - type is Headers
|
|
104
|
+
ok 18 - build schema - headers are not lowercased in case of custom validator provided # time=0.247ms
|
|
105
|
+
|
|
106
|
+
# Subtest: build schema - uppercased headers are not included
|
|
107
|
+
1..1
|
|
108
|
+
ok 1 - uppercase does not exist
|
|
109
|
+
ok 19 - build schema - uppercased headers are not included # time=0.257ms
|
|
110
|
+
|
|
111
|
+
# Subtest: build schema - mixed schema types are individually skipped or normalized
|
|
112
|
+
1..6
|
|
113
|
+
ok 1 - type is CustomSchemaClass
|
|
114
|
+
ok 2 - type is CustomSchemaClass
|
|
115
|
+
ok 3 - should be equivalent
|
|
116
|
+
ok 4 - type is CustomSchemaClass
|
|
117
|
+
ok 5 - type is CustomSchemaClass
|
|
118
|
+
ok 6 - should be equivalent
|
|
119
|
+
ok 20 - build schema - mixed schema types are individually skipped or normalized # time=1.381ms
|
|
120
|
+
|
|
121
|
+
1..20
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
TAP version 14
|
|
2
|
+
# Subtest: keepAliveTimeout
|
|
3
|
+
1..6
|
|
4
|
+
ok 1 - should be equal
|
|
5
|
+
ok 2 - should be equal
|
|
6
|
+
ok 3 - should be equal
|
|
7
|
+
ok 4 - should be equal
|
|
8
|
+
ok 5 - should not be equal
|
|
9
|
+
ok 6 - should be equal
|
|
10
|
+
ok 1 - keepAliveTimeout # time=27.583ms
|
|
11
|
+
|
|
12
|
+
1..1
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
TAP version 14
|
|
2
|
+
# Subtest: listen works without arguments
|
|
3
|
+
ok 1 - should be equal
|
|
4
|
+
ok 2 - should be equal
|
|
5
|
+
1..2
|
|
6
|
+
ok 1 - listen works without arguments # time=13.342ms
|
|
7
|
+
|
|
8
|
+
# Subtest: Async/await listen with arguments
|
|
9
|
+
ok 1 - should be equal
|
|
10
|
+
ok 2 - should be equivalent
|
|
11
|
+
1..2
|
|
12
|
+
ok 2 - Async/await listen with arguments # time=2.865ms
|
|
13
|
+
|
|
14
|
+
# Subtest: listen accepts a callback
|
|
15
|
+
1..2
|
|
16
|
+
ok 1 - should be equal
|
|
17
|
+
ok 2 - should not error
|
|
18
|
+
ok 3 - listen accepts a callback # time=4.92ms
|
|
19
|
+
|
|
20
|
+
# Subtest: listen accepts options and a callback
|
|
21
|
+
1..1
|
|
22
|
+
ok 1 - should not error
|
|
23
|
+
ok 4 - listen accepts options and a callback # time=4.733ms
|
|
24
|
+
|
|
25
|
+
# Subtest: listen after Promise.resolve()
|
|
26
|
+
1..2
|
|
27
|
+
ok 1 - should be equal
|
|
28
|
+
ok 2 - should not error
|
|
29
|
+
ok 5 - listen after Promise.resolve() # time=3.958ms
|
|
30
|
+
|
|
31
|
+
1..5
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
TAP version 14
|
|
2
|
+
# Subtest: register after listen using Promise.resolve()
|
|
3
|
+
1..1
|
|
4
|
+
ok 1 - resolved
|
|
5
|
+
ok 1 - register after listen using Promise.resolve() # time=12.496ms
|
|
6
|
+
|
|
7
|
+
# Subtest: double listen errors
|
|
8
|
+
1..3
|
|
9
|
+
ok 1 - should not error
|
|
10
|
+
ok 2 - should be equal
|
|
11
|
+
ok 3 - should be equal
|
|
12
|
+
ok 2 - double listen errors # time=7.912ms
|
|
13
|
+
|
|
14
|
+
# Subtest: double listen errors callback with (err, address)
|
|
15
|
+
1..4
|
|
16
|
+
ok 1 - should be equal
|
|
17
|
+
ok 2 - should not error
|
|
18
|
+
ok 3 - should be equal
|
|
19
|
+
ok 4 - should be equal
|
|
20
|
+
ok 3 - double listen errors callback with (err, address) # time=3.208ms
|
|
21
|
+
|
|
22
|
+
# Subtest: nonlocalhost double listen errors callback with (err, address)
|
|
23
|
+
1..4
|
|
24
|
+
ok 1 - should be equal
|
|
25
|
+
ok 2 - should not error
|
|
26
|
+
ok 3 - should be equal
|
|
27
|
+
ok 4 - should be equal
|
|
28
|
+
ok 4 - nonlocalhost double listen errors callback with (err, address) # time=1.632ms
|
|
29
|
+
|
|
30
|
+
# Subtest: listen twice on the same port
|
|
31
|
+
1..4
|
|
32
|
+
ok 1 - should be equal
|
|
33
|
+
ok 2 - should not error
|
|
34
|
+
ok 3 - should be equal
|
|
35
|
+
ok 4 - should be equal
|
|
36
|
+
ok 5 - listen twice on the same port # time=8.433ms
|
|
37
|
+
|
|
38
|
+
# Subtest: listen twice on the same port callback with (err, address)
|
|
39
|
+
1..4
|
|
40
|
+
ok 1 - should be equal
|
|
41
|
+
ok 2 - should not error
|
|
42
|
+
ok 3 - should be equal
|
|
43
|
+
ok 4 - should be equal
|
|
44
|
+
ok 6 - listen twice on the same port callback with (err, address) # time=7.988ms
|
|
45
|
+
|
|
46
|
+
1..6
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
TAP version 14
|
|
2
|
+
# Subtest: listen on socket
|
|
3
|
+
1..3
|
|
4
|
+
ok 1 - should not error
|
|
5
|
+
ok 2 - should be equivalent strictly
|
|
6
|
+
ok 3 - should be equal
|
|
7
|
+
ok 1 - listen on socket # time=13.635ms
|
|
8
|
+
|
|
9
|
+
# Subtest: listen without callback with (address)
|
|
10
|
+
1..1
|
|
11
|
+
ok 1 - should be equal
|
|
12
|
+
ok 2 - listen without callback with (address) # time=5.437ms
|
|
13
|
+
|
|
14
|
+
# Subtest: double listen without callback rejects
|
|
15
|
+
1..1
|
|
16
|
+
ok 1 - should be equal
|
|
17
|
+
ok 3 - double listen without callback rejects # time=2.517ms
|
|
18
|
+
|
|
19
|
+
# Subtest: double listen without callback with (address)
|
|
20
|
+
1..2
|
|
21
|
+
ok 1 - should be equal
|
|
22
|
+
ok 2 - should be equal
|
|
23
|
+
ok 4 - double listen without callback with (address) # time=5.756ms
|
|
24
|
+
|
|
25
|
+
1..4
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
TAP version 14
|
|
2
|
+
# Subtest: listen twice on the same port without callback rejects
|
|
3
|
+
1..1
|
|
4
|
+
ok 1 - should be equal
|
|
5
|
+
ok 1 - listen twice on the same port without callback rejects # time=34.988ms
|
|
6
|
+
|
|
7
|
+
# Subtest: listen twice on the same port without callback rejects with (address)
|
|
8
|
+
1..2
|
|
9
|
+
ok 1 - should be equal
|
|
10
|
+
ok 2 - should be equal
|
|
11
|
+
ok 2 - listen twice on the same port without callback rejects with (address) # time=8.496ms
|
|
12
|
+
|
|
13
|
+
# Subtest: listen on invalid port without callback rejects
|
|
14
|
+
ok 1 - should be equal
|
|
15
|
+
1..1
|
|
16
|
+
ok 3 - listen on invalid port without callback rejects # time=4.884ms
|
|
17
|
+
|
|
18
|
+
# Subtest: listen logs the port as info
|
|
19
|
+
1..1
|
|
20
|
+
ok 1 - should be equal
|
|
21
|
+
ok 4 - listen logs the port as info # time=8.18ms
|
|
22
|
+
|
|
23
|
+
# Subtest: listen on localhost binds IPv4 and IPv6 - promise interface
|
|
24
|
+
1..4
|
|
25
|
+
ok 1 - should be equal
|
|
26
|
+
ok 2 - should be equivalent
|
|
27
|
+
ok 3 - should be equal
|
|
28
|
+
ok 4 - should be equivalent
|
|
29
|
+
ok 5 - listen on localhost binds IPv4 and IPv6 - promise interface # time=24.452ms
|
|
30
|
+
|
|
31
|
+
# Subtest: listen on localhost binds to all interfaces (both IPv4 and IPv6 if present) - callback interface
|
|
32
|
+
1..8
|
|
33
|
+
ok 1 - should not error
|
|
34
|
+
ok 2 - should not error
|
|
35
|
+
ok 3 - should not error
|
|
36
|
+
ok 4 - should be equal
|
|
37
|
+
ok 5 - should be equivalent
|
|
38
|
+
ok 6 - should not error
|
|
39
|
+
ok 7 - should be equal
|
|
40
|
+
ok 8 - should be equivalent
|
|
41
|
+
ok 6 - listen on localhost binds to all interfaces (both IPv4 and IPv6 if present) - callback interface # time=7.251ms
|
|
42
|
+
|
|
43
|
+
# Subtest: addresses getter
|
|
44
|
+
1..4
|
|
45
|
+
ok 1 - before ready
|
|
46
|
+
ok 2 - after ready
|
|
47
|
+
ok 3 - after listen
|
|
48
|
+
ok 4 - after close
|
|
49
|
+
ok 7 - addresses getter # time=9.305ms
|
|
50
|
+
|
|
51
|
+
1..7
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
TAP version 14
|
|
2
|
+
# Subtest: can be created - lock
|
|
3
|
+
1..1
|
|
4
|
+
ok 1 - (unnamed test)
|
|
5
|
+
ok 1 - can be created - lock # time=6.469ms
|
|
6
|
+
|
|
7
|
+
ok 2 - should not error
|
|
8
|
+
# Subtest: request with body - lock
|
|
9
|
+
1..3
|
|
10
|
+
ok 1 - should not error
|
|
11
|
+
ok 2 - should be equal
|
|
12
|
+
ok 3 - should be equal
|
|
13
|
+
ok 3 - request with body - lock # time=13.258ms
|
|
14
|
+
|
|
15
|
+
# Subtest: request with body and no content type (415 error) - lock
|
|
16
|
+
1..3
|
|
17
|
+
ok 1 - should not error
|
|
18
|
+
ok 2 - should be equal
|
|
19
|
+
ok 3 - should be equal
|
|
20
|
+
ok 4 - request with body and no content type (415 error) - lock # time=3.865ms
|
|
21
|
+
|
|
22
|
+
# Subtest: request without body - lock
|
|
23
|
+
1..3
|
|
24
|
+
ok 1 - should not error
|
|
25
|
+
ok 2 - should be equal
|
|
26
|
+
ok 3 - should be equal
|
|
27
|
+
ok 5 - request without body - lock # time=8.566ms
|
|
28
|
+
|
|
29
|
+
1..5
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
TAP version 14
|
|
2
|
+
# Subtest: logger instantiation
|
|
3
|
+
1..11
|
|
4
|
+
# Subtest: can use external logger instance
|
|
5
|
+
1..5
|
|
6
|
+
ok 1 - should be equal
|
|
7
|
+
ok 2 - "Server listening at http://[::1]:51550" does not match "/^Server listening at /"
|
|
8
|
+
ok 3 - "incoming request" does not match "/^incoming request$/"
|
|
9
|
+
ok 4 - "log success" does not match "/^log success$/"
|
|
10
|
+
ok 5 - "request completed" does not match "/^request completed$/"
|
|
11
|
+
ok 1 - can use external logger instance # time=23.36ms
|
|
12
|
+
|
|
13
|
+
# Subtest: should create a default logger if provided one is invalid
|
|
14
|
+
1..8
|
|
15
|
+
ok 1 - should be equal
|
|
16
|
+
ok 2 - should be equal
|
|
17
|
+
ok 3 - should be equal
|
|
18
|
+
ok 4 - should be equal
|
|
19
|
+
ok 5 - should be equal
|
|
20
|
+
ok 6 - should be equal
|
|
21
|
+
ok 7 - should be equal
|
|
22
|
+
ok 8 - should be equal
|
|
23
|
+
ok 2 - should create a default logger if provided one is invalid # time=2.149ms
|
|
24
|
+
|
|
25
|
+
# Subtest: expose the logger
|
|
26
|
+
1..2
|
|
27
|
+
ok 1 - should be equal
|
|
28
|
+
ok 2 - should be equivalent
|
|
29
|
+
ok 3 - expose the logger # time=1.76ms
|
|
30
|
+
|
|
31
|
+
# Subtest: Wrap IPv6 address in listening log message
|
|
32
|
+
1..1
|
|
33
|
+
ok 1 - should be equivalent
|
|
34
|
+
ok 4 - Wrap IPv6 address in listening log message # time=1.812ms
|
|
35
|
+
|
|
36
|
+
# Subtest: Do not wrap IPv4 address
|
|
37
|
+
1..1
|
|
38
|
+
ok 1 - should be equivalent
|
|
39
|
+
ok 5 - Do not wrap IPv4 address # time=1.761ms
|
|
40
|
+
|
|
41
|
+
# Subtest: file option
|
|
42
|
+
ok 1 - should be equal
|
|
43
|
+
ok 2 - should match pattern
|
|
44
|
+
ok 3 - should be equal
|
|
45
|
+
ok 4 - should match pattern
|
|
46
|
+
ok 5 - should be equal
|
|
47
|
+
ok 6 - should match pattern
|
|
48
|
+
1..6
|
|
49
|
+
ok 6 - file option # time=517.894ms
|
|
50
|
+
|
|
51
|
+
# Subtest: should be able to use a custom logger
|
|
52
|
+
1..7
|
|
53
|
+
ok 1 - should be equal
|
|
54
|
+
ok 2 - should be equal
|
|
55
|
+
ok 3 - should be equal
|
|
56
|
+
ok 4 - should be equal
|
|
57
|
+
ok 5 - should be equal
|
|
58
|
+
ok 6 - should be equal
|
|
59
|
+
ok 7 - should be equal
|
|
60
|
+
ok 7 - should be able to use a custom logger # time=1.965ms
|
|
61
|
+
|
|
62
|
+
# Subtest: should throw in case a partially matching logger is provided
|
|
63
|
+
1..1
|
|
64
|
+
ok 1 - Invalid logger object provided. The logger instance should have these functions(s): 'fatal,child'.
|
|
65
|
+
ok 8 - should throw in case a partially matching logger is provided # time=0.699ms
|
|
66
|
+
|
|
67
|
+
# Subtest: can use external logger instance with custom serializer
|
|
68
|
+
1..5
|
|
69
|
+
ok 1 - should be equal
|
|
70
|
+
ok 2 - should be equivalent
|
|
71
|
+
ok 3 - should be equivalent
|
|
72
|
+
ok 4 - should be equivalent
|
|
73
|
+
ok 5 - should be equivalent
|
|
74
|
+
ok 9 - can use external logger instance with custom serializer # time=3.997ms
|
|
75
|
+
|
|
76
|
+
# Subtest: The logger should accept custom serializer
|
|
77
|
+
1..5
|
|
78
|
+
ok 1 - should be equal
|
|
79
|
+
ok 2 - should match pattern
|
|
80
|
+
ok 3 - should match pattern
|
|
81
|
+
ok 4 - should match pattern
|
|
82
|
+
ok 5 - should match pattern
|
|
83
|
+
ok 10 - The logger should accept custom serializer # time=4.234ms
|
|
84
|
+
|
|
85
|
+
# Subtest: should throw in case the external logger provided does not have a child method
|
|
86
|
+
1..1
|
|
87
|
+
ok 1 - Invalid logger object provided. The logger instance should have these functions(s): 'child'.
|
|
88
|
+
ok 11 - should throw in case the external logger provided does not have a child method # time=0.356ms
|
|
89
|
+
|
|
90
|
+
ok 1 - logger instantiation # time=575.69ms
|
|
91
|
+
|
|
92
|
+
1..1
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
TAP version 14
|
|
2
|
+
# Subtest: logging
|
|
3
|
+
1..13
|
|
4
|
+
# Subtest: The default 404 handler logs the incoming request
|
|
5
|
+
1..4
|
|
6
|
+
ok 1 - should be equal
|
|
7
|
+
ok 2 - should be equal
|
|
8
|
+
ok 3 - should be equal
|
|
9
|
+
ok 4 - should be equal
|
|
10
|
+
ok 1 - The default 404 handler logs the incoming request # time=16.056ms
|
|
11
|
+
|
|
12
|
+
# Subtest: should not rely on raw request to log errors
|
|
13
|
+
1..5
|
|
14
|
+
ok 1 - should be equal
|
|
15
|
+
ok 2 - should match pattern
|
|
16
|
+
ok 3 - should match pattern
|
|
17
|
+
ok 4 - should match pattern
|
|
18
|
+
ok 5 - should match pattern
|
|
19
|
+
ok 2 - should not rely on raw request to log errors # time=11.291ms
|
|
20
|
+
|
|
21
|
+
# Subtest: should log the error if no error handler is defined
|
|
22
|
+
1..5
|
|
23
|
+
ok 1 - should be equal
|
|
24
|
+
ok 2 - should match pattern
|
|
25
|
+
ok 3 - should match pattern
|
|
26
|
+
ok 4 - should match pattern
|
|
27
|
+
ok 5 - should match pattern
|
|
28
|
+
ok 3 - should log the error if no error handler is defined # time=4.047ms
|
|
29
|
+
|
|
30
|
+
# Subtest: should log as info if error status code >= 400 and < 500 if no error handler is defined
|
|
31
|
+
1..5
|
|
32
|
+
ok 1 - should be equal
|
|
33
|
+
ok 2 - should match pattern
|
|
34
|
+
ok 3 - should match pattern
|
|
35
|
+
ok 4 - should match pattern
|
|
36
|
+
ok 5 - should match pattern
|
|
37
|
+
ok 4 - should log as info if error status code >= 400 and < 500 if no error handler is defined # time=3.415ms
|
|
38
|
+
|
|
39
|
+
# Subtest: should log as error if error status code >= 500 if no error handler is defined
|
|
40
|
+
1..5
|
|
41
|
+
ok 1 - should be equal
|
|
42
|
+
ok 2 - should match pattern
|
|
43
|
+
ok 3 - should match pattern
|
|
44
|
+
ok 4 - should match pattern
|
|
45
|
+
ok 5 - should match pattern
|
|
46
|
+
ok 5 - should log as error if error status code >= 500 if no error handler is defined # time=3.215ms
|
|
47
|
+
|
|
48
|
+
# Subtest: should not log the error if error handler is defined and it does not error
|
|
49
|
+
1..5
|
|
50
|
+
ok 1 - should be equal
|
|
51
|
+
ok 2 - should be equal
|
|
52
|
+
ok 3 - should match pattern
|
|
53
|
+
ok 4 - should match pattern
|
|
54
|
+
ok 5 - should match pattern
|
|
55
|
+
ok 6 - should not log the error if error handler is defined and it does not error # time=3.102ms
|
|
56
|
+
|
|
57
|
+
# Subtest: reply.send logs an error if called twice in a row
|
|
58
|
+
1..5
|
|
59
|
+
ok 1 - should be equivalent
|
|
60
|
+
ok 2 - should be equivalent
|
|
61
|
+
ok 3 - should be equivalent
|
|
62
|
+
ok 4 - should be equivalent
|
|
63
|
+
ok 5 - should be equivalent
|
|
64
|
+
ok 7 - reply.send logs an error if called twice in a row # time=2.865ms
|
|
65
|
+
|
|
66
|
+
# Subtest: should not log incoming request and outgoing response when disabled
|
|
67
|
+
1..1
|
|
68
|
+
ok 1 - should be equal
|
|
69
|
+
ok 8 - should not log incoming request and outgoing response when disabled # time=1.807ms
|
|
70
|
+
|
|
71
|
+
# Subtest: should not log incoming request, outgoing response and route not found for 404 onBadUrl when disabled
|
|
72
|
+
1..1
|
|
73
|
+
ok 1 - should be equal
|
|
74
|
+
ok 9 - should not log incoming request, outgoing response and route not found for 404 onBadUrl when disabled # time=1.517ms
|
|
75
|
+
|
|
76
|
+
# Subtest: defaults to info level
|
|
77
|
+
1..5
|
|
78
|
+
ok 1 - should be equal
|
|
79
|
+
ok 2 - should be equal
|
|
80
|
+
ok 3 - should match pattern
|
|
81
|
+
ok 4 - should be equal
|
|
82
|
+
ok 5 - should match pattern
|
|
83
|
+
ok 10 - defaults to info level # time=6.251ms
|
|
84
|
+
|
|
85
|
+
# Subtest: test log stream
|
|
86
|
+
1..6
|
|
87
|
+
ok 1 - should be equal
|
|
88
|
+
ok 2 - should match pattern
|
|
89
|
+
ok 3 - should be equal
|
|
90
|
+
ok 4 - should match pattern
|
|
91
|
+
ok 5 - should be equal
|
|
92
|
+
ok 6 - should match pattern
|
|
93
|
+
ok 11 - test log stream # time=3.094ms
|
|
94
|
+
|
|
95
|
+
# Subtest: test error log stream
|
|
96
|
+
1..8
|
|
97
|
+
ok 1 - should be equal
|
|
98
|
+
ok 2 - should match pattern
|
|
99
|
+
ok 3 - should be equal
|
|
100
|
+
ok 4 - should match pattern
|
|
101
|
+
ok 5 - should be equal
|
|
102
|
+
ok 6 - should match pattern
|
|
103
|
+
ok 7 - should be equal
|
|
104
|
+
ok 8 - should match pattern
|
|
105
|
+
ok 12 - test error log stream # time=3.476ms
|
|
106
|
+
|
|
107
|
+
# Subtest: should not log the error if request logging is disabled
|
|
108
|
+
1..4
|
|
109
|
+
ok 1 - should be equal
|
|
110
|
+
ok 2 - type is string
|
|
111
|
+
ok 3 - message is set
|
|
112
|
+
ok 4 - should be equal
|
|
113
|
+
ok 13 - should not log the error if request logging is disabled # time=5.169ms
|
|
114
|
+
|
|
115
|
+
ok 1 - logging # time=81.922ms
|
|
116
|
+
|
|
117
|
+
1..1
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
TAP version 14
|
|
2
|
+
# Subtest: logger options
|
|
3
|
+
1..16
|
|
4
|
+
# Subtest: logger can be silenced
|
|
5
|
+
1..17
|
|
6
|
+
ok 1 - should be equal
|
|
7
|
+
ok 2 - should be equal
|
|
8
|
+
ok 3 - should be equal
|
|
9
|
+
ok 4 - should be equal
|
|
10
|
+
ok 5 - should be equal
|
|
11
|
+
ok 6 - should be equal
|
|
12
|
+
ok 7 - should be equal
|
|
13
|
+
ok 8 - should be equal
|
|
14
|
+
ok 9 - should be equal
|
|
15
|
+
ok 10 - should be equal
|
|
16
|
+
ok 11 - should be equal
|
|
17
|
+
ok 12 - should be equal
|
|
18
|
+
ok 13 - should be equal
|
|
19
|
+
ok 14 - should be equal
|
|
20
|
+
ok 15 - should be equal
|
|
21
|
+
ok 16 - should be equal
|
|
22
|
+
ok 17 - should be equal
|
|
23
|
+
ok 1 - logger can be silenced # time=11.732ms
|
|
24
|
+
|
|
25
|
+
# Subtest: Should set a custom logLevel for a plugin
|
|
26
|
+
1..5
|
|
27
|
+
ok 1 - should be equivalent
|
|
28
|
+
ok 2 - should be equivalent
|
|
29
|
+
ok 3 - should be equivalent
|
|
30
|
+
ok 4 - should be equivalent
|
|
31
|
+
ok 5 - should be equivalent
|
|
32
|
+
ok 2 - Should set a custom logLevel for a plugin # time=15.104ms
|
|
33
|
+
|
|
34
|
+
# Subtest: Should set a custom logSerializers for a plugin
|
|
35
|
+
1..4
|
|
36
|
+
ok 1 - should be equivalent
|
|
37
|
+
ok 2 - should be equal
|
|
38
|
+
ok 3 - should be equal
|
|
39
|
+
ok 4 - should be equal
|
|
40
|
+
ok 3 - Should set a custom logSerializers for a plugin # time=2.549ms
|
|
41
|
+
|
|
42
|
+
# Subtest: Should set a custom logLevel for every plugin
|
|
43
|
+
1..15
|
|
44
|
+
ok 1 - should be equivalent
|
|
45
|
+
ok 2 - should be equivalent
|
|
46
|
+
ok 3 - should be equivalent
|
|
47
|
+
ok 4 - should be equal
|
|
48
|
+
ok 5 - should be equal
|
|
49
|
+
ok 6 - should be equal
|
|
50
|
+
ok 7 - should be equal
|
|
51
|
+
ok 8 - should be equal
|
|
52
|
+
ok 9 - should be equal
|
|
53
|
+
ok 10 - should be equal
|
|
54
|
+
ok 11 - should be equal
|
|
55
|
+
ok 12 - should be equal
|
|
56
|
+
ok 13 - should be equal
|
|
57
|
+
ok 14 - should be equal
|
|
58
|
+
ok 15 - should be equal
|
|
59
|
+
ok 4 - Should set a custom logLevel for every plugin # time=4.356ms
|
|
60
|
+
|
|
61
|
+
# Subtest: Should set a custom logSerializers for every plugin
|
|
62
|
+
1..12
|
|
63
|
+
ok 1 - should be equivalent
|
|
64
|
+
ok 2 - should be equivalent
|
|
65
|
+
ok 3 - should be equivalent
|
|
66
|
+
ok 4 - should be equal
|
|
67
|
+
ok 5 - should be equal
|
|
68
|
+
ok 6 - should be equal
|
|
69
|
+
ok 7 - should be equal
|
|
70
|
+
ok 8 - should be equal
|
|
71
|
+
ok 9 - should be equal
|
|
72
|
+
ok 10 - should be equal
|
|
73
|
+
ok 11 - should be equal
|
|
74
|
+
ok 12 - should be equal
|
|
75
|
+
ok 5 - Should set a custom logSerializers for every plugin # time=4.172ms
|
|
76
|
+
|
|
77
|
+
# Subtest: Should override serializers from route
|
|
78
|
+
1..4
|
|
79
|
+
ok 1 - should be equivalent
|
|
80
|
+
ok 2 - should be equal
|
|
81
|
+
ok 3 - should be equal
|
|
82
|
+
ok 4 - should be equal
|
|
83
|
+
ok 6 - Should override serializers from route # time=2.845ms
|
|
84
|
+
|
|
85
|
+
# Subtest: Should override serializers from plugin
|
|
86
|
+
1..4
|
|
87
|
+
ok 1 - should be equivalent
|
|
88
|
+
ok 2 - should be equal
|
|
89
|
+
ok 3 - should be equal
|
|
90
|
+
ok 4 - should be equal
|
|
91
|
+
ok 7 - Should override serializers from plugin # time=2.966ms
|
|
92
|
+
|
|
93
|
+
# Subtest: Should increase the log level for a specific plugin
|
|
94
|
+
1..3
|
|
95
|
+
ok 1 - should be equivalent
|
|
96
|
+
ok 2 - should be equal
|
|
97
|
+
ok 3 - should be equal
|
|
98
|
+
ok 8 - Should increase the log level for a specific plugin # time=2.071ms
|
|
99
|
+
|
|
100
|
+
# Subtest: Should set the log level for the customized 404 handler
|
|
101
|
+
1..3
|
|
102
|
+
ok 1 - should be equal
|
|
103
|
+
ok 2 - should be equal
|
|
104
|
+
ok 3 - should be equal
|
|
105
|
+
ok 9 - Should set the log level for the customized 404 handler # time=2.073ms
|
|
106
|
+
|
|
107
|
+
# Subtest: Should set the log level for the customized 500 handler
|
|
108
|
+
1..3
|
|
109
|
+
ok 1 - should be equal
|
|
110
|
+
ok 2 - should be equal
|
|
111
|
+
ok 3 - should be equal
|
|
112
|
+
ok 10 - Should set the log level for the customized 500 handler # time=2.284ms
|
|
113
|
+
|
|
114
|
+
# Subtest: Should set a custom log level for a specific route
|
|
115
|
+
1..5
|
|
116
|
+
ok 1 - should be equivalent
|
|
117
|
+
ok 2 - should be equivalent
|
|
118
|
+
ok 3 - should be equal
|
|
119
|
+
ok 4 - should be equal
|
|
120
|
+
ok 5 - should be equal
|
|
121
|
+
ok 11 - Should set a custom log level for a specific route # time=2.339ms
|
|
122
|
+
|
|
123
|
+
# Subtest: should pass when using unWritable props in the logger option
|
|
124
|
+
1..8
|
|
125
|
+
ok 1 - should be equal
|
|
126
|
+
ok 2 - should be equal
|
|
127
|
+
ok 3 - should be equal
|
|
128
|
+
ok 4 - should be equal
|
|
129
|
+
ok 5 - should be equal
|
|
130
|
+
ok 6 - should be equal
|
|
131
|
+
ok 7 - should be equal
|
|
132
|
+
ok 8 - should be equal
|
|
133
|
+
ok 12 - should pass when using unWritable props in the logger option # time=3.981ms
|
|
134
|
+
|
|
135
|
+
# Subtest: Should throw an error if logger instance is passed to `logger`
|
|
136
|
+
1..2
|
|
137
|
+
ok 1 - should be equal
|
|
138
|
+
ok 2 - should be equal
|
|
139
|
+
ok 13 - Should throw an error if logger instance is passed to `logger` # time=0.957ms
|
|
140
|
+
|
|
141
|
+
# Subtest: Should throw an error if options are passed to `loggerInstance`
|
|
142
|
+
1..2
|
|
143
|
+
ok 1 - should be equal
|
|
144
|
+
ok 2 - should be equal
|
|
145
|
+
ok 14 - Should throw an error if options are passed to `loggerInstance` # time=0.315ms
|
|
146
|
+
|
|
147
|
+
# Subtest: If both `loggerInstance` and `logger` are provided, an error should be thrown
|
|
148
|
+
1..2
|
|
149
|
+
ok 1 - should be equal
|
|
150
|
+
ok 2 - should be equal
|
|
151
|
+
ok 15 - If both `loggerInstance` and `logger` are provided, an error should be thrown # time=0.368ms
|
|
152
|
+
|
|
153
|
+
# Subtest: `logger` should take pino configuration and create a pino logger
|
|
154
|
+
1..6
|
|
155
|
+
ok 1 - should be equal
|
|
156
|
+
ok 2 - should be equal
|
|
157
|
+
ok 3 - should be equal
|
|
158
|
+
ok 4 - should be equal
|
|
159
|
+
ok 5 - should be equal
|
|
160
|
+
ok 6 - should be equal
|
|
161
|
+
ok 16 - `logger` should take pino configuration and create a pino logger # time=2.445ms
|
|
162
|
+
|
|
163
|
+
ok 1 - logger options # time=67.53ms
|
|
164
|
+
|
|
165
|
+
1..1
|