@@ -40,7 +40,7 @@ describe('delay Node', function() {
4040 } ) ;
4141
4242 it ( 'should be loaded' , function ( done ) {
43- var flow = [ { "id" :"delayNode1" , "type" :"delay" , "name" :"delayNode" , "pauseType" :"delay" , "timeout" :"5" , "timeoutUnits" :"seconds" , "rate" :"1" , "rateUnits" :"day" , "randomFirst" :"1" , "randomLast" :"5" , "randomUnits" :"seconds" , "drop" :false , "wires" :[ [ ] ] } ] ;
43+ var flow = [ { "id" :"delayNode1" , "type" :"delay" , "nbRateUnits" : "1" , "name" :"delayNode" , "pauseType" :"delay" , "timeout" :"5" , "timeoutUnits" :"seconds" , "rate" :"1" , "rateUnits" :"day" , "randomFirst" :"1" , "randomLast" :"5" , "randomUnits" :"seconds" , "drop" :false , "wires" :[ [ ] ] } ] ;
4444 helper . load ( delayNode , flow , function ( ) {
4545 var delayNode1 = helper . getNode ( "delayNode1" ) ;
4646 delayNode1 . should . have . property ( 'name' , 'delayNode' ) ;
@@ -50,7 +50,7 @@ describe('delay Node', function() {
5050 } ) ;
5151
5252 it ( 'should be able to set rate to hour' , function ( done ) {
53- var flow = [ { "id" :"delayNode1" , "type" :"delay" , "name" :"delayNode" , "pauseType" :"delay" , "timeout" :"5" , "timeoutUnits" :"seconds" , "rate" :"1" , "rateUnits" :"hour" , "randomFirst" :"1" , "randomLast" :"5" , "randomUnits" :"seconds" , "drop" :false , "wires" :[ [ ] ] } ] ;
53+ var flow = [ { "id" :"delayNode1" , "type" :"delay" , "nbRateUnits" : "1" , "name" :"delayNode" , "pauseType" :"delay" , "timeout" :"5" , "timeoutUnits" :"seconds" , "rate" :"1" , "rateUnits" :"hour" , "randomFirst" :"1" , "randomLast" :"5" , "randomUnits" :"seconds" , "drop" :false , "wires" :[ [ ] ] } ] ;
5454 helper . load ( delayNode , flow , function ( ) {
5555 var delayNode1 = helper . getNode ( "delayNode1" ) ;
5656 delayNode1 . should . have . property ( 'name' , 'delayNode' ) ;
@@ -60,7 +60,7 @@ describe('delay Node', function() {
6060 } ) ;
6161
6262 it ( 'should be able to set rate to minute' , function ( done ) {
63- var flow = [ { "id" :"delayNode1" , "type" :"delay" , "name" :"delayNode" , "pauseType" :"delay" , "timeout" :"5" , "timeoutUnits" :"seconds" , "rate" :"1" , "rateUnits" :"minute" , "randomFirst" :"1" , "randomLast" :"5" , "randomUnits" :"seconds" , "drop" :false , "wires" :[ [ ] ] } ] ;
63+ var flow = [ { "id" :"delayNode1" , "type" :"delay" , "nbRateUnits" : "1" , "name" :"delayNode" , "pauseType" :"delay" , "timeout" :"5" , "timeoutUnits" :"seconds" , "rate" :"1" , "rateUnits" :"minute" , "randomFirst" :"1" , "randomLast" :"5" , "randomUnits" :"seconds" , "drop" :false , "wires" :[ [ ] ] } ] ;
6464 helper . load ( delayNode , flow , function ( ) {
6565 var delayNode1 = helper . getNode ( "delayNode1" ) ;
6666 delayNode1 . should . have . property ( 'name' , 'delayNode' ) ;
@@ -173,10 +173,11 @@ describe('delay Node', function() {
173173 /**
174174 * Runs a rate limit test - only testing seconds!
175175 * @param aLimit - the message limit count
176+ * @param nbUnit - the multiple of the unit, aLimit Message for nbUnit Seconds
176177 * @param runtimeInMillis - when to terminate run and count messages received
177178 */
178- function genericRateLimitSECONDSTest ( aLimit , runtimeInMillis , done ) {
179- var flow = [ { "id" :"delayNode1" , "type" :"delay" , "name" :"delayNode" , "pauseType" :"rate" , "timeout" :5 , "timeoutUnits" :"seconds" , "rate" :aLimit , "rateUnits" :"second" , "randomFirst" :"1" , "randomLast" :"5" , "randomUnits" :"seconds" , "drop" :false , "wires" :[ [ "helperNode1" ] ] } ,
179+ function genericRateLimitSECONDSTest ( aLimit , nbUnit , runtimeInMillis , done ) {
180+ var flow = [ { "id" :"delayNode1" , "type" :"delay" , "nbRateUnits" : nbUnit , " name" :"delayNode" , "pauseType" :"rate" , "timeout" :5 , "timeoutUnits" :"seconds" , "rate" :aLimit , "rateUnits" :"second" , "randomFirst" :"1" , "randomLast" :"5" , "randomUnits" :"seconds" , "drop" :false , "wires" :[ [ "helperNode1" ] ] } ,
180181 { id :"helperNode1" , type :"helper" , wires :[ ] } ] ;
181182 helper . load ( delayNode , flow , function ( ) {
182183 var delayNode1 = helper . getNode ( "delayNode1" ) ;
@@ -223,21 +224,27 @@ describe('delay Node', function() {
223224 }
224225
225226 it ( 'limits the message rate to 1 per second' , function ( done ) {
226- genericRateLimitSECONDSTest ( 1 , 1500 , done ) ;
227+ genericRateLimitSECONDSTest ( 1 , 1 , 1500 , done ) ;
227228 } ) ;
228229
229- it ( 'limits the message rate to 2 per second, 2 seconds' , function ( done ) {
230+ it ( 'limits the message rate to 1 per 2 seconds' , function ( done ) {
230231 this . timeout ( 6000 ) ;
231- genericRateLimitSECONDSTest ( 2 , 2100 , done ) ;
232+ genericRateLimitSECONDSTest ( 1 , 2 , 3000 , done ) ;
233+ } ) ;
234+
235+ it ( 'limits the message rate to 2 per seconds, 2 seconds' , function ( done ) {
236+ this . timeout ( 6000 ) ;
237+ genericRateLimitSECONDSTest ( 2 , 1 , 2100 , done ) ;
232238 } ) ;
233239
234240 /**
235241 * Runs a rate limit test with drop support - only testing seconds!
236242 * @param aLimit - the message limit count
243+ * @param nbUnit - the multiple of the unit, aLimit Message for nbUnit Seconds
237244 * @param runtimeInMillis - when to terminate run and count messages received
238245 */
239- function dropRateLimitSECONDSTest ( aLimit , runtimeInMillis , done ) {
240- var flow = [ { "id" :"delayNode1" , "type" :"delay" , "name" :"delayNode" , "pauseType" :"rate" , "timeout" :5 , "timeoutUnits" :"seconds" , "rate" :aLimit , "rateUnits" :"second" , "randomFirst" :"1" , "randomLast" :"5" , "randomUnits" :"seconds" , "drop" :true , "wires" :[ [ "helperNode1" ] ] } ,
246+ function dropRateLimitSECONDSTest ( aLimit , nbUnit , runtimeInMillis , done ) {
247+ var flow = [ { "id" :"delayNode1" , "type" :"delay" , "name" :"delayNode" , "pauseType" :"rate" , "timeout" :5 , "nbRateUnits" : nbUnit , " timeoutUnits" :"seconds" , "rate" :aLimit , "rateUnits" :"second" , "randomFirst" :"1" , "randomLast" :"5" , "randomUnits" :"seconds" , "drop" :true , "wires" :[ [ "helperNode1" ] ] } ,
241248 { id :"helperNode1" , type :"helper" , wires :[ ] } ] ;
242249 helper . load ( delayNode , flow , function ( ) {
243250 var delayNode1 = helper . getNode ( "delayNode1" ) ;
@@ -298,12 +305,17 @@ describe('delay Node', function() {
298305
299306 it ( 'limits the message rate to 1 per second, 4 seconds, with drop' , function ( done ) {
300307 this . timeout ( 6000 ) ;
301- dropRateLimitSECONDSTest ( 1 , 4000 , done ) ;
308+ dropRateLimitSECONDSTest ( 1 , 1 , 4000 , done ) ;
309+ } ) ;
310+
311+ it ( 'limits the message rate to 1 per 2 seconds, 4 seconds, with drop' , function ( done ) {
312+ this . timeout ( 6000 ) ;
313+ dropRateLimitSECONDSTest ( 1 , 2 , 4500 , done ) ;
302314 } ) ;
303315
304316 it ( 'limits the message rate to 2 per second, 5 seconds, with drop' , function ( done ) {
305317 this . timeout ( 6000 ) ;
306- dropRateLimitSECONDSTest ( 2 , 5000 , done ) ;
318+ dropRateLimitSECONDSTest ( 2 , 1 , 5000 , done ) ;
307319 } ) ;
308320
309321 /**
@@ -436,7 +448,7 @@ describe('delay Node', function() {
436448
437449 it ( 'handles delay queue' , function ( done ) {
438450 this . timeout ( 2000 ) ;
439- var flow = [ { id :"delayNode1" , type :"delay" , "name" :"delayNode" , "pauseType" :"queue" , "timeout" :1 , "timeoutUnits" :"seconds" , "rate" :4 , "rateUnits" :"second" , "randomFirst" :"1" , "randomLast" :"5" , "randomUnits" :"seconds" , "drop" :false , "wires" :[ [ "helperNode1" ] ] } ,
451+ var flow = [ { id :"delayNode1" , type :"delay" , "name" :"delayNode" , "nbRateUnits" : "1" , " pauseType" :"queue" , "timeout" :1 , "timeoutUnits" :"seconds" , "rate" :4 , "rateUnits" :"second" , "randomFirst" :"1" , "randomLast" :"5" , "randomUnits" :"seconds" , "drop" :false , "wires" :[ [ "helperNode1" ] ] } ,
440452 { id :"helperNode1" , type :"helper" , wires :[ ] } ] ;
441453 helper . load ( delayNode , flow , function ( ) {
442454 var delayNode1 = helper . getNode ( "delayNode1" ) ;
0 commit comments