19
19
20
20
#include < xrpl/basics/Log.h>
21
21
22
- #include < doctest/doctest.h>
23
22
#include < boost/json.hpp>
24
23
25
- #include < numbers>
24
+ #include < doctest/doctest.h>
25
+
26
26
#include < iostream>
27
+ #include < numbers>
27
28
28
29
using namespace ripple ;
29
30
@@ -178,9 +179,12 @@ TEST_CASE("Global attributes")
178
179
CHECK (jsonLog.as_object ().contains (" GlobalParams" ));
179
180
CHECK (jsonLog.as_object ()[" GlobalParams" ].is_object ());
180
181
CHECK (jsonLog.as_object ()[" GlobalParams" ].as_object ().contains (" Field1" ));
181
- CHECK (jsonLog.as_object ()[" GlobalParams" ].as_object ()[" Field1" ].is_string ());
182
182
CHECK (
183
- jsonLog.as_object ()[" GlobalParams" ].as_object ()[" Field1" ].get_string () == " Value1" );
183
+ jsonLog.as_object ()[" GlobalParams" ].as_object ()[" Field1" ].is_string ());
184
+ CHECK (
185
+ jsonLog.as_object ()[" GlobalParams" ]
186
+ .as_object ()[" Field1" ]
187
+ .get_string () == " Value1" );
184
188
beast::Journal::disableStructuredJournal ();
185
189
}
186
190
@@ -207,13 +211,20 @@ TEST_CASE("Global attributes inheritable")
207
211
208
212
CHECK (jsonLog.is_object ());
209
213
CHECK (jsonLog.as_object ()[" GlobalParams" ].as_object ().contains (" Field1" ));
210
- CHECK (jsonLog.as_object ()[" GlobalParams" ].as_object ()[" Field1" ].is_string ());
211
214
CHECK (
212
- jsonLog.as_object ()[" GlobalParams" ].as_object ()[" Field1" ].get_string () == " Value1" );
215
+ jsonLog.as_object ()[" GlobalParams" ].as_object ()[" Field1" ].is_string ());
216
+ CHECK (
217
+ jsonLog.as_object ()[" GlobalParams" ]
218
+ .as_object ()[" Field1" ]
219
+ .get_string () == " Value1" );
213
220
CHECK (
214
- jsonLog.as_object ()[" JournalParams" ].as_object ()[" Field1" ].get_string () == " Value3" );
221
+ jsonLog.as_object ()[" JournalParams" ]
222
+ .as_object ()[" Field1" ]
223
+ .get_string () == " Value3" );
215
224
CHECK (
216
- jsonLog.as_object ()[" JournalParams" ].as_object ()[" Field2" ].get_string () == " Value2" );
225
+ jsonLog.as_object ()[" JournalParams" ]
226
+ .as_object ()[" Field2" ]
227
+ .get_string () == " Value2" );
217
228
beast::Journal::disableStructuredJournal ();
218
229
}
219
230
@@ -334,18 +345,26 @@ TEST_CASE_FIXTURE(JsonLogStreamFixture, "TestJsonLogFields")
334
345
CHECK (logValue.as_object ()[" MessageParams" ].is_object ());
335
346
CHECK (logValue.as_object ()[" Message" ].is_string ());
336
347
337
- CHECK (logValue.as_object ()[" MessageParams" ].as_object ().contains (" Function" ));
348
+ CHECK (
349
+ logValue.as_object ()[" MessageParams" ].as_object ().contains (" Function" ));
338
350
CHECK (logValue.as_object ()[" MessageParams" ].as_object ().contains (" File" ));
339
351
CHECK (logValue.as_object ()[" MessageParams" ].as_object ().contains (" Line" ));
340
- CHECK (logValue.as_object ()[" MessageParams" ].as_object ().contains (" ThreadId" ));
352
+ CHECK (
353
+ logValue.as_object ()[" MessageParams" ].as_object ().contains (" ThreadId" ));
341
354
CHECK (logValue.as_object ()[" MessageParams" ].as_object ().contains (" Level" ));
342
355
CHECK (logValue.as_object ()[" MessageParams" ].as_object ().contains (" Time" ));
343
356
344
- CHECK (logValue.as_object ()[" MessageParams" ].as_object ()[" Function" ].is_string ());
345
- CHECK (logValue.as_object ()[" MessageParams" ].as_object ()[" File" ].is_string ());
346
- CHECK (logValue.as_object ()[" MessageParams" ].as_object ()[" Line" ].is_number ());
357
+ CHECK (logValue.as_object ()[" MessageParams" ]
358
+ .as_object ()[" Function" ]
359
+ .is_string ());
360
+ CHECK (
361
+ logValue.as_object ()[" MessageParams" ].as_object ()[" File" ].is_string ());
362
+ CHECK (
363
+ logValue.as_object ()[" MessageParams" ].as_object ()[" Line" ].is_number ());
347
364
348
- CHECK (logValue.as_object ()[" Message" ].get_string () == std::string{" true Test false" });
365
+ CHECK (
366
+ logValue.as_object ()[" Message" ].get_string () ==
367
+ std::string{" true Test false" });
349
368
}
350
369
351
370
TEST_CASE_FIXTURE (JsonLogStreamFixture, " TestJsonLogLevels" )
@@ -359,7 +378,9 @@ TEST_CASE_FIXTURE(JsonLogStreamFixture, "TestJsonLogLevels")
359
378
CHECK (ec == boost::system::errc::success);
360
379
361
380
CHECK (
362
- logValue.as_object ()[" MessageParams" ].as_object ()[" Level" ].get_string () ==
381
+ logValue.as_object ()[" MessageParams" ]
382
+ .as_object ()[" Level" ]
383
+ .get_string () ==
363
384
beast::severities::to_string (beast::severities::kTrace ));
364
385
}
365
386
@@ -372,7 +393,9 @@ TEST_CASE_FIXTURE(JsonLogStreamFixture, "TestJsonLogLevels")
372
393
CHECK (ec == boost::system::errc::success);
373
394
374
395
CHECK (
375
- logValue.as_object ()[" MessageParams" ].as_object ()[" Level" ].get_string () ==
396
+ logValue.as_object ()[" MessageParams" ]
397
+ .as_object ()[" Level" ]
398
+ .get_string () ==
376
399
beast::severities::to_string (beast::severities::kDebug ));
377
400
}
378
401
@@ -385,7 +408,9 @@ TEST_CASE_FIXTURE(JsonLogStreamFixture, "TestJsonLogLevels")
385
408
CHECK (ec == boost::system::errc::success);
386
409
387
410
CHECK (
388
- logValue.as_object ()[" MessageParams" ].as_object ()[" Level" ].get_string () ==
411
+ logValue.as_object ()[" MessageParams" ]
412
+ .as_object ()[" Level" ]
413
+ .get_string () ==
389
414
beast::severities::to_string (beast::severities::kInfo ));
390
415
}
391
416
@@ -398,7 +423,9 @@ TEST_CASE_FIXTURE(JsonLogStreamFixture, "TestJsonLogLevels")
398
423
CHECK (ec == boost::system::errc::success);
399
424
400
425
CHECK (
401
- logValue.as_object ()[" MessageParams" ].as_object ()[" Level" ].get_string () ==
426
+ logValue.as_object ()[" MessageParams" ]
427
+ .as_object ()[" Level" ]
428
+ .get_string () ==
402
429
beast::severities::to_string (beast::severities::kWarning ));
403
430
}
404
431
@@ -411,7 +438,9 @@ TEST_CASE_FIXTURE(JsonLogStreamFixture, "TestJsonLogLevels")
411
438
CHECK (ec == boost::system::errc::success);
412
439
413
440
CHECK (
414
- logValue.as_object ()[" MessageParams" ].as_object ()[" Level" ].get_string () ==
441
+ logValue.as_object ()[" MessageParams" ]
442
+ .as_object ()[" Level" ]
443
+ .get_string () ==
415
444
beast::severities::to_string (beast::severities::kError ));
416
445
}
417
446
@@ -424,7 +453,9 @@ TEST_CASE_FIXTURE(JsonLogStreamFixture, "TestJsonLogLevels")
424
453
CHECK (ec == boost::system::errc::success);
425
454
426
455
CHECK (
427
- logValue.as_object ()[" MessageParams" ].as_object ()[" Level" ].get_string () ==
456
+ logValue.as_object ()[" MessageParams" ]
457
+ .as_object ()[" Level" ]
458
+ .get_string () ==
428
459
beast::severities::to_string (beast::severities::kFatal ));
429
460
}
430
461
}
@@ -438,7 +469,9 @@ TEST_CASE_FIXTURE(JsonLogStreamFixture, "TestJsonLogStream")
438
469
CHECK (ec == boost::system::errc::success);
439
470
440
471
CHECK (
441
- logValue.as_object ()[" MessageParams" ].as_object ()[" Level" ].get_string () ==
472
+ logValue.as_object ()[" MessageParams" ]
473
+ .as_object ()[" Level" ]
474
+ .get_string () ==
442
475
beast::severities::to_string (beast::severities::kError ));
443
476
}
444
477
@@ -448,23 +481,31 @@ TEST_CASE_FIXTURE(JsonLogStreamFixture, "TestJsonLogParams")
448
481
<< log::param (
449
482
" Field2" ,
450
483
std::numeric_limits<std::uint64_t >::max ())
451
- << " , "
452
- << log::param (" Field3" , std::numbers::pi);
484
+ << " , " << log::param (" Field3" , std::numbers::pi);
453
485
454
486
boost::system::error_code ec;
455
487
auto logValue = boost::json::parse (stream ().str (), ec);
456
488
CHECK (ec == boost::system::errc::success);
457
489
458
490
CHECK (logValue.as_object ()[" MessageParams" ].is_object ());
459
- CHECK (logValue.as_object ()[" MessageParams" ]. as_object ()[ " Field1 " ]. is_number ());
460
- CHECK (logValue .as_object ()[" MessageParams " ]. as_object ()[ " Field1" ]. get_int64 () == 1 );
461
- CHECK (logValue. as_object ()[ " MessageParams " ]. as_object ()[ " Field2 " ] .is_number ());
491
+ CHECK (logValue.as_object ()[" MessageParams" ]
492
+ .as_object ()[" Field1" ]
493
+ .is_number ());
462
494
CHECK (
463
- logValue.as_object ()[" MessageParams" ].as_object ()[" Field2" ].get_uint64 () ==
464
- std::numeric_limits<std::uint64_t >::max ());
495
+ logValue.as_object ()[" MessageParams" ]
496
+ .as_object ()[" Field1" ]
497
+ .get_int64 () == 1 );
498
+ CHECK (logValue.as_object ()[" MessageParams" ]
499
+ .as_object ()[" Field2" ]
500
+ .is_number ());
465
501
CHECK (
466
- logValue.as_object ()[" MessageParams" ].as_object ()[" Field3" ].get_double () ==
467
- 3.141593 );
502
+ logValue.as_object ()[" MessageParams" ]
503
+ .as_object ()[" Field2" ]
504
+ .get_uint64 () == std::numeric_limits<std::uint64_t >::max ());
505
+ CHECK (
506
+ logValue.as_object ()[" MessageParams" ]
507
+ .as_object ()[" Field3" ]
508
+ .get_double () == 3.141593 );
468
509
CHECK (logValue.as_object ()[" Message" ].is_string ());
469
510
CHECK (
470
511
logValue.as_object ()[" Message" ].get_string () ==
@@ -483,15 +524,23 @@ TEST_CASE_FIXTURE(JsonLogStreamFixture, "TestJsonLogFields")
483
524
CHECK (ec == boost::system::errc::success);
484
525
485
526
CHECK (logValue.as_object ()[" MessageParams" ].is_object ());
486
- CHECK (logValue.as_object ()[" MessageParams" ].as_object ()[" Field1" ].is_number ());
487
- CHECK (logValue.as_object ()[" MessageParams" ].as_object ()[" Field1" ].get_int64 () == 1 );
527
+ CHECK (logValue.as_object ()[" MessageParams" ]
528
+ .as_object ()[" Field1" ]
529
+ .is_number ());
530
+ CHECK (
531
+ logValue.as_object ()[" MessageParams" ]
532
+ .as_object ()[" Field1" ]
533
+ .get_int64 () == 1 );
488
534
// UInt64 doesn't fit in Json::Value so it should be converted to a string
489
535
// NOTE: We should expect it to be an int64 after we make the json library
490
536
// support in64 and uint64
491
- CHECK (logValue.as_object ()[" MessageParams" ].as_object ()[" Field2" ].is_number ());
537
+ CHECK (logValue.as_object ()[" MessageParams" ]
538
+ .as_object ()[" Field2" ]
539
+ .is_number ());
492
540
CHECK (
493
- logValue.as_object ()[" MessageParams" ].as_object ()[" Field2" ].get_uint64 () ==
494
- std::numeric_limits<std::uint64_t >::max ());
541
+ logValue.as_object ()[" MessageParams" ]
542
+ .as_object ()[" Field2" ]
543
+ .get_uint64 () == std::numeric_limits<std::uint64_t >::max ());
495
544
CHECK (logValue.as_object ()[" Message" ].is_string ());
496
545
CHECK (logValue.as_object ()[" Message" ].get_string () == " Test" );
497
546
}
@@ -508,12 +557,20 @@ TEST_CASE_FIXTURE(JsonLogStreamFixture, "TestJournalAttributes")
508
557
auto logValue = boost::json::parse (stream ().str (), ec);
509
558
CHECK (ec == boost::system::errc::success);
510
559
511
- CHECK (logValue.as_object ()[" JournalParams" ].as_object ()[" Field1" ].is_string ());
560
+ CHECK (logValue.as_object ()[" JournalParams" ]
561
+ .as_object ()[" Field1" ]
562
+ .is_string ());
512
563
CHECK (
513
- logValue.as_object ()[" JournalParams" ].as_object ()[" Field1" ].get_string () ==
514
- std::string{" Value1" });
515
- CHECK (logValue.as_object ()[" JournalParams" ].as_object ()[" Field2" ].is_number ());
516
- CHECK (logValue.as_object ()[" JournalParams" ].as_object ()[" Field2" ].get_int64 () == 2 );
564
+ logValue.as_object ()[" JournalParams" ]
565
+ .as_object ()[" Field1" ]
566
+ .get_string () == std::string{" Value1" });
567
+ CHECK (logValue.as_object ()[" JournalParams" ]
568
+ .as_object ()[" Field2" ]
569
+ .is_number ());
570
+ CHECK (
571
+ logValue.as_object ()[" JournalParams" ]
572
+ .as_object ()[" Field2" ]
573
+ .get_int64 () == 2 );
517
574
}
518
575
519
576
TEST_CASE_FIXTURE (JsonLogStreamFixture, " TestJournalAttributesInheritable" )
@@ -529,16 +586,27 @@ TEST_CASE_FIXTURE(JsonLogStreamFixture, "TestJournalAttributesInheritable")
529
586
auto logValue = boost::json::parse (stream ().str (), ec);
530
587
CHECK (ec == boost::system::errc::success);
531
588
532
- CHECK (logValue.as_object ()[" JournalParams" ].as_object ()[" Field1" ].is_string ());
589
+ CHECK (logValue.as_object ()[" JournalParams" ]
590
+ .as_object ()[" Field1" ]
591
+ .is_string ());
592
+ CHECK (
593
+ logValue.as_object ()[" JournalParams" ]
594
+ .as_object ()[" Field1" ]
595
+ .get_string () == std::string{" Value1" });
596
+ CHECK (logValue.as_object ()[" JournalParams" ]
597
+ .as_object ()[" Field3" ]
598
+ .is_string ());
533
599
CHECK (
534
- logValue.as_object ()[" JournalParams" ].as_object ()[" Field1" ].get_string () ==
535
- std::string{" Value1" });
536
- CHECK (logValue.as_object ()[" JournalParams" ].as_object ()[" Field3" ].is_string ());
600
+ logValue.as_object ()[" JournalParams" ]
601
+ .as_object ()[" Field3" ]
602
+ .get_string () == std::string{" Value3" });
603
+ CHECK (logValue.as_object ()[" JournalParams" ]
604
+ .as_object ()[" Field2" ]
605
+ .is_number ());
537
606
CHECK (
538
- logValue.as_object ()[" JournalParams" ].as_object ()[" Field3" ].get_string () ==
539
- std::string{" Value3" });
540
- CHECK (logValue.as_object ()[" JournalParams" ].as_object ()[" Field2" ].is_number ());
541
- CHECK (logValue.as_object ()[" JournalParams" ].as_object ()[" Field2" ].get_int64 () == 2 );
607
+ logValue.as_object ()[" JournalParams" ]
608
+ .as_object ()[" Field2" ]
609
+ .get_int64 () == 2 );
542
610
}
543
611
544
612
TEST_CASE_FIXTURE (
@@ -556,17 +624,28 @@ TEST_CASE_FIXTURE(
556
624
auto logValue = boost::json::parse (stream ().str (), ec);
557
625
CHECK (ec == boost::system::errc::success);
558
626
559
- CHECK (logValue.as_object ()[" JournalParams" ].as_object ()[" Field1" ].is_string ());
627
+ CHECK (logValue.as_object ()[" JournalParams" ]
628
+ .as_object ()[" Field1" ]
629
+ .is_string ());
560
630
CHECK (
561
- logValue.as_object ()[" JournalParams" ].as_object ()[" Field1" ].get_string () ==
562
- std::string{" Value1" });
563
- CHECK (logValue.as_object ()[" JournalParams" ].as_object ()[" Field3" ].is_string ());
631
+ logValue.as_object ()[" JournalParams" ]
632
+ .as_object ()[" Field1" ]
633
+ .get_string () == std::string{" Value1" });
634
+ CHECK (logValue.as_object ()[" JournalParams" ]
635
+ .as_object ()[" Field3" ]
636
+ .is_string ());
564
637
CHECK (
565
- logValue.as_object ()[" JournalParams" ].as_object ()[" Field3" ].get_string () ==
566
- std::string{" Value3" });
638
+ logValue.as_object ()[" JournalParams" ]
639
+ .as_object ()[" Field3" ]
640
+ .get_string () == std::string{" Value3" });
567
641
// Field2 should be overwritten to 0
568
- CHECK (logValue.as_object ()[" JournalParams" ].as_object ()[" Field2" ].is_number ());
569
- CHECK (logValue.as_object ()[" JournalParams" ].as_object ()[" Field2" ].get_int64 () == 2 );
642
+ CHECK (logValue.as_object ()[" JournalParams" ]
643
+ .as_object ()[" Field2" ]
644
+ .is_number ());
645
+ CHECK (
646
+ logValue.as_object ()[" JournalParams" ]
647
+ .as_object ()[" Field2" ]
648
+ .get_int64 () == 2 );
570
649
}
571
650
572
651
TEST_CASE_FIXTURE (
@@ -587,12 +666,20 @@ TEST_CASE_FIXTURE(
587
666
auto logValue = boost::json::parse (stream ().str (), ec);
588
667
CHECK (ec == boost::system::errc::success);
589
668
590
- CHECK (logValue.as_object ()[" JournalParams" ].as_object ()[" Field1" ].is_string ());
669
+ CHECK (logValue.as_object ()[" JournalParams" ]
670
+ .as_object ()[" Field1" ]
671
+ .is_string ());
591
672
CHECK (
592
- logValue.as_object ()[" JournalParams" ].as_object ()[" Field1" ].get_string () ==
593
- std::string{" Value1" });
594
- CHECK (logValue.as_object ()[" JournalParams" ].as_object ()[" Field2" ].is_number ());
595
- CHECK (logValue.as_object ()[" JournalParams" ].as_object ()[" Field2" ].get_int64 () == 2 );
673
+ logValue.as_object ()[" JournalParams" ]
674
+ .as_object ()[" Field1" ]
675
+ .get_string () == std::string{" Value1" });
676
+ CHECK (logValue.as_object ()[" JournalParams" ]
677
+ .as_object ()[" Field2" ]
678
+ .is_number ());
679
+ CHECK (
680
+ logValue.as_object ()[" JournalParams" ]
681
+ .as_object ()[" Field2" ]
682
+ .get_int64 () == 2 );
596
683
}
597
684
598
685
TEST_CASE_FIXTURE (
@@ -613,10 +700,18 @@ TEST_CASE_FIXTURE(
613
700
auto logValue = boost::json::parse (stream ().str (), ec);
614
701
CHECK (ec == boost::system::errc::success);
615
702
616
- CHECK (logValue.as_object ()[" JournalParams" ].as_object ()[" Field1" ].is_string ());
703
+ CHECK (logValue.as_object ()[" JournalParams" ]
704
+ .as_object ()[" Field1" ]
705
+ .is_string ());
706
+ CHECK (
707
+ logValue.as_object ()[" JournalParams" ]
708
+ .as_object ()[" Field1" ]
709
+ .get_string () == std::string{" Value1" });
710
+ CHECK (logValue.as_object ()[" JournalParams" ]
711
+ .as_object ()[" Field2" ]
712
+ .is_number ());
617
713
CHECK (
618
- logValue.as_object ()[" JournalParams" ].as_object ()[" Field1" ].get_string () ==
619
- std::string{" Value1" });
620
- CHECK (logValue.as_object ()[" JournalParams" ].as_object ()[" Field2" ].is_number ());
621
- CHECK (logValue.as_object ()[" JournalParams" ].as_object ()[" Field2" ].get_int64 () == 2 );
714
+ logValue.as_object ()[" JournalParams" ]
715
+ .as_object ()[" Field2" ]
716
+ .get_int64 () == 2 );
622
717
}
0 commit comments