From d375dcb873bcf21e4e7ae5ee26c928238ecdf0e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bar=C4=B1=C5=9F=20Soner=20U=C5=9Fakl=C4=B1?= Date: Mon, 22 Nov 2021 21:10:12 -0500 Subject: [PATCH] test: submitUsage --- src/plugins/usage.js | 11 ++++++++--- test/plugins.js | 7 +++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/src/plugins/usage.js b/src/plugins/usage.js index b9a6757361..43a66f2b54 100644 --- a/src/plugins/usage.js +++ b/src/plugins/usage.js @@ -17,9 +17,10 @@ module.exports = function (Plugins) { }), null, true); }; - Plugins.submitUsageData = function () { + Plugins.submitUsageData = function (callback) { + callback = callback || function () {}; if (!meta.config.submitPluginUsage || !Plugins.loadedPlugins.length || global.env !== 'production') { - return; + return callback(); } const hash = crypto.createHash('sha256'); @@ -33,10 +34,14 @@ module.exports = function (Plugins) { timeout: 5000, }, (err, res, body) => { if (err) { - return winston.error(err.stack); + winston.error(err.stack); + return callback(err); } if (res.statusCode !== 200) { winston.error(`[plugins.submitUsageData] received ${res.statusCode} ${body}`); + callback(new Error(`[[error:nbbpm-${res.statusCode}]]`)); + } else { + callback(); } }); }; diff --git a/test/plugins.js b/test/plugins.js index 1b9864a920..c717deec30 100644 --- a/test/plugins.js +++ b/test/plugins.js @@ -210,6 +210,13 @@ describe('Plugins', () => { }); }); + it('should submit usage info', (done) => { + plugins.submitUsage((err) => { + assert.ifError(err); + done(); + }); + }); + describe('install/activate/uninstall', () => { let latest; const pluginName = 'nodebb-plugin-imgur';