Browse Source

Fix: tests pass

Signed-off-by: Jytesh <44925963+Jytesh@users.noreply.github.com>
master
Jytesh 3 years ago
parent
commit
3109f780cc
  1. 2
      packages/keyv-mongo/src/index.js
  2. 5
      packages/keyv-redis/src/index.js
  3. 10
      packages/keyv-test-suite/src/namespace.js
  4. 7
      packages/keyv/src/index.js

2
packages/keyv-mongo/src/index.js

@ -96,7 +96,7 @@ class KeyvMongo extends EventEmitter {
clear() {
return this.connect
.then(store => store.deleteMany({ key: new RegExp(`^${this.namespace ? this.namespace + ':' : '.*'}`) })
.then(store => store.deleteMany({ key: new RegExp(`^${this.namespace + ':'}`) })
.then(() => undefined));
}

5
packages/keyv-redis/src/index.js

@ -43,11 +43,6 @@ class KeyvRedis extends EventEmitter {
}
async clear() {
if (!this.namespace) {
await this.redis.flushall();
return undefined;
}
const stream = this.redis.scanStream({ match: `${this.namespace}:*` });
const keys = [];

10
packages/keyv-test-suite/src/namespace.js

@ -39,7 +39,7 @@ const keyvNamepsaceTests = (test, Keyv, store) => {
t.is(await keyv2.get('bar'), 'keyv2');
});
test.serial('no namespaced clear clears all stores', async t => {
test.serial('no namespaced clear doesn\'t clears all stores', async t => {
const keyv1 = new Keyv({ store: store(), namespace: false });
const keyv2 = new Keyv({ store: store(), namespace: 'keyv2' });
await keyv1.set('foo', 'keyv1');
@ -47,10 +47,10 @@ const keyvNamepsaceTests = (test, Keyv, store) => {
await keyv2.set('foo', 'keyv2');
await keyv2.set('bar', 'keyv2');
await keyv1.clear();
t.is(await keyv1.get('foo'), undefined);
t.is(await keyv1.get('bar'), undefined);
t.is(await keyv2.get('foo'), undefined);
t.is(await keyv2.get('bar'), undefined);
t.is(await keyv1.get('foo'), 'keyv1');
t.is(await keyv1.get('bar'), 'keyv1');
t.is(await keyv2.get('foo'), 'keyv2');
t.is(await keyv2.get('bar'), 'keyv2');
});
test.after.always(async () => {

7
packages/keyv/src/index.js

@ -16,12 +16,13 @@ class Keyv extends EventEmitter {
);
this.store = this.options.store;
this.store.namespace = this.options.namespace;
if (!this.store) {
this.store = new Map();
}
this.store.namespace = this.options.namespace;
if (typeof this.store.on === 'function') {
this.store.on('error', error => this.emit('error', error));
}
@ -111,6 +112,10 @@ class Keyv extends EventEmitter {
}
clear() {
if (!this.options.namespace) {
return Promise.resolve().then(() => undefined);
}
const store = this.store;
return Promise.resolve()
.then(() => store.clear());

Loading…
Cancel
Save