Skip to content

closeClient does not work, but exists in the type #176

@starnayuta

Description

@starnayuta

Prerequisites

  • I have written a descriptive issue title
  • I have searched existing issues to ensure the bug has not already been reported

Fastify version

^4.0.0

Plugin version

^6.0.0

Node.js version

18.14.0

Operating system

macOS

Operating system version (i.e. 20.04, 11.3, 10)

13.3

Description

Since 6.0.0 closeClient does not work, but it continues to exist in index.d.ts.

#147

Steps to Reproduce

The test times out if the client is not manually closed, even if closeClient is enabled.

test('custom ioredis client that is already connected', (t) => { t.plan(9) const fastify = Fastify() const Redis = require('ioredis') const redis = new Redis({ host: 'localhost', port: 6379 }) // use the client now, so that it is connected and ready redis.set('key', 'value', (err) => { t.error(err) redis.get('key', (err, val) => { t.error(err) t.equal(val, 'value') fastify.register(fastifyRedis, { client: redis, lazyConnect: false, closeClient: true }) fastify.ready((err) => { t.error(err) t.equal(fastify.redis, redis) fastify.redis.set('key2', 'value2', (err) => { t.error(err) fastify.redis.get('key2', (err, val) => { t.error(err) t.equal(val, 'value2') fastify.close(function (err) { t.error(err) // fastify.redis.quit(function (err) { // t.error(err) // }) }) }) }) }) }) }) })

Expected Behavior

  1. fix closeClient to work
  2. remove the closeClient type definition ( = client must be closed manually).

I prefer 1.

Please tell me which solution to take, and I will send PR.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions