From a3347a266f540a8243494c5d64adbf7e6a0f59cb Mon Sep 17 00:00:00 2001 From: Kam Lasater Date: Tue, 29 Nov 2022 21:08:05 -0500 Subject: [PATCH] fix: update exported entrypoint --- ...DynamoDBStore.js => CyclicSessionStore.js} | 8 ++-- src/constants.js | 9 +---- src/index.js | 4 +- ...ore.test.js => CyclicSessionStore.test.js} | 40 +++++++++---------- test/constants.test.js | 13 ------ 5 files changed, 26 insertions(+), 48 deletions(-) rename src/{DynamoDBStore.js => CyclicSessionStore.js} (97%) rename test/{DynamoDBStore.test.js => CyclicSessionStore.test.js} (93%) diff --git a/src/DynamoDBStore.js b/src/CyclicSessionStore.js similarity index 97% rename from src/DynamoDBStore.js rename to src/CyclicSessionStore.js index ed34ec1..b60f453 100644 --- a/src/DynamoDBStore.js +++ b/src/CyclicSessionStore.js @@ -6,7 +6,6 @@ const { PutCommand, GetCommand, DeleteCommand } = require("@aws-sdk/lib-dynamodb // @flow const { - DEFAULT_TABLE_NAME, DEFAULT_CALLBACK, DEFAULT_HASH_KEY, DEFAULT_HASH_PREFIX, @@ -26,9 +25,8 @@ class CyclicSessionStore extends Store { /** * Constructor. * @param {Object} options Store - * @param {Function} callback Optional callback for table creation. */ - constructor (options = {}, callback = DEFAULT_CALLBACK) { + constructor (options = {}) { super() debug('Initializing store', options) // debug('AWS sdk: ', AWS); @@ -104,10 +102,10 @@ class CyclicSessionStore extends Store { } } debug(`Saving session '${sid}'`, sess) - + this.documentClient.send(new PutCommand(params)).then(callback) } catch (err) { - + console.error('sadfsadfasdf') console.error(err) diff --git a/src/constants.js b/src/constants.js index a867af7..e0f5bef 100644 --- a/src/constants.js +++ b/src/constants.js @@ -1,26 +1,19 @@ // @flow // defaults -const DEFAULT_TABLE_NAME = 'sessions' const DEFAULT_HASH_KEY = 'pk' const DEFAULT_SORT_KEY = 'sk' const DEFAULT_TTL = 86400000 // 1 day const DEFAULT_TOUCH_INTERVAL = 30000 // 30 seconds const DEFAULT_KEEP_EXPIRED_POLICY = false -const DEFAULT_CALLBACK = (err) => { - if (err) { - throw err - } -} + // aws module.exports = { - DEFAULT_TABLE_NAME, DEFAULT_HASH_KEY, DEFAULT_SORT_KEY, DEFAULT_TTL, DEFAULT_TOUCH_INTERVAL, DEFAULT_KEEP_EXPIRED_POLICY, - DEFAULT_CALLBACK, } diff --git a/src/index.js b/src/index.js index c9591a0..9311af4 100644 --- a/src/index.js +++ b/src/index.js @@ -1,6 +1,6 @@ -const { DynamoDBStore } = require('./DynamoDBStore.js') +const { CyclicSessionStore } = require('./CyclicSessionStore.js') module.exports = { - DynamoDBStore + CyclicSessionStore } diff --git a/test/DynamoDBStore.test.js b/test/CyclicSessionStore.test.js similarity index 93% rename from test/DynamoDBStore.test.js rename to test/CyclicSessionStore.test.js index 7f3e8bb..8aac5e1 100644 --- a/test/DynamoDBStore.test.js +++ b/test/CyclicSessionStore.test.js @@ -1,6 +1,6 @@ // import AWS from 'aws-sdk'; // eslint-disable-line import { v4 as uuidv4 } from 'uuid'; -import DynamoDBStore from '../src/DynamoDBStore'; +import CyclicSessionStore from '../src/CyclicSessionStore'; import { toSecondsEpoch } from '../src/util'; import { DEFAULT_TABLE_NAME, DEFAULT_TTL } from '../src/constants'; @@ -46,7 +46,7 @@ const TEST_OPTIONS = { // return dynamoService.deleteTable(params).promise(); // }); -describe.skip('DynamoDBStore', () => { +describe.skip('CyclicSessionStore', () => { it('should create a store and a new table', () => new Promise((resolve, reject) => { const options = { @@ -57,7 +57,7 @@ describe.skip('DynamoDBStore', () => { }, dynamoConfig: TEST_OPTIONS.dynamoConfig, }; - const store = new DynamoDBStore(options, (err) => { + const store = new CyclicSessionStore(options, (err) => { try { expect(err).toBeUndefined(); resolve(); @@ -75,7 +75,7 @@ describe.skip('DynamoDBStore', () => { it('should create a store using an existing table', () => new Promise((resolve, reject) => { - const store = new DynamoDBStore(TEST_OPTIONS, (err) => { + const store = new CyclicSessionStore(TEST_OPTIONS, (err) => { if (err) reject(err); else resolve(); }); @@ -85,7 +85,7 @@ describe.skip('DynamoDBStore', () => { it('should create a store with default table values', () => new Promise((resolve, reject) => { const options = { dynamoConfig: TEST_OPTIONS.dynamoConfig }; - const store = new DynamoDBStore(options, (err) => { + const store = new CyclicSessionStore(options, (err) => { try { expect(err).toBeUndefined(); resolve(); @@ -103,7 +103,7 @@ describe.skip('DynamoDBStore', () => { it('should create session with default ttl', () => new Promise((resolve, reject) => { - const store = new DynamoDBStore( + const store = new CyclicSessionStore( { ...TEST_OPTIONS, ttl: undefined, @@ -156,7 +156,7 @@ describe.skip('DynamoDBStore', () => { it('should create session using the cookie maxAge', () => new Promise((resolve, reject) => { - const store = new DynamoDBStore(TEST_OPTIONS, (err) => { + const store = new CyclicSessionStore(TEST_OPTIONS, (err) => { if (err) reject(err); }); const sessionId = uuidv4(); @@ -212,7 +212,7 @@ describe.skip('DynamoDBStore', () => { it('should handle errors creating sessions', () => new Promise((resolve, reject) => { - const store = new DynamoDBStore(TEST_OPTIONS, (err) => { + const store = new CyclicSessionStore(TEST_OPTIONS, (err) => { if (err) reject(err); }); const sessionId = uuidv4(); @@ -228,7 +228,7 @@ describe.skip('DynamoDBStore', () => { it('should update a session', () => new Promise((resolve, reject) => { - const store = new DynamoDBStore(TEST_OPTIONS, (err) => { + const store = new CyclicSessionStore(TEST_OPTIONS, (err) => { if (err) reject(err); }); const sessionId = 'abcde'; @@ -258,7 +258,7 @@ describe.skip('DynamoDBStore', () => { it('should get an existing session', () => new Promise((resolve, reject) => { - const store = new DynamoDBStore(TEST_OPTIONS, (err) => { + const store = new CyclicSessionStore(TEST_OPTIONS, (err) => { if (err) reject(err); }); const sessionId = uuidv4(); @@ -284,7 +284,7 @@ describe.skip('DynamoDBStore', () => { it('should handle errors getting sessions', () => new Promise((resolve, reject) => { - const store = new DynamoDBStore(TEST_OPTIONS, (err) => { + const store = new CyclicSessionStore(TEST_OPTIONS, (err) => { if (err) reject(err); }); store.documentClient = null; @@ -300,7 +300,7 @@ describe.skip('DynamoDBStore', () => { it('should receive null for missing sessions', () => new Promise((resolve, reject) => { - const store = new DynamoDBStore(TEST_OPTIONS, (err) => { + const store = new CyclicSessionStore(TEST_OPTIONS, (err) => { if (err) reject(err); }); store.get(uuidv4(), (err, sess) => { @@ -318,7 +318,7 @@ describe.skip('DynamoDBStore', () => { it('should return null for expired sessions and keep the record', () => new Promise((resolve, reject) => { - const store = new DynamoDBStore( + const store = new CyclicSessionStore( { ...TEST_OPTIONS, keepExpired: true, @@ -365,7 +365,7 @@ describe.skip('DynamoDBStore', () => { it('should return null for expired sessions and destroy the record', () => new Promise((resolve, reject) => { - const store = new DynamoDBStore(TEST_OPTIONS, (err) => { + const store = new CyclicSessionStore(TEST_OPTIONS, (err) => { if (err) reject(err); }); const sessionId = uuidv4(); @@ -406,7 +406,7 @@ describe.skip('DynamoDBStore', () => { it('should destroy a session', () => new Promise((resolve, reject) => { - const store = new DynamoDBStore(TEST_OPTIONS, (err) => { + const store = new CyclicSessionStore(TEST_OPTIONS, (err) => { if (err) reject(err); }); const sessionId = uuidv4(); @@ -436,7 +436,7 @@ describe.skip('DynamoDBStore', () => { it('should handle errors destroying sessions', () => new Promise((resolve, reject) => { - const store = new DynamoDBStore(TEST_OPTIONS, (err) => { + const store = new CyclicSessionStore(TEST_OPTIONS, (err) => { if (err) reject(err); }); store.documentClient = null; @@ -452,7 +452,7 @@ describe.skip('DynamoDBStore', () => { it('should touch an existing session', () => new Promise((resolve, reject) => { - const store = new DynamoDBStore(TEST_OPTIONS, (err) => { + const store = new CyclicSessionStore(TEST_OPTIONS, (err) => { if (err) reject(err); }); const sessionId = uuidv4(); @@ -506,7 +506,7 @@ describe.skip('DynamoDBStore', () => { ...TEST_OPTIONS, touchInterval: 30000, }; - const store = new DynamoDBStore(options, (err) => { + const store = new CyclicSessionStore(options, (err) => { if (err) reject(err); }); const sessionId = uuidv4(); @@ -554,7 +554,7 @@ describe.skip('DynamoDBStore', () => { it('should handle errors touching sessions', () => new Promise((resolve, reject) => { - const store = new DynamoDBStore(TEST_OPTIONS, (err) => { + const store = new CyclicSessionStore(TEST_OPTIONS, (err) => { if (err) reject(err); }); store.touch(null, null, (err) => { @@ -570,7 +570,7 @@ describe.skip('DynamoDBStore', () => { it('should handle errors creating the session table', () => new Promise((resolve, reject) => { // eslint-disable-next-line - new DynamoDBStore( + new CyclicSessionStore( { ...TEST_OPTIONS, table: { diff --git a/test/constants.test.js b/test/constants.test.js index 00a66a1..1652aff 100644 --- a/test/constants.test.js +++ b/test/constants.test.js @@ -1,6 +1,4 @@ import { - DEFAULT_TABLE_NAME, - DEFAULT_CALLBACK, DEFAULT_HASH_KEY, DEFAULT_TTL, DEFAULT_TOUCH_INTERVAL, @@ -12,17 +10,6 @@ describe('constants', () => { expect(DEFAULT_TOUCH_INTERVAL).toBeDefined(); expect(DEFAULT_TTL).toBeDefined(); expect(DEFAULT_HASH_KEY).toBeDefined(); - expect(DEFAULT_CALLBACK).toBeDefined(); - expect(DEFAULT_TABLE_NAME).toBeDefined(); expect(DEFAULT_KEEP_EXPIRED_POLICY).toBeDefined(); }); - - it('default callback raises the appropriate error', () => - expect(() => { - DEFAULT_CALLBACK('AN ERROR'); - }).toThrow('AN ERROR')); - - it('default callback raises the appropriate error', () => { - DEFAULT_CALLBACK(null); - }); });