Skip to content

Releases: stipsan/ioredis-mock

v6.2.0

28 Jan 12:11
1fdd8e5
Compare
Choose a tag to compare

6.2.0 (2022-01-28)

Features

Constructor shorthands now supported:

  • new Redis(6379, 'localhost', { keyPrefix: 'shared:' })
  • new Redis('//localhost:6379', { keyPrefix: 'shared:' })
  • new Redis('redis://localhost:6379', { keyPrefix: 'private:' })
  • new Redis(6379, { keyPrefix: 'shared:' })
  • new Redis(6379)
  • new Redis('redis://localhost:6379/')

v6.1.2

28 Jan 10:38
4907dab
Compare
Choose a tag to compare

6.1.2 (2022-01-28)

Bug Fixes

  • improve bgrewriteaof, bgsave, decrby, rpoplpush & time (#1126) (4907dab)

bgrewriteaof

  • returns 'Background append only file rewriting started' instead of 'OK'

bgsave

  • returns 'Background saving started' instead of 'OK'

decrby

  • throws "ERR wrong number of arguments for 'decrby' command" if the decrement argument is missing

rpoplpush

  • throws 'WRONGTYPE Operation against a key holding the wrong kind of value' if the source argument is invalid
  • returns null if the destination is invalid

time

  • returns strings instead of numbers

v6.1.1

28 Jan 06:33
45fc377
Compare
Choose a tag to compare

6.1.1 (2022-01-28)

Bug Fixes

  • flushall should mutate data, not fork it (#1125) (45fc377)

v6.1.0

28 Jan 00:55
b0e02e1
Compare
Choose a tag to compare

6.1.0 (2022-01-28)

Features

  • add browser build & deprecate jest build (#1123) (b0e02e1)

Browser usage (Experimental)

There's a browser build available. You can import it directly (import Redis from 'ioredis-mock/browser.js'), or use it on unpkg.com:

import Redis from 'https://unpkg.com/ioredis-mock';

const redis = new Redis();
redis.set('foo', 'bar');
console.log(await redis.get('foo'));

ioredis-mock/jest.js is deprecated

ioredis-mock is no longer doing a import { Command } from 'ioredis' internally, it's now doing a direct import import Command from 'ioredis/built/command' and thus the jest.js workaround is no longer needed:

-jest.mock('ioredis', () => require('ioredis-mock/jest'))
+jest.mock('ioredis', () => require('ioredis-mock'))

v6.0.0

25 Jan 00:21
a9adbd0
Compare
Choose a tag to compare

6.0.0 (2022-01-25)

BREAKING CHANGE

Before v6, each instance of ioredis-mock lived in isolation:

const Redis = require('ioredis-mock');
const redis1 = new Redis();
const redis2 = new Redis();
await redis1.set('foo', 'bar');
console.log(await redis1.get('foo'), await redis2.get('foo')); // 'bar', null

In v6 the internals were rewritten to behave more like real life redis, if the host and port is the same, the context is now shared:

const Redis = require('ioredis-mock');
const redis1 = new Redis();
const redis2 = new Redis();
const redis3 = new Redis({ port: 6380 }); // 6379 is the default port
await redis1.set('foo', 'bar');
console.log(
  await redis1.get('foo'), // 'bar'
  await redis2.get('foo'), // 'bar'
  await redis3.get('foo') // null
);

And since ioredis-mock now persist data between instances, you'll likely need to run flushall between testing suites:

const Redis = require('ioredis-mock');
afterEach((done) => {
  new Redis().flushall().then(() => done());
});

createConnectedClient is deprecated

Replace it with .duplicate() or use another new Redis instance.

v5.9.1

25 Jan 00:44
cb17f5a
Compare
Choose a tag to compare

This is a republish of v5.8.4 as v5.9.0 is a breaking release that's republished as v6.0.0

v5.9.0

22 Jan 04:22
3da06de
Compare
Choose a tag to compare

5.9.0 (2022-01-22)

This is a breaking release by accident

See v6.0.0 instead, which includes upgrade notes. Or stay on v5.9.1 or v5.8.4 until you're ready to migrate.

Features

  • pubsub: Add shared context among Redis instances (#1110) (3da06de), closes #773

v5.8.4

21 Jan 14:57
cb17f5a
Compare
Choose a tag to compare

5.8.4 (2022-01-21)

Bug Fixes

v5.8.3

21 Jan 06:50
f84897d
Compare
Choose a tag to compare

5.8.3 (2022-01-21)

Bug Fixes

  • Add duplicate function to support instance duplication for TypeScript mocks (#1109) (f84897d)

v5.8.2

21 Jan 06:38
b6805ed
Compare
Choose a tag to compare

5.8.2 (2022-01-21)

Bug Fixes