it('adds the compression middleware when enabled from gasket config', async () => { gasket.config.express = { compression: true }; await plugin.hooks.createServers(gasket, {}); const compressionUsage = findCall( app.use, mw => mw === compressionMiddleware); assume(compressionUsage).to.not.be.null(); });
it('adds the errorMiddleware', async () => { const errorMiddlewares = [sinon.spy()]; gasket.exec.withArgs('errorMiddleware').resolves(errorMiddlewares); await plugin.hooks.createServers(gasket, {}); const errorMiddleware = findCall( app.use, (mw) => mw === errorMiddlewares[0]); assume(errorMiddleware).to.not.be.null(); });
it('adds the cookie-parser middleware before plugin middleware', async () => { await plugin.hooks.createServers(gasket, {}); const cookieParserUsage = findCall( app.use, (mw) => mw === cookieParserMiddleware); assume(cookieParserUsage).to.not.be.null(); const withEvent = event => calledEvent => calledEvent === event; const middlewareInjection = findCall(gasket.exec, withEvent('middleware')); const routeInjection = findCall(gasket.exec, withEvent('express')); // callId can be used to determine relative call ordering assume(cookieParserUsage.callId).to.be.lessThan(middlewareInjection.callId); assume(cookieParserUsage.callId).to.be.lessThan(routeInjection.callId); });
it('does not add the compression middleware when disabled from gasket config', async () => { gasket.config.fastify = { compression: false }; await plugin.hooks.createServers(gasket, {}); const compressionUsage = findCall( app.use, mw => mw === compressionMiddleware); assume(compressionUsage).to.be.null(); });
it('adds the cookie-parser middleware with a excluded path', async () => { gasket.config.fastify = { excludedRoutesRegex: /^(?!\/_next\/)/ }; await plugin.hooks.createServers(gasket, {}); const cookieParserUsage = findCall( app.use, (path, mw) => mw === cookieParserMiddleware); assume(cookieParserUsage).to.not.be.null(); });
it('does not add the compression middleware when disabled from gasket config', async () => { gasket.config.fastify = { compression: false }; await plugin.hooks.createServers(gasket, {}); const compressionUsage = findCall( app.use, mw => mw === compressionMiddleware); assume(compressionUsage).to.be.null(); });
it('adds the cookie-parser middleware with a excluded path', async () => { gasket.config.express = { excludedRoutesRegex: /^(?!\/_next\/)/ }; await plugin.hooks.createServers(gasket, {}); const cookieParserUsage = findCall( app.use, (path, mw) => mw === cookieParserMiddleware); assume(cookieParserUsage).to.not.be.null(); });
it('does not add the compression middleware when disabled from gasket config', async () => { gasket.config.express = { compression: false }; await plugin.hooks.createServers(gasket, {}); const compressionUsage = findCall( app.use, mw => mw === compressionMiddleware); assume(compressionUsage).to.be.null(); });
it('adds the cookie-parser middleware with a excluded path', async () => { gasket.config.express = { excludedRoutesRegex: /^(?!\/_next\/)/ }; await plugin.hooks.createServers(gasket, {}); const cookieParserUsage = findCall( app.use, (path, mw) => mw === cookieParserMiddleware); assume(cookieParserUsage).to.not.be.null(); });
it('does not add the compression middleware when disabled from gasket config', async () => { gasket.config.express = { compression: false }; await plugin.hooks.createServers(gasket, {}); const compressionUsage = findCall( app.use, mw => mw === compressionMiddleware); assume(compressionUsage).to.be.null(); });
it('adds the errorMiddleware', async () => { const errorMiddlewares = [sinon.spy()]; gasket.exec.withArgs('errorMiddleware').resolves(errorMiddlewares); await plugin.hooks.createServers(gasket, {}); const errorMiddleware = findCall( app.use, (mw) => mw === errorMiddlewares[0]); assume(errorMiddleware).to.not.be.null(); });
it('adds the compression middleware when enabled from gasket config', async () => { gasket.config.fastify = { compression: true }; await plugin.hooks.createServers(gasket, {}); const compressionUsage = findCall( app.use, mw => mw === compressionMiddleware); assume(compressionUsage).to.not.be.null(); });