From bfb4d0cf6251bfa9e09858124445710f98ffac13 Mon Sep 17 00:00:00 2001 From: Luke Childs Date: Wed, 26 Jul 2017 15:28:56 +0100 Subject: [PATCH] Use new store instace for each test --- packages/keyv-test-suite/src/api.js | 32 +++++++++++------------ packages/keyv-test-suite/src/namespace.js | 20 +++++++------- packages/keyv-test-suite/src/values.js | 18 ++++++------- packages/keyv-test-suite/test/unit.js | 2 +- 4 files changed, 36 insertions(+), 36 deletions(-) diff --git a/packages/keyv-test-suite/src/api.js b/packages/keyv-test-suite/src/api.js index 7dca257..1887b07 100644 --- a/packages/keyv-test-suite/src/api.js +++ b/packages/keyv-test-suite/src/api.js @@ -2,28 +2,28 @@ import delay from 'delay'; const keyvApiTests = (test, Keyv, store) => { test.beforeEach(async () => { - const keyv = new Keyv({ store }); + const keyv = new Keyv({ store: store() }); await keyv.clear(); }); test.serial('.set(key, value) returns a Promise', t => { - const keyv = new Keyv({ store }); + const keyv = new Keyv({ store: store() }); t.true(keyv.set('foo', 'bar') instanceof Promise); }); test.serial('.set(key, value) resolves to true', async t => { - const keyv = new Keyv({ store }); + const keyv = new Keyv({ store: store() }); t.is(await keyv.set('foo', 'bar'), true); }); test.serial('.set(key, value) sets a value', async t => { - const keyv = new Keyv({ store }); + const keyv = new Keyv({ store: store() }); await keyv.set('foo', 'bar'); t.is(await keyv.get('foo'), 'bar'); }); test.serial('.set(key, value, ttl) sets a value that expires', async t => { - const keyv = new Keyv({ store }); + const keyv = new Keyv({ store: store() }); await keyv.set('foo', 'bar', 100); t.is(await keyv.get('foo'), 'bar'); await delay(110); @@ -31,58 +31,58 @@ const keyvApiTests = (test, Keyv, store) => { }); test.serial('.get(key) returns a Promise', t => { - const keyv = new Keyv({ store }); + const keyv = new Keyv({ store: store() }); t.true(keyv.get('foo') instanceof Promise); }); test.serial('.get(key) resolves to value', async t => { - const keyv = new Keyv({ store }); + const keyv = new Keyv({ store: store() }); await keyv.set('foo', 'bar'); t.is(await keyv.get('foo'), 'bar'); }); test.serial('.get(key) with nonexistent key resolves to undefined', async t => { - const keyv = new Keyv({ store }); + const keyv = new Keyv({ store: store() }); t.is(await keyv.get('foo'), undefined); }); test.serial('.delete(key) returns a Promise', t => { - const keyv = new Keyv({ store }); + const keyv = new Keyv({ store: store() }); t.true(keyv.delete('foo') instanceof Promise); }); test.serial('.delete(key) resolves to true', async t => { - const keyv = new Keyv({ store }); + const keyv = new Keyv({ store: store() }); await keyv.set('foo', 'bar'); t.is(await keyv.delete('foo'), true); }); test.serial('.delete(key) with nonexistent key resolves to false', async t => { - const keyv = new Keyv({ store }); + const keyv = new Keyv({ store: store() }); t.is(await keyv.delete('foo'), false); }); test.serial('.delete(key) deletes a key', async t => { - const keyv = new Keyv({ store }); + const keyv = new Keyv({ store: store() }); await keyv.set('foo', 'bar'); t.is(await keyv.delete('foo'), true); t.is(await keyv.get('foo'), undefined); }); test.serial('.clear() returns a Promise', t => { - const keyv = new Keyv({ store }); + const keyv = new Keyv({ store: store() }); t.true(keyv.clear() instanceof Promise); }); test.serial('.clear() resolves to undefiend', async t => { - const keyv = new Keyv({ store }); + const keyv = new Keyv({ store: store() }); t.is(await keyv.clear(), undefined); await keyv.set('foo', 'bar'); t.is(await keyv.clear(), undefined); }); test.serial('.clear() deletes all key/value pairs', async t => { - const keyv = new Keyv({ store }); + const keyv = new Keyv({ store: store() }); await keyv.set('foo', 'bar'); await keyv.set('fizz', 'buzz'); await keyv.clear(); @@ -91,7 +91,7 @@ const keyvApiTests = (test, Keyv, store) => { }); test.after.always(async () => { - const keyv = new Keyv({ store }); + const keyv = new Keyv({ store: store() }); await keyv.clear(); }); }; diff --git a/packages/keyv-test-suite/src/namespace.js b/packages/keyv-test-suite/src/namespace.js index 1f24b90..cc6fc22 100644 --- a/packages/keyv-test-suite/src/namespace.js +++ b/packages/keyv-test-suite/src/namespace.js @@ -1,14 +1,14 @@ const keyvNamepsaceTests = (test, Keyv, store) => { test.beforeEach(async () => { - const keyv1 = new Keyv({ store, namespace: 'keyv1' }); - const keyv2 = new Keyv({ store, namespace: 'keyv2' }); + const keyv1 = new Keyv({ store: store(), namespace: 'keyv1' }); + const keyv2 = new Keyv({ store: store(), namespace: 'keyv2' }); await keyv1.clear(); await keyv2.clear(); }); test.serial('namespaced set/get don\'t collide', async t => { - const keyv1 = new Keyv({ store, namespace: 'keyv1' }); - const keyv2 = new Keyv({ store, namespace: 'keyv2' }); + const keyv1 = new Keyv({ store: store(), namespace: 'keyv1' }); + const keyv2 = new Keyv({ store: store(), namespace: 'keyv2' }); await keyv1.set('foo', 'keyv1'); await keyv2.set('foo', 'keyv2'); t.is(await keyv1.get('foo'), 'keyv1'); @@ -16,8 +16,8 @@ const keyvNamepsaceTests = (test, Keyv, store) => { }); test.serial('namespaced delete only deletes from current namespace', async t => { - const keyv1 = new Keyv({ store, namespace: 'keyv1' }); - const keyv2 = new Keyv({ store, namespace: 'keyv2' }); + const keyv1 = new Keyv({ store: store(), namespace: 'keyv1' }); + const keyv2 = new Keyv({ store: store(), namespace: 'keyv2' }); await keyv1.set('foo', 'keyv1'); await keyv2.set('foo', 'keyv2'); t.is(await keyv1.delete('foo'), true); @@ -26,8 +26,8 @@ const keyvNamepsaceTests = (test, Keyv, store) => { }); test.serial('namespaced clear only clears current namespace', async t => { - const keyv1 = (store instanceof Map) ? new Keyv({ namespace: 'keyv1' }) : new Keyv({ store, namespace: 'keyv1' }); - const keyv2 = (store instanceof Map) ? new Keyv({ namespace: 'keyv2' }) : new Keyv({ store, namespace: 'keyv2' }); + const keyv1 = new Keyv({ store: store(), namespace: 'keyv1' }); + const keyv2 = new Keyv({ store: store(), namespace: 'keyv2' }); await keyv1.set('foo', 'keyv1'); await keyv1.set('bar', 'keyv1'); await keyv2.set('foo', 'keyv2'); @@ -40,8 +40,8 @@ const keyvNamepsaceTests = (test, Keyv, store) => { }); test.after.always(async () => { - const keyv1 = new Keyv({ store, namespace: 'keyv1' }); - const keyv2 = new Keyv({ store, namespace: 'keyv2' }); + const keyv1 = new Keyv({ store: store(), namespace: 'keyv1' }); + const keyv2 = new Keyv({ store: store(), namespace: 'keyv2' }); await keyv1.clear(); await keyv2.clear(); }); diff --git a/packages/keyv-test-suite/src/values.js b/packages/keyv-test-suite/src/values.js index 2ef3fa9..7b07d2a 100644 --- a/packages/keyv-test-suite/src/values.js +++ b/packages/keyv-test-suite/src/values.js @@ -1,56 +1,56 @@ const keyvValueTests = (test, Keyv, store) => { test.beforeEach(async () => { - const keyv = new Keyv({ store }); + const keyv = new Keyv({ store: store() }); await keyv.clear(); }); test.serial('value can be false', async t => { - const keyv = new Keyv({ store }); + const keyv = new Keyv({ store: store() }); await keyv.set('foo', false); t.is(await keyv.get('foo'), false); }); test.serial('value can be null', async t => { - const keyv = new Keyv({ store }); + const keyv = new Keyv({ store: store() }); await keyv.set('foo', null); t.is(await keyv.get('foo'), null); }); test.serial('value can be undefined', async t => { - const keyv = new Keyv({ store }); + const keyv = new Keyv({ store: store() }); await keyv.set('foo', undefined); t.is(await keyv.get('foo'), undefined); }); test.serial('value can be a number', async t => { - const keyv = new Keyv({ store }); + const keyv = new Keyv({ store: store() }); await keyv.set('foo', 0); t.is(await keyv.get('foo'), 0); }); test.serial('value can be an object', async t => { - const keyv = new Keyv({ store }); + const keyv = new Keyv({ store: store() }); const value = { fizz: 'buzz' }; await keyv.set('foo', value); t.deepEqual(await keyv.get('foo'), value); }); test.serial('value can be a buffer', async t => { - const keyv = new Keyv({ store }); + const keyv = new Keyv({ store: store() }); const buf = Buffer.from('bar'); await keyv.set('foo', buf); t.true(buf.equals(await keyv.get('foo'))); }); test.serial('value can be an object containing a buffer', async t => { - const keyv = new Keyv({ store }); + const keyv = new Keyv({ store: store() }); const value = { buff: Buffer.from('buzz') }; await keyv.set('foo', value); t.deepEqual(await keyv.get('foo'), value); }); test.after.always(async () => { - const keyv = new Keyv({ store }); + const keyv = new Keyv({ store: store() }); await keyv.clear(); }); }; diff --git a/packages/keyv-test-suite/test/unit.js b/packages/keyv-test-suite/test/unit.js index 2d0cb63..78302e3 100644 --- a/packages/keyv-test-suite/test/unit.js +++ b/packages/keyv-test-suite/test/unit.js @@ -4,5 +4,5 @@ import keyvTestSuite, { keyvOfficialTests } from 'get-root-module'; keyvOfficialTests(test, Keyv, 'redis://localhost', 'redis://foo'); -const store = new Map(); +const store = () => new Map(); keyvTestSuite(test, Keyv, store);