Files
DefinitelyTyped/redlock/redlock-tests.ts
2016-06-19 10:21:16 +09:00

50 lines
1.2 KiB
TypeScript

/// <reference path="./redlock.d.ts" />
import * as Redlock from 'redlock';
import * as Promise from 'bluebird';
import {RedisClient} from 'redis';
import Lock = Redlock.Lock;
namespace RedlockTest {
let redlock: Redlock;
let client: RedisClient;
let lock: Lock;
redlock = new Redlock([client]);
redlock = new Redlock([client], {
driftFactor: 0.1,
retryCount: 2,
retryDelay: 3
});
redlock.acquire('resource', 30).then((lock: Lock) => {});
redlock.acquire('resource', 30, (err: any, lock: Lock) => {});
redlock.lock('resource', 30).then((lock: Lock) => {});
redlock.lock('resource', 30, (err: any, lock: Lock) => {});
// There is currently no way to test the disposer as the bluebird typings does not
// expose the .using method.
// promise.using(redlock.disposer('resource', 30), (lock: Lock) => {});
redlock.release(lock);
redlock.release(lock, (err: any) => {});
redlock.unlock(lock);
redlock.unlock(lock, (err: any) => {});
redlock.extend(lock, 30).then((lock: Lock) => {});
redlock.extend(lock, 30, (err: any, lock: Lock) => {});
}
namespace LockTest {
let lock: Lock;
lock.unlock();
lock.unlock((err) => {});
lock.extend(30).then((lock: Lock) => {});
lock.extend(30, (err: any, lock: Lock) => {});
}