UNPKG

node-tenancy

Version:

Making multi-tenancy easier with Node.js & typescript

90 lines (70 loc) 2.06 kB
require('dotenv').config({ override: true, quiet: true }); const {config, queue} = require('../index'); test('Queue central connection', () => { config.setConfig({ 'connection': 'central', }); const mockFunction = jest.fn(queue.getConnectionUrl); mockFunction(); expect(mockFunction).toHaveReturned(); expect(mockFunction.mock.results[0].value).not.toBeNull(); }); test('Queue tenant connection', () => { config.setConfig({ 'connection': 'tenant', }); const mockFunction = jest.fn(queue.getConnectionUrl); mockFunction(); expect(mockFunction).toHaveReturned(); expect(mockFunction.mock.results[0].value).not.toBeNull(); }); describe('Rabbitmq connection', () => { config.setConfig({ 'connection': 'tenant', }); const channelQueue = 'test'; let connection; let channel; beforeAll(async () => { process.env.QUEUE_DRIVER = 'rabbitmq'; process.env.QUEUE_CONNECTION = process.env.RQUEUE_CONNECTION; process.env.QUEUE_TENANT_CONNECTION = process.env.RQUEUE_TENANT_CONNECTION; connection = await queue.connect(); channel = await connection.createChannel(); await channel.assertQueue(channelQueue, { durable: true }); }); afterAll(async () => { await channel.close(); await connection.close(); }); it('Rabbitmq connection callback', async () => { expect(connection).not.toBeNull(); expect(channel).not.toBeNull(); }); }); describe('Redis connection', () => { config.setConfig({ 'connection': 'tenant', }); let connection; beforeAll(async () => { process.env.QUEUE_DRIVER = 'redis'; process.env.QUEUE_CONNECTION = process.env.SQUEUE_CONNECTION; process.env.QUEUE_TENANT_CONNECTION = process.env.SQUEUE_TENANT_CONNECTION; connection = await queue.connect(); await connection.subscribe('test', (message) => { console.log(message); }); }); afterAll(async () => { await connection.quit(); }); it('Redis connection callback', async () => { expect(connection).not.toBeNull(); }); });