All files / redis-smq-monitor/tests/common message-manager.ts

87.5% Statements 14/16
75% Branches 3/4
66.66% Functions 2/3
87.5% Lines 14/16

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33  57x 57x 57x   57x   57x   57x 2x 2x   2x     57x                   57x 57x 2x 2x      
import { IConfig } from 'redis-smq/dist/types';
import { config } from './config';
import { promisifyAll } from 'bluebird';
import { MessageManager } from 'redis-smq';
 
const MessageManagerAsync = promisifyAll(MessageManager);
 
let messageManager: MessageManager | null = null;
 
export async function getMessageManager(cfg: IConfig = config) {
  if (!messageManager) {
    messageManager = await MessageManagerAsync.createInstanceAsync(cfg);
  }
  return messageManager;
}
 
export async function getMessageManagerAsync(cfg: IConfig = config) {
  const messageManager = await getMessageManager(cfg);
  return {
    deadLetteredMessages: promisifyAll(messageManager.deadLetteredMessages),
    acknowledgedMessages: promisifyAll(messageManager.acknowledgedMessages),
    pendingMessages: promisifyAll(messageManager.pendingMessages),
    scheduledMessages: promisifyAll(messageManager.scheduledMessages),
  };
}
 
export async function shutdownMessageManager() {
  if (messageManager) {
    await promisifyAll(messageManager).quitAsync();
    messageManager = null;
  }
}