https://github.com/aliencreations/redistub
https://github.com/aliencreations/redistub
Last synced: 7 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/aliencreations/redistub
- Owner: AlienCreations
- License: mit
- Created: 2015-11-11T19:27:31.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2020-04-16T17:03:55.000Z (about 6 years ago)
- Last Synced: 2025-05-11T00:57:22.246Z (about 1 year ago)
- Language: JavaScript
- Size: 15.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# redistub
A Redis shell with no state, meant for testing controllers which check cache before using a model.
[](https://travis-ci.org/AlienCreations/redistub) [](https://coveralls.io/github/AlienCreations/redistub?branch=master) [](https://npmjs.org/package/redistub) [](https://david-dm.org/AlienCreations/redistub)
## Install
```
$ npm install redistub --save
```
Run the specs
```
$ npm test
```
## Supported Redis client API stubs
#### createClient
Creates a new stateless API.
```js
var redis = require('redistub'),
redisClient = redis.createClient();
// Now use redisClient as you intend to in production and write your tests to assume redis is offline.
```
#### createClient -> get
Normally used to get an item from the Redis store, this method will always
return `null` for both `err` and `val`
```js
var redis = require('redistub'),
redisClient = redis.createClient();
redisClient.get('someCacheKey', function(err, val) {
// err will always be null
// val will always be null
});
```
#### createClient -> mget
Normally used to get an array of items from the Redis store, this method will always
return `null` for both `err` and `val`
```js
var redis = require('redistub'),
redisClient = redis.createClient();
redisClient.mget(['someCacheKey', 'someOtherCacheKey'], function(err, val) {
// err will always be null
// val will always be null
});
```
#### createClient -> set
Normally used to set an item in the Redis store, this
method will always return `null` for `err` and `OK` for `res`
```js
var redis = require('redistub'),
redisClient = redis.createClient();
redisClient.set('someCacheKey', 'someVal', function(err, res) {
// err will always be null
// res will always be OK
});
```
#### createClient -> expire
Normally used to set an expiration ttl for an item in the Redis store, this
method will always return `null` for `err` and `1` for `affectedItems`
```js
var redis = require('redistub'),
redisClient = redis.createClient();
redisClient.expire('someCacheKey', 3600, function(err, affectedItems) {
// err will always be null
// affectedItems will always be 1
});
```
#### createClient -> del
Normally used to remove an item from the Redis store, this
method will always return `null` for `err` and `1` for `affectedItems`
```js
var redis = require('redistub'),
redisClient = redis.createClient();
redisClient.del('someCacheKey', 'someVal', function(err, affectedItems) {
// err will always be null
// affectedItems will always be 1
});
```