UNPKG

mqrpc

Version:

💫 Easy RPC over RabbitMQ

40 lines (39 loc) • 1.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const ava_1 = require("ava"); const amqp = require("amqplib"); const _config_1 = require("../_config"); const AmqpClient_1 = require("../../lib/AmqpClient"); ava_1.default.afterEach(async (t) => { if (t.context.client) await t.context.client.term(); }); ava_1.default('[unit] #init fails when given neither a connection nor a URL', async (t) => { const client = new AmqpClient_1.default({}); await t.throws(client.init()); }); ava_1.default('[unit] #init connects to RabbitMQ when given a URL', async (t) => { t.context.client = new AmqpClient_1.default({ amqpUrl: _config_1.AMQP_URL }); await t.context.client.init(); t.truthy(t.context.client.connection); t.true(t.context.client.ownConnection); }); ava_1.default('[unit] #init reuses a given connection', async (t) => { const connection = await amqp.connect(_config_1.AMQP_URL); t.context.client = new AmqpClient_1.default({ connection }); await t.context.client.init(); t.is(t.context.client.connection, connection); }); ava_1.default('[unit] #init reuses a given channel', async (t) => { const connection = await amqp.connect(_config_1.AMQP_URL); const channel = await connection.createChannel(); t.context.client = new AmqpClient_1.default({ channel }); await t.context.client.init(); t.is(t.context.client.channel, channel); }); ava_1.default('[unit] #init creates a channel', async (t) => { const connection = await amqp.connect(_config_1.AMQP_URL); t.context.client = new AmqpClient_1.default({ connection }); await t.context.client.init(); t.is(t.context.client.connection, connection); });