freedom-accounts-util
Version:
Utility helper for OAuth2.0 calls to Freedom! Accounts
74 lines (54 loc) • 2.65 kB
JavaScript
const config = require('../src/config');
const cache = require('../src/cache');
const chai = require('chai');
const chai_as_promised = require('chai-as-promised');
chai.should();
chai.use(chai_as_promised);
describe('cache', function () {
beforeEach(function () {
cache.clear_cache('client');
cache.clear_cache('server');
cache.set('client', 'client_key', 'cvalue', 100);
cache.set('server', 'server_key', 'svalue', 100);
});
it('should set and get cached value', function () {
cache.get('client', 'client_key').should.equal('cvalue');
cache.get('server', 'server_key').should.equal('svalue');
});
it('should get whole cache', function () {
const client_cache = cache.get_cache('client');
client_cache.should.have.property('client_key');
client_cache.client_key.should.have.property('value');
client_cache.client_key.value.should.equal('cvalue');
const server_cache = cache.get_cache('server');
server_cache.should.have.property('server_key');
server_cache.server_key.should.have.property('value');
server_cache.server_key.value.should.equal('svalue');
});
it('should forget cached value', function () {
cache.forget('client', 'client_key');
cache.get('client', 'client_key', 'cfallback').should.equal('cfallback');
cache.forget('server', 'server_key');
cache.get('server', 'server_key', 'sfallback').should.equal('sfallback');
});
it('should clear whole category cache', function () {
cache.clear_cache('client');
cache.get('client', 'client_key', 'cfallback').should.equal('cfallback');
cache.get('server', 'server_key', 'sfallback').should.equal('svalue');
cache.clear_cache('server');
cache.get('client', 'client_key', 'cfallback').should.equal('cfallback');
cache.get('server', 'server_key', 'sfallback').should.equal('sfallback');
});
it('should not cache when disabled', function () {
config.configure({disable_caching: true});
cache.set('client', 'client_key', 'cvalue', 100);
cache.set('server', 'server_key', 'svalue', 100);
cache.get('client', 'client_key', 'cfallback').should.equal('cfallback');
cache.get('server', 'server_key', 'sfallback').should.equal('sfallback');
config.configure({disable_caching: false});
});
it('should find key with specified value', function () {
cache.find_key('client', 'cvalue').should.equal('client_key');
cache.find_key('server', 'svalue').should.equal('server_key');
});
});