@@ -255,18 +255,22 @@ tap.test('CloudLogging#sync', root => {
255
255
sync : true
256
256
}
257
257
258
- nested . plan ( 6 )
258
+ nested . plan ( 7 )
259
259
260
260
nested . test ( 'Should parse a line correctly' , async t => {
261
261
let expectedEntry
262
262
const expectedLogEntry = {
263
263
some : 'log' ,
264
264
being : 'printed' ,
265
- message : 'being printed'
265
+ message : 'being printed' ,
266
+ meta : {
267
+ trace : 'testTrace-123'
268
+ }
266
269
}
267
270
class LogMock extends BaseLogMock {
268
271
entry ( meta , log ) {
269
272
const expectedMeta = Object . assign (
273
+ expectedLogEntry . meta ,
270
274
{
271
275
severity : CloudLogging . SEVERITY_MAP [ 30 ] ,
272
276
labels : {
@@ -277,12 +281,14 @@ tap.test('CloudLogging#sync', root => {
277
281
{ resource : Object . assign ( { type : 'global' } , detectedResource ) }
278
282
)
279
283
284
+ const { meta : _meta , ...expectedLog } = expectedLogEntry
285
+
280
286
t . same ( meta , expectedMeta )
281
- t . same ( log , expectedLogEntry )
287
+ t . same ( log , expectedLog )
282
288
283
289
return (
284
290
( expectedEntry = Object . assign ( { } , meta , {
285
- jsonPayload : expectedLogEntry ,
291
+ jsonPayload : expectedLog ,
286
292
logName : this . name
287
293
} ) ) ,
288
294
expectedEntry
@@ -328,11 +334,15 @@ tap.test('CloudLogging#sync', root => {
328
334
level : 50 ,
329
335
some : 'log' ,
330
336
being : 'printed' ,
331
- message : 'being printed'
337
+ message : 'being printed' ,
338
+ meta : {
339
+ trace : 'testTrace-123'
340
+ }
332
341
}
333
342
class LogMock extends BaseLogMock {
334
343
entry ( meta , log ) {
335
344
const expectedMeta = Object . assign (
345
+ expectedLogEntry . meta ,
336
346
{
337
347
severity : CloudLogging . SEVERITY_MAP [ 50 ] ,
338
348
labels : {
@@ -343,8 +353,10 @@ tap.test('CloudLogging#sync', root => {
343
353
{ resource : Object . assign ( { type : 'global' } , detectedResource ) }
344
354
)
345
355
356
+ const { meta : _meta , ...expectedLog } = expectedLogEntry
357
+
346
358
t . same ( meta , expectedMeta )
347
- t . same ( log , expectedLogEntry )
359
+ t . same ( log , expectedLog )
348
360
349
361
return (
350
362
( expectedEntry = Object . assign ( { } , meta , {
@@ -388,17 +400,103 @@ tap.test('CloudLogging#sync', root => {
388
400
instance . parseLine ( JSON . stringify ( expectedLogEntry ) )
389
401
} )
390
402
403
+ nested . test ( 'Should delete the msg and meta property' , async t => {
404
+ let expectedEntry
405
+ const logEntry = {
406
+ level : 50 ,
407
+ some : 'log' ,
408
+ being : 'printed' ,
409
+ msg : 'being printed' ,
410
+ meta : {
411
+ trace : 'testTrace-123' ,
412
+ spanId : 'testSpan-123'
413
+ }
414
+ }
415
+ class LogMock extends BaseLogMock {
416
+ entry ( meta , log ) {
417
+ const expectedMeta = Object . assign (
418
+ logEntry . meta ,
419
+ {
420
+ severity : CloudLogging . SEVERITY_MAP [ 50 ] ,
421
+ labels : {
422
+ logger : 'pino' ,
423
+ agent : 'cloud_pine'
424
+ }
425
+ } ,
426
+ { resource : Object . assign ( { type : 'global' } , detectedResource ) }
427
+ )
428
+ const expectedLogEntry = Object . assign ( { message : '' } , logEntry )
429
+
430
+ expectedLogEntry . message = logEntry . msg
431
+ delete expectedLogEntry . msg
432
+
433
+ const { meta : _meta , ...expectedLog } = expectedLogEntry
434
+
435
+ delete expectedLogEntry . meta
436
+
437
+ t . same ( meta , expectedMeta )
438
+ t . same ( log , expectedLog )
439
+
440
+ return (
441
+ ( expectedEntry = Object . assign ( { } , meta , {
442
+ jsonPayload : log ,
443
+ logName : this . name
444
+ } ) ) ,
445
+ expectedEntry
446
+ )
447
+ }
448
+
449
+ write ( entry ) {
450
+ t . notOk ( entry . jsonPayload . msg )
451
+ t . notOk ( entry . jsonPayload . meta )
452
+ t . equal ( entry . jsonPayload . message , logEntry . msg )
453
+ t . same ( entry , expectedEntry )
454
+ }
455
+ }
456
+
457
+ class LoggingMock extends BaseLoggingMock {
458
+ setProjectId ( ) {
459
+ return Promise . resolve ( )
460
+ }
461
+
462
+ setDetectedResource ( ) {
463
+ this . detectedResource = detectedResource
464
+ return Promise . resolve ( )
465
+ }
466
+
467
+ logSync ( name ) {
468
+ return new LogMock ( name )
469
+ }
470
+ }
471
+
472
+ const { CloudLogging } = t . mock ( '../../lib/cloud-logging' , {
473
+ '@google-cloud/logging' : { Logging : LoggingMock }
474
+ } )
475
+
476
+ t . plan ( 6 )
477
+
478
+ const instance = new CloudLogging ( logName , defaultOptions )
479
+
480
+ await instance . init ( )
481
+
482
+ instance . parseLine ( JSON . stringify ( logEntry ) )
483
+ } )
484
+
391
485
nested . test ( 'Should handle msg property' , async t => {
392
486
let expectedEntry
393
487
const logEntry = {
394
488
level : 50 ,
395
489
some : 'log' ,
396
490
being : 'printed' ,
397
- msg : 'being printed'
491
+ msg : 'being printed' ,
492
+ meta : {
493
+ trace : 'testTrace-123'
494
+ }
398
495
}
399
496
class LogMock extends BaseLogMock {
400
497
entry ( meta , log ) {
401
498
const expectedMeta = Object . assign (
499
+ logEntry . meta ,
402
500
{
403
501
severity : CloudLogging . SEVERITY_MAP [ 50 ] ,
404
502
labels : {
@@ -413,8 +511,10 @@ tap.test('CloudLogging#sync', root => {
413
511
expectedLogEntry . message = logEntry . msg
414
512
delete expectedLogEntry . msg
415
513
514
+ const { meta : _meta , ...expectedLog } = expectedLogEntry
515
+
416
516
t . same ( meta , expectedMeta )
417
- t . same ( log , expectedLogEntry )
517
+ t . same ( log , expectedLog )
418
518
419
519
return (
420
520
( expectedEntry = Object . assign ( { } , meta , {
@@ -570,7 +670,10 @@ tap.test('CloudLogging#sync', root => {
570
670
const expectedLogEntry = {
571
671
some : 'log' ,
572
672
being : 'printed' ,
573
- message : 'being printed'
673
+ message : 'being printed' ,
674
+ meta : {
675
+ trace : 'testTrace-123'
676
+ }
574
677
}
575
678
const httpRequestLog = {
576
679
requestMethod : 'POST' ,
@@ -593,6 +696,7 @@ tap.test('CloudLogging#sync', root => {
593
696
class LogMock extends BaseLogMock {
594
697
entry ( meta , log ) {
595
698
const expectedMeta = Object . assign (
699
+ expectedLogEntry . meta ,
596
700
{
597
701
httpRequest : httpRequestLog ,
598
702
severity : CloudLogging . SEVERITY_MAP [ 30 ] ,
@@ -604,8 +708,10 @@ tap.test('CloudLogging#sync', root => {
604
708
{ resource : Object . assign ( { type : 'global' } , detectedResource ) }
605
709
)
606
710
711
+ const { meta : _meta , ...expectedLog } = expectedLogEntry
712
+
607
713
t . same ( meta , expectedMeta )
608
- t . same ( log , expectedLogEntry )
714
+ t . same ( log , expectedLog )
609
715
610
716
return (
611
717
( expectedEntry = Object . assign ( { } , meta , {
@@ -942,11 +1048,15 @@ tap.test('CloudLogging#async', root => {
942
1048
const expectedLogEntry = {
943
1049
some : 'log' ,
944
1050
being : 'printed' ,
945
- message : 'being printed'
1051
+ message : 'being printed' ,
1052
+ meta : {
1053
+ trace : 'exampleTrace-123'
1054
+ }
946
1055
}
947
1056
class LogMock extends BaseLogMock {
948
1057
entry ( meta , log ) {
949
1058
const expectedMeta = Object . assign (
1059
+ expectedLogEntry . meta ,
950
1060
{
951
1061
severity : CloudLogging . SEVERITY_MAP [ 30 ] ,
952
1062
labels : {
@@ -957,8 +1067,10 @@ tap.test('CloudLogging#async', root => {
957
1067
{ resource : Object . assign ( { type : 'global' } , detectedResource ) }
958
1068
)
959
1069
1070
+ const { meta : _meta , ...expectedLog } = expectedLogEntry
1071
+
960
1072
t . same ( meta , expectedMeta )
961
- t . same ( log , expectedLogEntry )
1073
+ t . same ( log , expectedLog )
962
1074
963
1075
return (
964
1076
( expectedEntry = Object . assign ( { } , meta , {
@@ -1008,11 +1120,15 @@ tap.test('CloudLogging#async', root => {
1008
1120
level : 50 ,
1009
1121
some : 'log' ,
1010
1122
being : 'printed' ,
1011
- message : 'being printed'
1123
+ message : 'being printed' ,
1124
+ meta : {
1125
+ trace : 'testTrace-123'
1126
+ }
1012
1127
}
1013
1128
class LogMock extends BaseLogMock {
1014
1129
entry ( meta , log ) {
1015
1130
const expectedMeta = Object . assign (
1131
+ expectedLogEntry . meta ,
1016
1132
{
1017
1133
severity : CloudLogging . SEVERITY_MAP [ 50 ] ,
1018
1134
labels : {
@@ -1023,8 +1139,10 @@ tap.test('CloudLogging#async', root => {
1023
1139
{ resource : Object . assign ( { type : 'global' } , detectedResource ) }
1024
1140
)
1025
1141
1142
+ const { meta : _meta , ...expectedLog } = expectedLogEntry
1143
+
1026
1144
t . same ( meta , expectedMeta )
1027
- t . same ( log , expectedLogEntry )
1145
+ t . same ( log , expectedLog )
1028
1146
1029
1147
return (
1030
1148
( expectedEntry = Object . assign ( { } , meta , {
@@ -1074,11 +1192,15 @@ tap.test('CloudLogging#async', root => {
1074
1192
level : 50 ,
1075
1193
some : 'log' ,
1076
1194
being : 'printed' ,
1077
- msg : 'being printed'
1195
+ msg : 'being printed' ,
1196
+ meta : {
1197
+ trace : 'testTrace-123'
1198
+ }
1078
1199
}
1079
1200
class LogMock extends BaseLogMock {
1080
1201
entry ( meta , log ) {
1081
1202
const expectedMeta = Object . assign (
1203
+ logEntry . meta ,
1082
1204
{
1083
1205
severity : CloudLogging . SEVERITY_MAP [ 50 ] ,
1084
1206
labels : {
@@ -1093,8 +1215,10 @@ tap.test('CloudLogging#async', root => {
1093
1215
expectedLogEntry . message = logEntry . msg
1094
1216
delete expectedLogEntry . msg
1095
1217
1218
+ const { meta : _meta , ...expectedLog } = expectedLogEntry
1219
+
1096
1220
t . same ( meta , expectedMeta )
1097
- t . same ( log , expectedLogEntry )
1221
+ t . same ( log , expectedLog )
1098
1222
1099
1223
return (
1100
1224
( expectedEntry = Object . assign ( { } , meta , {
@@ -1250,7 +1374,10 @@ tap.test('CloudLogging#async', root => {
1250
1374
const expectedLogEntry = {
1251
1375
some : 'log' ,
1252
1376
being : 'printed' ,
1253
- message : 'being printed'
1377
+ message : 'being printed' ,
1378
+ meta : {
1379
+ trace : 'testTrace-123'
1380
+ }
1254
1381
}
1255
1382
const httpRequestLog = {
1256
1383
requestMethod : 'POST' ,
@@ -1273,6 +1400,7 @@ tap.test('CloudLogging#async', root => {
1273
1400
class LogMock extends BaseLogMock {
1274
1401
entry ( meta , log ) {
1275
1402
const expectedMeta = Object . assign (
1403
+ expectedLogEntry . meta ,
1276
1404
{
1277
1405
httpRequest : httpRequestLog ,
1278
1406
severity : CloudLogging . SEVERITY_MAP [ 30 ] ,
@@ -1284,8 +1412,10 @@ tap.test('CloudLogging#async', root => {
1284
1412
{ resource : Object . assign ( { type : 'global' } , detectedResource ) }
1285
1413
)
1286
1414
1415
+ const { meta : _meta , ...expectedLog } = expectedLogEntry
1416
+
1287
1417
t . same ( meta , expectedMeta )
1288
- t . same ( log , expectedLogEntry )
1418
+ t . same ( log , expectedLog )
1289
1419
1290
1420
return (
1291
1421
( expectedEntry = Object . assign ( { } , meta , {
0 commit comments