From e61c7d78566f68500fcc30159e3aee208faedffa Mon Sep 17 00:00:00 2001 From: Lucas Holmquist Date: Mon, 24 Apr 2017 10:33:07 -0400 Subject: [PATCH] adding in tests to test the emit with latency --- test/test.js | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/test/test.js b/test/test.js index 903a1b54..6da7eab4 100644 --- a/test/test.js +++ b/test/test.js @@ -668,6 +668,40 @@ test('rolling percentile enabled option set to false', (t) => { t.end(); }); +test('Circuit Breaker success event emits latency', (t) => { + t.plan(1); + const breaker = cb(passFail); + breaker.on('success', (result, latencyTime) => { + t.ok(latencyTime, 'second argument is the latency'); + t.end(); + }); + + breaker.fire(1); +}); + +test('Circuit Breaker timeout event emits latency', (t) => { + t.plan(1); + const breaker = cb(passFail); + breaker.on('failure', (result, latencyTime) => { + t.ok(latencyTime, 'second argument is the latency'); + t.end(); + }); + + breaker.fire(-1).catch(() => {}); +}); + +test('Circuit Breaker failure event emits latency', (t) => { + t.plan(1); + const breaker = cb(slowFunction, { timeout: 10 }); + + breaker.on('timeout', (result, latencyTime) => { + t.ok(latencyTime, 'second argument is the latency'); + t.end(); + }); + + breaker.fire(-1).catch(() => {}); +}); + /** * Returns a promise that resolves if the parameter * 'x' evaluates to >= 0. Otherwise the returned promise fails.