@@ -211,6 +211,170 @@ describe('<Logging>', function() {
211211 } )
212212 } )
213213
214+ it ( 'should try to send next time if it was failed' , async ( ) => {
215+ const req1 = prepareMockRequest ( ( ) => {
216+ throw new Error ( 'Test Error' )
217+ } )
218+
219+ const req2 = prepareMockRequest ( )
220+
221+ Backendless . Logging . setLogReportingPolicy ( 1 , 0.5 )
222+
223+ logger . debug ( 'debug message - 1' )
224+ logger . debug ( 'debug message - 2' )
225+
226+ await Utils . wait ( 1000 )
227+
228+ expect ( req1 ) . to . deep . include ( {
229+ method : 'PUT' ,
230+ path : `${ APP_PATH } /log` ,
231+ headers : { 'Content-Type' : 'application/json' } ,
232+ } )
233+
234+ expect ( req1 . body ) . to . deep . equal ( [
235+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 1' , timestamp : req1 . body [ 0 ] . timestamp } ,
236+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 2' , timestamp : req1 . body [ 1 ] . timestamp }
237+ ] )
238+
239+ logger . debug ( 'debug message - 3' )
240+
241+ await Utils . wait ( 1000 )
242+
243+ expect ( req2 . body ) . to . deep . equal ( [
244+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 1' , timestamp : req1 . body [ 0 ] . timestamp } ,
245+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 2' , timestamp : req1 . body [ 1 ] . timestamp } ,
246+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 3' , timestamp : req2 . body [ 2 ] . timestamp }
247+ ] )
248+ } )
249+
250+ it ( 'should keep messages if they were not sent #1' , async ( ) => {
251+ const req1 = prepareMockRequest ( ( ) => {
252+ throw new Error ( 'Test Error1' )
253+ } )
254+ const req2 = prepareMockRequest ( ( ) => {
255+ throw new Error ( 'Test Error2' )
256+ } )
257+ const req3 = prepareMockRequest ( )
258+
259+ Backendless . Logging . setLogReportingPolicy ( 2 , 0.5 )
260+ Backendless . Logging . setMessagesLimit ( 5 )
261+
262+ logger . debug ( 'debug message - 1' )
263+ logger . debug ( 'debug message - 2' )
264+
265+ await Utils . wait ( 1000 )
266+
267+ logger . debug ( 'debug message - 3' )
268+ logger . debug ( 'debug message - 4' )
269+
270+ await Utils . wait ( 1000 )
271+
272+ logger . debug ( 'debug message - 5' )
273+ logger . debug ( 'debug message - 6' )
274+
275+ await Utils . wait ( 1000 )
276+
277+ expect ( req1 . body ) . to . deep . equal ( [
278+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 1' , timestamp : req1 . body [ 0 ] . timestamp } ,
279+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 2' , timestamp : req1 . body [ 1 ] . timestamp } ,
280+ ] )
281+
282+ expect ( req2 . body ) . to . deep . equal ( [
283+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 1' , timestamp : req2 . body [ 0 ] . timestamp } ,
284+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 2' , timestamp : req2 . body [ 1 ] . timestamp } ,
285+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 3' , timestamp : req2 . body [ 2 ] . timestamp } ,
286+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 4' , timestamp : req2 . body [ 3 ] . timestamp } ,
287+ ] )
288+
289+ expect ( req3 . body ) . to . deep . equal ( [
290+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 2' , timestamp : req3 . body [ 0 ] . timestamp } ,
291+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 3' , timestamp : req3 . body [ 1 ] . timestamp } ,
292+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 4' , timestamp : req3 . body [ 2 ] . timestamp } ,
293+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 5' , timestamp : req3 . body [ 3 ] . timestamp } ,
294+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 6' , timestamp : req3 . body [ 4 ] . timestamp } ,
295+ ] )
296+ } )
297+
298+ it ( 'should keep messages if they were not sent #2' , async ( ) => {
299+ const req1 = prepareMockRequest ( ( ) => {
300+ throw new Error ( 'Test Error1' )
301+ } )
302+ const req2 = prepareMockRequest ( ( ) => {
303+ throw new Error ( 'Test Error2' )
304+ } )
305+ const req3 = prepareMockRequest ( )
306+
307+ Backendless . Logging . setLogReportingPolicy ( 2 , 0.5 )
308+ Backendless . Logging . setMessagesLimit ( 5 )
309+
310+ logger . debug ( 'debug message - 1' )
311+ logger . debug ( 'debug message - 2' )
312+ logger . debug ( 'debug message - 3' )
313+
314+ await Utils . wait ( 1000 )
315+
316+ logger . debug ( 'debug message - 4' )
317+ logger . debug ( 'debug message - 5' )
318+ logger . debug ( 'debug message - 6' )
319+
320+ await Utils . wait ( 1000 )
321+
322+ logger . debug ( 'debug message - 7' )
323+ logger . debug ( 'debug message - 8' )
324+
325+ await Utils . wait ( 1000 )
326+
327+ expect ( req1 . body ) . to . deep . equal ( [
328+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 1' , timestamp : req1 . body [ 0 ] . timestamp } ,
329+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 2' , timestamp : req1 . body [ 1 ] . timestamp } ,
330+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 3' , timestamp : req1 . body [ 2 ] . timestamp } ,
331+ ] )
332+
333+ expect ( req2 . body ) . to . deep . equal ( [
334+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 2' , timestamp : req2 . body [ 0 ] . timestamp } ,
335+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 3' , timestamp : req2 . body [ 1 ] . timestamp } ,
336+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 4' , timestamp : req2 . body [ 2 ] . timestamp } ,
337+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 5' , timestamp : req2 . body [ 3 ] . timestamp } ,
338+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 6' , timestamp : req2 . body [ 4 ] . timestamp } ,
339+ ] )
340+
341+ expect ( req3 . body ) . to . deep . equal ( [
342+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 4' , timestamp : req3 . body [ 0 ] . timestamp } ,
343+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 5' , timestamp : req3 . body [ 1 ] . timestamp } ,
344+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 6' , timestamp : req3 . body [ 2 ] . timestamp } ,
345+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 7' , timestamp : req3 . body [ 3 ] . timestamp } ,
346+ { 'log-level' : 'DEBUG' , 'logger' : loggerName , 'message' : 'debug message - 8' , timestamp : req3 . body [ 4 ] . timestamp } ,
347+ ] )
348+ } )
349+
350+ it ( 'should send 100 messages by default' , async ( ) => {
351+ const req1 = prepareMockRequest ( )
352+
353+ Backendless . Logging . setLogReportingPolicy ( 2 , 0.5 )
354+
355+ for ( let i = 1 ; i <= 100 ; i ++ ) {
356+ logger . debug ( `debug message - ${ i } ` )
357+ }
358+
359+ await Utils . wait ( 1000 )
360+
361+ expect ( req1 . body ) . to . have . length ( 100 )
362+ } )
363+
364+ it ( 'should change max limit when setting numOfMessages' , async ( ) => {
365+ const req1 = prepareMockRequest ( )
366+
367+ Backendless . Logging . setLogReportingPolicy ( 200 , 0.5 )
368+
369+ for ( let i = 1 ; i <= 200 ; i ++ ) {
370+ logger . debug ( `debug message - ${ i } ` )
371+ }
372+
373+ await Utils . wait ( 1000 )
374+
375+ expect ( req1 . body ) . to . have . length ( 200 )
376+ } )
377+
214378 it ( 'should return the same request promise' , async ( ) => {
215379 prepareMockRequest ( ( ) => ( { delay : 2000 } ) )
216380
0 commit comments