diff --git a/libraries/redis-wrapper/index.coffee b/libraries/redis-wrapper/index.coffee index ba9a659a98..2dd8d23fe3 100644 --- a/libraries/redis-wrapper/index.coffee +++ b/libraries/redis-wrapper/index.coffee @@ -19,6 +19,7 @@ module.exports = RedisSharelatex = Redis = require("ioredis") standardOpts = _.clone(opts) delete standardOpts.cluster + delete standardOpts.key_schema client = new Redis.Cluster(opts.cluster, standardOpts) client.healthCheck = RedisSharelatex.clusterHealthCheckBuilder(client) RedisSharelatex._monkeyPatchIoredisExec(client) diff --git a/libraries/redis-wrapper/test.coffee b/libraries/redis-wrapper/test.coffee index e2bfa926b8..84e84f0894 100644 --- a/libraries/redis-wrapper/test.coffee +++ b/libraries/redis-wrapper/test.coffee @@ -73,12 +73,19 @@ describe "index", -> @settings = cluster: @cluster redisOptions: @extraOptions + key_schema: {foo: (x) -> "#{x}"} it "should pass the options correctly though with no options", -> client = @redis.createClient cluster: @cluster assert(client instanceof @ioredis.Cluster) client.config.should.deep.equal @cluster + it "should not pass the key_schema through to the driver", -> + client = @redis.createClient cluster: @cluster, key_schema: "foobar" + assert(client instanceof @ioredis.Cluster) + client.config.should.deep.equal @cluster + expect(client.options).to.deep.equal {retry_max_delay: 5000} + it "should pass the options correctly though with additional options", -> client = @redis.createClient @settings assert(client instanceof @ioredis.Cluster)