Skip to content

Commit b263285

Browse files
wrapCommandQueueClass fix super call (#5911)
Co-authored-by: John Huffsmith <johnhuffsmith@gmail.com>
1 parent c2c9f50 commit b263285

File tree

2 files changed

+31
-6
lines changed

2 files changed

+31
-6
lines changed

packages/datadog-instrumentations/src/redis.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ function wrapAddCommand (addCommand) {
3939

4040
function wrapCommandQueueClass (cls) {
4141
const ret = class RedisCommandQueue extends cls {
42-
constructor () {
43-
super(arguments)
42+
constructor (...args) {
43+
super(...args)
4444
if (createClientUrl) {
4545
try {
4646
const parsed = new URL(createClientUrl)

packages/datadog-plugin-redis/test/client.spec.js

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,43 @@
11
'use strict'
22

3+
const assert = require('assert')
4+
35
const agent = require('../../dd-trace/test/plugins/agent')
46
const { breakThen, unbreakThen } = require('../../dd-trace/test/plugins/helpers')
57
const { ERROR_MESSAGE, ERROR_TYPE } = require('../../dd-trace/src/constants')
68

79
const { expectedSchema, rawExpectedSchema } = require('./naming')
810

911
describe('Plugin', () => {
10-
let redis
11-
let client
12-
let tracer
13-
1412
describe('redis', () => {
1513
withVersions('redis', ['@node-redis/client', '@redis/client'], (version, moduleName) => {
14+
let redis
15+
let client
16+
let tracer
17+
describe('client basics', () => {
18+
beforeEach(async () => {
19+
tracer = require('../../dd-trace')
20+
redis = require(`../../../versions/${moduleName}@${version}`).get()
21+
})
22+
23+
it('should support queue options', async () => {
24+
tracer = require('../../dd-trace')
25+
redis = require(`../../../versions/${moduleName}@${version}`).get()
26+
const client = redis.createClient({ url: 'redis://127.0.0.1:6379', commandsQueueMaxLength: 1 })
27+
const connectPromise = client.connect()
28+
const passingPromise = client.get('foo')
29+
await assert.rejects(Promise.all([
30+
passingPromise,
31+
client.get('bar'),
32+
connectPromise,
33+
]), {
34+
message: /queue/
35+
})
36+
await passingPromise
37+
await client.quit()
38+
})
39+
})
40+
1641
describe('without configuration', () => {
1742
before(() => {
1843
return agent.load('redis')

0 commit comments

Comments
 (0)