diff --git a/spec/RedisCacheAdapter.spec.js b/spec/RedisCacheAdapter.spec.js index 3fd6f32dde..9b88e857c4 100644 --- a/spec/RedisCacheAdapter.spec.js +++ b/spec/RedisCacheAdapter.spec.js @@ -167,4 +167,18 @@ describe_only(() => { .then(() => expect(getQueueCount(cache)).toEqual(0)) .then(done); }); + + it('should start and connect cache adapter', async () => { + const server = await reconfigureServer({ + cacheAdapter: { + module: `${__dirname.replace('/spec', '')}/lib/Adapters/Cache/RedisCacheAdapter`, + options: { + url: 'redis://127.0.0.1:6379/1', + }, + }, + }); + const symbol = Object.getOwnPropertySymbols(server.config.cacheController); + const client = server.config.cacheController[symbol[0]].client; + expect(client.isOpen).toBeTrue(); + }); }); diff --git a/src/ParseServer.js b/src/ParseServer.js index 880c5f84aa..85a8acc4f7 100644 --- a/src/ParseServer.js +++ b/src/ParseServer.js @@ -94,10 +94,10 @@ class ParseServer { const { databaseController, hooksController, + cacheController, cloud, security, schema, - cacheAdapter, liveQueryController, } = this.config; try { @@ -112,8 +112,11 @@ class ParseServer { if (schema) { startupPromises.push(new DefinedSchemas(schema, this.config).execute()); } - if (cacheAdapter?.connect && typeof cacheAdapter.connect === 'function') { - startupPromises.push(cacheAdapter.connect()); + if ( + cacheController.adapter?.connect && + typeof cacheController.adapter.connect === 'function' + ) { + startupPromises.push(cacheController.adapter.connect()); } startupPromises.push(liveQueryController.connect()); await Promise.all(startupPromises); diff --git a/src/TestUtils.js b/src/TestUtils.js index 3d5133556d..6d4cfb0f14 100644 --- a/src/TestUtils.js +++ b/src/TestUtils.js @@ -13,7 +13,7 @@ export function destroyAllDataPermanently(fast) { Object.keys(AppCache.cache).map(appId => { const app = AppCache.get(appId); const deletePromises = []; - if (app.cacheAdapter) { + if (app.cacheAdapter && app.cacheAdapter.clear) { deletePromises.push(app.cacheAdapter.clear()); } if (app.databaseController) {