Skip to content

Commit

Permalink
Some MQTT tests are slow (10 seconds)
Browse files Browse the repository at this point in the history
Fixes #1660
  • Loading branch information
atrovato committed Dec 11, 2022
1 parent 900b125 commit 3758144
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 18 deletions.
4 changes: 4 additions & 0 deletions server/services/mqtt/lib/installContainer.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ async function installContainer(saveConfiguration = true) {
}

if (saveConfiguration) {
logger.info('MQTT saving configuration');

await this.saveConfiguration({
mqttUrl: 'mqtt://localhost',
mqttUsername: 'gladys',
Expand All @@ -70,6 +72,8 @@ async function installContainer(saveConfiguration = true) {
});
}

logger.info('MQTT installed');

return container;
}

Expand Down
20 changes: 13 additions & 7 deletions server/test/services/mqtt/lib/installContainer.test.js
Original file line number Diff line number Diff line change
@@ -1,27 +1,33 @@
const sinon = require('sinon');
const proxyquire = require('proxyquire').noCallThru();
const { expect } = require('chai');

const { assert, fake } = sinon;

const proxiquire = require('proxyquire').noCallThru();

const { MockedMqttClient } = require('../mocks.test');
const { EVENTS, WEBSOCKET_MESSAGE_TYPES } = require('../../../../utils/constants');
const { DEFAULT } = require('../../../../services/mqtt/lib/constants');

const execMock = { exec: fake.resolves('command well executed') };
const installContainer = proxiquire('../../../../services/mqtt/lib/installContainer', {
const installContainer = proxyquire('../../../../services/mqtt/lib/installContainer', {
'../../../utils/childProcess': execMock,
});
const MqttHandler = proxiquire('../../../../services/mqtt/lib', {
const saveConfiguration = proxyquire('../../../../services/mqtt/lib/saveConfiguration', {
util: {
// Fake promisify to revolve it directly
promisify: () => () => {},
},
});

const MqttHandler = proxyquire('../../../../services/mqtt/lib', {
'./installContainer': installContainer,
'./saveConfiguration': saveConfiguration,
});

const serviceId = 'faea9c35-759a-44d5-bcc9-2af1de37b8b4';

describe('mqttHandler.installContainer', function Describe() {
this.timeout(8000);
beforeEach(() => {
describe('mqttHandler.installContainer', () => {
afterEach(() => {
sinon.reset();
});

Expand Down
19 changes: 14 additions & 5 deletions server/test/services/mqtt/lib/saveConfiguration.test.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,27 @@
const sinon = require('sinon');
const proxyquire = require('proxyquire').noCallThru();
const { expect } = require('chai');

const { assert, fake } = sinon;
const { MockedMqttClient } = require('../mocks.test');
const { CONFIGURATION, DEFAULT } = require('../../../../services/mqtt/lib/constants');
const { NotFoundError } = require('../../../../utils/coreErrors');
const MqttHandler = require('../../../../services/mqtt/lib');

const serviceId = 'faea9c35-759a-44d5-bcc9-2af1de37b8b4';
const saveConfiguration = proxyquire('../../../../services/mqtt/lib/saveConfiguration', {
util: {
// Fake promisify to revolve it directly
promisify: () => () => {},
},
});

describe('mqttHandler.saveConfiguration', function Describe() {
this.timeout(15000);
const MqttHandler = proxyquire('../../../../services/mqtt/lib', {
'./saveConfiguration': saveConfiguration,
});

const serviceId = 'faea9c35-759a-44d5-bcc9-2af1de37b8b4';

beforeEach(() => {
describe('mqttHandler.saveConfiguration', () => {
afterEach(() => {
sinon.reset();
});

Expand Down
17 changes: 11 additions & 6 deletions server/test/services/mqtt/lib/updateContainer.test.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,22 @@
const sinon = require('sinon');
const proxyquire = require('proxyquire').noCallThru();

const { assert, fake } = sinon;

const proxiquire = require('proxyquire').noCallThru();

const { MockedMqttClient } = require('../mocks.test');
const { CONFIGURATION, DEFAULT } = require('../../../../services/mqtt/lib/constants');

const installContainerMock = { installContainer: fake.resolves({ id: 'id' }) };
const MqttHandler = proxiquire('../../../../services/mqtt/lib', {
const saveConfiguration = proxyquire('../../../../services/mqtt/lib/saveConfiguration', {
util: {
// Fake promisify to revolve it directly
promisify: () => () => {},
},
});

const MqttHandler = proxyquire('../../../../services/mqtt/lib', {
'./installContainer': installContainerMock,
'./saveConfiguration': saveConfiguration,
});

const gladys = {
Expand All @@ -24,9 +31,7 @@ const gladys = {
};
const serviceId = 'faea9c35-759a-44d5-bcc9-2af1de37b8b4';

describe('mqttHandler.updateContainer', function Describe() {
this.timeout(8000);

describe('mqttHandler.updateContainer', () => {
let mqttHandler;

beforeEach(() => {
Expand Down

0 comments on commit 3758144

Please sign in to comment.