mirror of
https://github.com/SunRed/haste-server.git
synced 2024-11-27 11:20:18 +01:00
Added some tests for redis document store
This commit is contained in:
parent
68c4fc2534
commit
844e664cb5
2 changed files with 78 additions and 5 deletions
5
TODO.md
5
TODO.md
|
@ -1,7 +1,2 @@
|
|||
# TODO for OSS
|
||||
* tests
|
||||
* Add file extensions ourselves to push state
|
||||
* add feedback for errors to UI - esp. too long
|
||||
|
||||
# shared version only
|
||||
* some way to do announcements easily (and use for ads)
|
||||
|
|
78
spec/redis_document_store_spec.js
Normal file
78
spec/redis_document_store_spec.js
Normal file
|
@ -0,0 +1,78 @@
|
|||
var RedisDocumentStore = require('../lib/redis_document_store');
|
||||
|
||||
describe('redis_document_store', function() {
|
||||
|
||||
describe('set', function() {
|
||||
|
||||
it('should be able to set a key and have an expiration set', function() {
|
||||
var store = new RedisDocumentStore({ expire: 10 });
|
||||
runs(function() {
|
||||
var _this = this;
|
||||
store.set('hello1', 'world', function(worked) {
|
||||
_this.result = worked;
|
||||
});
|
||||
});
|
||||
waitsFor(function() {
|
||||
return typeof(this.result) === 'boolean';
|
||||
});
|
||||
runs(function() {
|
||||
var _this = this;
|
||||
RedisDocumentStore.client.ttl('hello1', function(err, res) {
|
||||
expect(res).toBeGreaterThan(1);
|
||||
_this.done = true;
|
||||
});
|
||||
});
|
||||
waitsFor(function() {
|
||||
return this.done;
|
||||
});
|
||||
});
|
||||
|
||||
it('should not set an expiration when told not to', function() {
|
||||
var store = new RedisDocumentStore({ expire: 10 });
|
||||
runs(function() {
|
||||
var _this = this;
|
||||
store.set('hello2', 'world', function(worked) {
|
||||
_this.result = worked;
|
||||
}, true);
|
||||
});
|
||||
waitsFor(function() {
|
||||
return typeof(this.result) === 'boolean';
|
||||
});
|
||||
runs(function() {
|
||||
var _this = this;
|
||||
RedisDocumentStore.client.ttl('hello2', function(err, res) {
|
||||
expect(res).toBe(-1);
|
||||
_this.done = true;
|
||||
});
|
||||
});
|
||||
waitsFor(function() {
|
||||
return this.done;
|
||||
});
|
||||
});
|
||||
|
||||
it('should not set an expiration when expiration is off', function() {
|
||||
var store = new RedisDocumentStore({ expire: false });
|
||||
runs(function() {
|
||||
var _this = this;
|
||||
store.set('hello3', 'world', function(worked) {
|
||||
_this.result = worked;
|
||||
});
|
||||
});
|
||||
waitsFor(function() {
|
||||
return typeof(this.result) === 'boolean';
|
||||
});
|
||||
runs(function() {
|
||||
var _this = this;
|
||||
RedisDocumentStore.client.ttl('hello3', function(err, res) {
|
||||
expect(res).toBe(-1);
|
||||
_this.done = true;
|
||||
});
|
||||
});
|
||||
waitsFor(function() {
|
||||
return this.done;
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
});
|
Loading…
Reference in a new issue