@adviser/cement 0.2.36 → 0.2.38

Sign up to get free protection for your applications and to get access to all the features.
package/ts/logger.test.js CHANGED
@@ -1,7 +1,19 @@
1
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
+ if (kind === "m") throw new TypeError("Private method is not writable");
3
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
1
12
  import { TimeFactory, IsLogger, Level, LevelHandlerImpl, LogCollector, LoggerImpl, logValue, Result, runtimeFn, TimeMode, BuildURI, URI, MutableURL, JSONFormatter, YAMLFormatter, } from "@adviser/cement";
2
13
  import { WebSysAbstraction } from "@adviser/cement/web";
3
14
  import { stripper } from "./utils/stripper.js";
4
15
  describe("TestLogger", () => {
16
+ var _TestResponse_url;
5
17
  let logCollector;
6
18
  let logger;
7
19
  beforeEach(() => {
@@ -1094,110 +1106,358 @@ describe("TestLogger", () => {
1094
1106
  }),
1095
1107
  ]);
1096
1108
  });
1097
- it("fetch-formatter", async () => {
1098
- const result = new Response("body", {
1109
+ class TestResponse extends Response {
1110
+ constructor(body, init) {
1111
+ super(body, init);
1112
+ _TestResponse_url.set(this, void 0);
1113
+ __classPrivateFieldSet(this, _TestResponse_url, (init === null || init === void 0 ? void 0 : init.url) || "", "f");
1114
+ }
1115
+ get url() {
1116
+ return __classPrivateFieldGet(this, _TestResponse_url, "f");
1117
+ }
1118
+ }
1119
+ _TestResponse_url = new WeakMap();
1120
+ describe("fetch-formatter", async () => {
1121
+ const resp = new TestResponse("body", {
1099
1122
  status: 200,
1100
1123
  statusText: "OK",
1101
1124
  headers: new Headers({
1102
1125
  "Content-Type": "text/html",
1103
1126
  "X-Test": "test",
1104
1127
  }),
1128
+ url: "https://www.google.com",
1105
1129
  });
1106
- logger.Error().Any("res", { the: result }).Msg("ok");
1107
- logger.Error().Http(Result.Ok(result)).Msg("1");
1108
1130
  const req = new Request("https://www.google.com", {
1109
1131
  method: "PUT",
1110
1132
  headers: new Headers({
1111
1133
  "Content-Type": "text/html",
1112
1134
  "X-Test": "xtest",
1113
1135
  }),
1136
+ body: "String",
1114
1137
  });
1115
- logger.Error().Http(result, req, "Https").Msg("1");
1116
- await logger.Flush();
1117
- expect(stripper(["isReloadNavigation", "reason", "targetAddressSpace", "attribute", "duplex"], logCollector.Logs(true).map((i) => JSON.parse(i)))).toEqual([
1118
- {
1119
- level: "error",
1120
- res: {
1121
- the: {
1122
- type: "default",
1123
- url: "",
1124
- redirected: false,
1125
- status: 200,
1126
- ok: true,
1127
- statusText: "OK",
1128
- headers: {
1129
- "content-type": "text/html",
1130
- "x-test": "test",
1138
+ async function fixupLogs() {
1139
+ await logger.Flush();
1140
+ return stripper(["isReloadNavigation", "reason", "targetAddressSpace", "attribute", "duplex", "cache", "credentials", "destination"], logCollector.Logs(true).map((i) => JSON.parse(i)));
1141
+ }
1142
+ it("res", async () => {
1143
+ logger.Error().Any("res", { the: resp }).Msg("ok-the-res");
1144
+ expect(await fixupLogs()).toEqual([
1145
+ {
1146
+ level: "error",
1147
+ res: {
1148
+ the: {
1149
+ type: "default",
1150
+ redirected: false,
1151
+ status: 200,
1152
+ ok: true,
1153
+ statusText: "OK",
1154
+ headers: {
1155
+ "content-type": "text/html",
1156
+ "x-test": "test",
1157
+ },
1158
+ body: ">Stream<",
1159
+ bodyUsed: false,
1131
1160
  },
1132
- body: ">Stream<",
1133
- bodyUsed: false,
1134
1161
  },
1162
+ msg: "ok-the-res",
1135
1163
  },
1136
- msg: "ok",
1137
- },
1138
- {
1139
- level: "error",
1140
- Http: {
1141
- type: "default",
1142
- url: "",
1143
- redirected: false,
1144
- status: 200,
1145
- ok: true,
1146
- statusText: "OK",
1147
- headers: {
1148
- "content-type": "text/html",
1149
- "x-test": "test",
1164
+ ]);
1165
+ });
1166
+ it("res", async () => {
1167
+ logger.Error().Any("req", { the: req }).Msg("ok-the-req");
1168
+ expect(await fixupLogs()).toEqual([
1169
+ {
1170
+ level: "error",
1171
+ msg: "ok-the-req",
1172
+ req: {
1173
+ the: {
1174
+ body: ">Stream<",
1175
+ bodyUsed: false,
1176
+ headers: {
1177
+ "content-type": "text/html",
1178
+ "x-test": "xtest",
1179
+ },
1180
+ keepalive: false,
1181
+ method: "PUT",
1182
+ mode: "cors",
1183
+ integrity: "",
1184
+ isHistoryNavigation: false,
1185
+ redirect: "follow",
1186
+ referrer: "about:client",
1187
+ referrerPolicy: "",
1188
+ signal: {
1189
+ aborted: false,
1190
+ onabort: "null",
1191
+ },
1192
+ url: "https://www.google.com/",
1193
+ },
1150
1194
  },
1151
- body: ">Stream<",
1152
- bodyUsed: false,
1153
1195
  },
1154
- msg: "1",
1155
- },
1156
- {
1157
- level: "error",
1158
- Https: {
1159
- res: {
1160
- type: "default",
1161
- url: "",
1162
- redirected: false,
1163
- status: 200,
1164
- ok: true,
1165
- statusText: "OK",
1196
+ ]);
1197
+ });
1198
+ it("req-res", async () => {
1199
+ logger
1200
+ .Error()
1201
+ .Any("req-res", { the: { req, res: resp } })
1202
+ .Msg("ok-the-req-res");
1203
+ expect(await fixupLogs()).toEqual([
1204
+ {
1205
+ level: "error",
1206
+ msg: "ok-the-req-res",
1207
+ "req-res": {
1208
+ the: {
1209
+ req: {
1210
+ body: ">Stream<",
1211
+ bodyUsed: false,
1212
+ headers: {
1213
+ "content-type": "text/html",
1214
+ "x-test": "xtest",
1215
+ },
1216
+ integrity: "",
1217
+ isHistoryNavigation: false,
1218
+ keepalive: false,
1219
+ method: "PUT",
1220
+ mode: "cors",
1221
+ redirect: "follow",
1222
+ referrer: "about:client",
1223
+ referrerPolicy: "",
1224
+ signal: {
1225
+ aborted: false,
1226
+ onabort: "null",
1227
+ },
1228
+ url: "https://www.google.com/",
1229
+ },
1230
+ res: {
1231
+ body: ">Stream<",
1232
+ bodyUsed: false,
1233
+ headers: {
1234
+ "content-type": "text/html",
1235
+ "x-test": "test",
1236
+ },
1237
+ ok: true,
1238
+ redirected: false,
1239
+ status: 200,
1240
+ statusText: "OK",
1241
+ type: "default",
1242
+ },
1243
+ },
1244
+ },
1245
+ },
1246
+ ]);
1247
+ });
1248
+ it("req-res", async () => {
1249
+ logger.Error().Http(Result.Ok(resp)).Msg("-1");
1250
+ expect(await fixupLogs()).toEqual([
1251
+ {
1252
+ Http: {
1253
+ body: ">Stream<",
1254
+ bodyUsed: false,
1166
1255
  headers: {
1167
1256
  "content-type": "text/html",
1168
1257
  "x-test": "test",
1169
1258
  },
1259
+ ok: true,
1260
+ redirected: false,
1261
+ status: 200,
1262
+ statusText: "OK",
1263
+ type: "default",
1264
+ },
1265
+ level: "error",
1266
+ msg: "-1",
1267
+ },
1268
+ ]);
1269
+ });
1270
+ it("0", async () => {
1271
+ logger.Error().Http().Msg("0");
1272
+ expect(await fixupLogs()).toEqual([
1273
+ {
1274
+ level: "error",
1275
+ msg: "0",
1276
+ },
1277
+ ]);
1278
+ });
1279
+ it("1", async () => {
1280
+ logger.Error().Http(resp, req, "Https").Msg("1");
1281
+ expect(await fixupLogs()).toEqual([
1282
+ {
1283
+ Https: {
1284
+ req: {
1285
+ body: ">Stream<",
1286
+ bodyUsed: false,
1287
+ headers: {
1288
+ "content-type": "text/html",
1289
+ "x-test": "xtest",
1290
+ },
1291
+ integrity: "",
1292
+ isHistoryNavigation: false,
1293
+ keepalive: false,
1294
+ method: "PUT",
1295
+ mode: "cors",
1296
+ redirect: "follow",
1297
+ referrer: "about:client",
1298
+ referrerPolicy: "",
1299
+ signal: {
1300
+ aborted: false,
1301
+ onabort: "null",
1302
+ },
1303
+ url: "https://www.google.com/",
1304
+ },
1305
+ res: {
1306
+ body: ">Stream<",
1307
+ bodyUsed: false,
1308
+ headers: {
1309
+ "content-type": "text/html",
1310
+ "x-test": "test",
1311
+ },
1312
+ ok: true,
1313
+ redirected: false,
1314
+ status: 200,
1315
+ statusText: "OK",
1316
+ type: "default",
1317
+ },
1318
+ },
1319
+ level: "error",
1320
+ msg: "1",
1321
+ },
1322
+ ]);
1323
+ });
1324
+ it("1.1", async () => {
1325
+ logger.Error().Http("Yolo", Result.Ok(req), Result.Ok(resp)).Msg("1.1");
1326
+ expect(await fixupLogs()).toEqual([
1327
+ {
1328
+ Yolo: {
1329
+ req: {
1330
+ body: ">Stream<",
1331
+ bodyUsed: false,
1332
+ headers: {
1333
+ "content-type": "text/html",
1334
+ "x-test": "xtest",
1335
+ },
1336
+ integrity: "",
1337
+ isHistoryNavigation: false,
1338
+ keepalive: false,
1339
+ method: "PUT",
1340
+ mode: "cors",
1341
+ redirect: "follow",
1342
+ referrer: "about:client",
1343
+ referrerPolicy: "",
1344
+ signal: {
1345
+ aborted: false,
1346
+ onabort: "null",
1347
+ },
1348
+ url: "https://www.google.com/",
1349
+ },
1350
+ res: {
1351
+ body: ">Stream<",
1352
+ bodyUsed: false,
1353
+ headers: {
1354
+ "content-type": "text/html",
1355
+ "x-test": "test",
1356
+ },
1357
+ ok: true,
1358
+ redirected: false,
1359
+ status: 200,
1360
+ statusText: "OK",
1361
+ type: "default",
1362
+ },
1363
+ },
1364
+ level: "error",
1365
+ msg: "1.1",
1366
+ },
1367
+ ]);
1368
+ });
1369
+ it("1.2", async () => {
1370
+ logger.Error().Http("Yerr", Result.Err("e1"), Result.Err("e2")).Msg("1.2");
1371
+ expect(await fixupLogs()).toEqual([
1372
+ {
1373
+ error: ["e1", "e2"],
1374
+ level: "error",
1375
+ msg: "1.2",
1376
+ },
1377
+ ]);
1378
+ });
1379
+ it("2", async () => {
1380
+ logger.Error().Http(req, "Https").Msg("2");
1381
+ expect(await fixupLogs()).toEqual([
1382
+ {
1383
+ Https: {
1170
1384
  body: ">Stream<",
1171
1385
  bodyUsed: false,
1172
- },
1173
- req: {
1174
- method: "PUT",
1175
- url: "https://www.google.com/",
1176
1386
  headers: {
1177
1387
  "content-type": "text/html",
1178
1388
  "x-test": "xtest",
1179
1389
  },
1180
- destination: "",
1181
- referrer: "about:client",
1182
- referrerPolicy: "",
1390
+ integrity: "",
1391
+ isHistoryNavigation: false,
1392
+ keepalive: false,
1393
+ method: "PUT",
1183
1394
  mode: "cors",
1184
- credentials: "same-origin",
1185
- cache: "default",
1186
1395
  redirect: "follow",
1396
+ referrer: "about:client",
1397
+ referrerPolicy: "",
1398
+ signal: {
1399
+ aborted: false,
1400
+ onabort: "null",
1401
+ },
1402
+ url: "https://www.google.com/",
1403
+ },
1404
+ level: "error",
1405
+ msg: "2",
1406
+ },
1407
+ ]);
1408
+ });
1409
+ it("3", async () => {
1410
+ logger.Error().Any("HttpReq", req).Msg("3");
1411
+ expect(await fixupLogs()).toEqual([
1412
+ {
1413
+ HttpReq: {
1414
+ body: ">Stream<",
1415
+ bodyUsed: false,
1416
+ headers: {
1417
+ "content-type": "text/html",
1418
+ "x-test": "xtest",
1419
+ },
1187
1420
  integrity: "",
1188
- keepalive: false,
1189
1421
  isHistoryNavigation: false,
1422
+ keepalive: false,
1423
+ method: "PUT",
1424
+ mode: "cors",
1425
+ redirect: "follow",
1426
+ referrer: "about:client",
1427
+ referrerPolicy: "",
1190
1428
  signal: {
1191
1429
  aborted: false,
1192
1430
  onabort: "null",
1193
1431
  },
1194
- body: "null",
1432
+ url: "https://www.google.com/",
1433
+ },
1434
+ level: "error",
1435
+ msg: "3",
1436
+ },
1437
+ ]);
1438
+ });
1439
+ it("4", async () => {
1440
+ logger.Error().Any("HttpRes", resp).Msg("4");
1441
+ expect(await fixupLogs()).toEqual([
1442
+ {
1443
+ HttpRes: {
1444
+ body: ">Stream<",
1195
1445
  bodyUsed: false,
1446
+ headers: {
1447
+ "content-type": "text/html",
1448
+ "x-test": "test",
1449
+ },
1450
+ ok: true,
1451
+ redirected: false,
1452
+ status: 200,
1453
+ statusText: "OK",
1454
+ type: "default",
1196
1455
  },
1456
+ level: "error",
1457
+ msg: "4",
1197
1458
  },
1198
- msg: "1",
1199
- },
1200
- ]);
1459
+ ]);
1460
+ });
1201
1461
  });
1202
1462
  it("use toJSON", async () => {
1203
1463
  logger
@@ -1238,5 +1498,24 @@ describe("TestLogger", () => {
1238
1498
  },
1239
1499
  ].map((i) => JSON.stringify(i)));
1240
1500
  });
1501
+ it("if uint8array is json do not hexdump", async () => {
1502
+ logger
1503
+ .Error()
1504
+ .Any("res", new TextEncoder().encode(JSON.stringify({ a: 1, b: { c: "x" } })))
1505
+ .Msg("ok");
1506
+ await logger.Flush();
1507
+ expect(logCollector.Logs()).toEqual([
1508
+ {
1509
+ level: "error",
1510
+ msg: "ok",
1511
+ res: {
1512
+ a: 1,
1513
+ b: {
1514
+ c: "x",
1515
+ },
1516
+ },
1517
+ },
1518
+ ]);
1519
+ });
1241
1520
  });
1242
1521
  //# sourceMappingURL=logger.test.js.map