'use strict'; var assert = require('assert'); var config = require('./lib/config'); var helper = require('./helper'); var redis = config.redis; describe('prefix key names', function () { helper.allTests(function (parser, ip, args) { describe('using ' + parser + ' and ' + ip, function () { var client = null; beforeEach(function (done) { client = redis.createClient({ parser: parser, prefix: 'test:prefix:' }); client.on('ready', function () { client.flushdb(function (err) { done(err); }); }); }); afterEach(function () { client.end(true); }); it('auto prefix set / get', function (done) { client.set('key', 'value', function (err, reply) { assert.strictEqual(reply, 'OK'); }); client.get('key', function (err, reply) { assert.strictEqual(reply, 'value'); }); client.getrange('key', 1, -1, function (err, reply) { assert.strictEqual(reply, 'alue'); assert.strictEqual(err, null); }); client.exists('key', function (err, res) { assert.strictEqual(res, 1); }); client.exists('test:prefix:key', function (err, res) { // The key will be prefixed itself assert.strictEqual(res, 0); }); client.mset('key2', 'value2', 'key3', 'value3'); client.keys('*', function (err, res) { assert.strictEqual(res.length, 3); assert(res.indexOf('test:prefix:key') !== -1); assert(res.indexOf('test:prefix:key2') !== -1); assert(res.indexOf('test:prefix:key3') !== -1); done(); }); }); it('auto prefix set / get with .batch', function (done) { var batch = client.batch(); batch.set('key', 'value', function (err, reply) { assert.strictEqual(reply, 'OK'); }); batch.get('key', function (err, reply) { assert.strictEqual(reply, 'value'); }); batch.getrange('key', 1, -1, function (err, reply) { assert.strictEqual(reply, 'alue'); assert.strictEqual(err, null); }); batch.exists('key', function (err, res) { assert.strictEqual(res, 1); }); batch.exists('test:prefix:key', function (err, res) { // The key will be prefixed itself assert.strictEqual(res, 0); }); batch.mset('key2', 'value2', 'key3', 'value3'); batch.keys('*', function (err, res) { assert.strictEqual(res.length, 3); assert(res.indexOf('test:prefix:key') !== -1); assert(res.indexOf('test:prefix:key2') !== -1); assert(res.indexOf('test:prefix:key3') !== -1); }); batch.exec(done); }); it('auto prefix set / get with .multi', function (done) { var multi = client.multi(); multi.set('key', 'value', function (err, reply) { assert.strictEqual(reply, 'OK'); }); multi.get('key', function (err, reply) { assert.strictEqual(reply, 'value'); }); multi.getrange('key', 1, -1, function (err, reply) { assert.strictEqual(reply, 'alue'); assert.strictEqual(err, null); }); multi.exists('key', function (err, res) { assert.strictEqual(res, 1); }); multi.exists('test:prefix:key', function (err, res) { // The key will be prefixed itself assert.strictEqual(res, 0); }); multi.mset('key2', 'value2', 'key3', 'value3'); multi.keys('*', function (err, res) { assert.strictEqual(res.length, 3); assert(res.indexOf('test:prefix:key') !== -1); assert(res.indexOf('test:prefix:key2') !== -1); assert(res.indexOf('test:prefix:key3') !== -1); }); multi.exec(done); }); }); }); });