@testim/testim-cli 3.201.0 → 3.202.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/commons/logger.js CHANGED
@@ -1,7 +1,9 @@
1
1
  'use strict';
2
2
 
3
- const bunyan = require('bunyan');
3
+ const winston = require('winston');
4
+ const os = require('os');
4
5
 
6
+ const hostname = os.hostname();
5
7
  const runnerVersion = getRunnerVersion();
6
8
  const config = require('./config');
7
9
 
@@ -24,42 +26,45 @@ function getRunnerVersion() {
24
26
  }
25
27
 
26
28
  function getStreamsAndWaitForFlushPromise() {
27
- const level = config.LOGGER_DEBUG ? 'debug' : 'info';
28
- const streams = [];
29
+ const transports = [];
29
30
 
30
31
  let waitForFlush = () => Promise.resolve();
31
32
 
32
33
  if (!config.IS_ON_PREM) {
33
- const CoralogixBunyan = require('../lib/coralogix-bunyan.stream');
34
+ const { CoralogixTransport } = require('../lib/coralogix-winston.transport');
34
35
 
35
- waitForFlush = CoralogixBunyan.CoralogixStream.waitForFlush;
36
-
37
- CoralogixBunyan.CoralogixStream.configure(loggerConfig);
38
- streams.push({
39
- level,
40
- stream: new CoralogixBunyan.CoralogixStream({ category: 'ROOT' }),
41
- type: 'raw',
36
+ CoralogixTransport.configure(loggerConfig);
37
+ const loggerInstance = new CoralogixTransport({
38
+ category: 'ROOT',
42
39
  });
40
+ transports.push(loggerInstance);
41
+
42
+ waitForFlush = () => loggerInstance.waitForFlush();
43
43
  }
44
44
 
45
45
  if (config.LOGGER_CONSOLE) {
46
- const PrettyStream = require('bunyan-prettystream');
47
- const prettyStdOut = new PrettyStream();
48
- prettyStdOut.pipe(process.stdout);
49
- streams.push({
50
- level,
51
- stream: prettyStdOut,
52
- type: 'raw',
53
- });
46
+ transports.push(new winston.transports.Console({
47
+ format: winston.format.combine(winston.format.colorize(), winston.format.simple()),
48
+ }));
54
49
  }
55
- return [streams, waitForFlush];
50
+ return [transports, waitForFlush];
56
51
  }
57
52
 
58
- const [streams, waitForFlush] = getStreamsAndWaitForFlushPromise();
53
+ const [transports, waitForFlush] = getStreamsAndWaitForFlushPromise();
54
+ const level = config.LOGGER_DEBUG ? 'debug' : 'info';
55
+ const defaultMeta = {};
56
+ if (isLocal.indexOf('@echo') === -1) {
57
+ Object.assign(defaultMeta, devFlags());
59
58
 
60
- const bunyanMainLogger = bunyan.createLogger({
61
- name: 'runner',
62
- streams,
59
+ } else {
60
+ Object.assign(defaultMeta, localFlags());
61
+ }
62
+
63
+ const winstonMainLogger = winston.createLogger({
64
+ levels: winston.config.syslog.levels,
65
+ level,
66
+ transports,
67
+ defaultMeta: { name: 'runner', hostname, nodeVersion: process.version, runnerVersion, ...defaultMeta },
63
68
  });
64
69
 
65
70
  let executionId = null;
@@ -77,8 +82,8 @@ function setProxyUri(proxyUri) {
77
82
  if (config.IS_ON_PREM || !proxyUri) {
78
83
  return;
79
84
  }
80
- const CoralogixBunyan = require('../lib/coralogix-bunyan.stream');
81
- CoralogixBunyan.CoralogixStream.configure({ ...loggerConfig, proxyUri });
85
+ const { CoralogixTransport } = require('../lib/coralogix-winston.transport');
86
+ CoralogixTransport.configure({ ...loggerConfig, proxyUri });
82
87
  }
83
88
 
84
89
  function releaseFlags() {
@@ -102,53 +107,58 @@ function localFlags() {
102
107
  };
103
108
  }
104
109
 
105
- function addExecutionId(logData = {}) {
106
- if (executionId && !logData.executionId) {
110
+ function addExecutionMetadata(dataExecutionId) {
111
+ const logData = {};
112
+ if (executionId && !dataExecutionId) {
107
113
  logData.executionId = executionId;
108
114
  }
109
115
 
110
- logData.runnerVersion = runnerVersion;
111
116
  logData.projectId = projectId;
112
- logData.nodeVersion = process.version;
113
-
114
- if (isLocal.indexOf('@echo') === -1) {
115
- Object.assign(logData, devFlags());
116
-
117
+ logData.time = (new Date()).toISOString();
117
118
 
118
- return logData;
119
- }
120
-
121
- Object.assign(logData, localFlags());
122
119
  return logData;
123
120
  }
124
121
 
125
122
  class Logger {
126
123
  constructor(logger) {
127
124
  this._logger = logger;
128
- }
129
-
130
- trace(msg, data = {}) {
131
- this._logger.trace(addExecutionId(data), msg);
125
+ this.debug = this.debug.bind(this);
126
+ this.info = this.info.bind(this);
127
+ this.warn = this.warn.bind(this);
128
+ this.error = this.error.bind(this);
129
+ this.fatal = this.fatal.bind(this);
132
130
  }
133
131
 
134
132
  debug(msg, data = {}) {
135
- this._logger.debug(addExecutionId(data), msg);
133
+ this.innerLog('debug', msg, data);
136
134
  }
137
135
 
138
136
  info(msg, data = {}) {
139
- this._logger.info(addExecutionId(data), msg);
137
+ this.innerLog('info', msg, data);
140
138
  }
141
139
 
142
140
  warn(msg, data = {}) {
143
- this._logger.warn(addExecutionId(data), msg);
141
+ this.innerLog('warning', msg, data);
144
142
  }
145
143
 
146
144
  error(msg, data = {}) {
147
- this._logger.error(addExecutionId(data), msg);
145
+ this.innerLog('error', msg, data);
148
146
  }
149
147
 
150
148
  fatal(msg, data = {}) {
151
- this._logger.fatal(addExecutionId(data), msg);
149
+ this.innerLog('crit', msg, data);
150
+ }
151
+
152
+ innerLog(level, msg, data = {}) {
153
+ try {
154
+ this._logger.log(level, Object.assign({ meta: data }, { message: msg }, addExecutionMetadata(data.executionId)));
155
+ } catch (err) {
156
+ try {
157
+ this._logger.log('crit', Object.assign({ message: `failed to log message ${err.message}, ${err.stack}` }, addExecutionMetadata(data.executionId)));
158
+ } catch (err) {
159
+ // well what can we do
160
+ }
161
+ }
152
162
  }
153
163
 
154
164
  waitForFlush() {
@@ -157,7 +167,7 @@ class Logger {
157
167
  }
158
168
 
159
169
  function getLogger(loggerName) {
160
- return new Logger(bunyanMainLogger.child({ category: loggerName }));
170
+ return new Logger(winstonMainLogger.child({ category: loggerName }));
161
171
  }
162
172
 
163
173
  module.exports = {
@@ -0,0 +1,106 @@
1
+ const { Log, Severity, CoralogixLogger } = require('@testim/coralogix-logger');
2
+ const TransportStream = require('winston-transport');
3
+
4
+ const severityMap = {
5
+ silly: Severity.verbose,
6
+ verbose: Severity.verbose,
7
+ info: Severity.info,
8
+ http: Severity.info,
9
+ warn: Severity.warning,
10
+ warning: Severity.warning,
11
+ error: Severity.error,
12
+ silent: Severity.verbose,
13
+ critical: Severity.critical,
14
+ crit: Severity.critical,
15
+ debug: Severity.debug,
16
+ };
17
+
18
+ class CoralogixTransport extends TransportStream {
19
+ static options;
20
+ constructor(options) {
21
+ options = Object.assign({}, CoralogixTransport.options, options);
22
+ super(options);
23
+ this.options = options;
24
+ this.logger = new CoralogixLogger(options.category);
25
+ this.name = 'Coralogix Transport';
26
+ if (options.timestamp) {
27
+ this.timestamp = options.timestamp;
28
+ }
29
+ }
30
+
31
+ log(info, callback) {
32
+ const { category, level, message: msg, meta: infoMeta = {}, ...restMeta } = info;
33
+ const meta = Object.assign({}, infoMeta, this.options.extraFields, restMeta);
34
+ const log = new Log();
35
+
36
+ log.severity = severityMap[level];
37
+ log.text = msg;
38
+ log.category = category;
39
+ if (meta.className) {
40
+ log.className = meta.className;
41
+ }
42
+ if (meta.methodName) {
43
+ log.methodName = meta.methodName;
44
+ }
45
+ if (meta.threadId) {
46
+ log.threadId = meta.threadId;
47
+ }
48
+ delete meta.className;
49
+ delete meta.methodName;
50
+ delete meta.threadId;
51
+ delete meta.category;
52
+ delete meta.level;
53
+ delete meta.message;
54
+ let errorOverride = false;
55
+ if (infoMeta instanceof Error) {
56
+ errorOverride = true;
57
+ meta.msg = infoMeta.message + infoMeta.stack;
58
+ if (msg) {
59
+ meta.msg = `${msg}\n${meta.msg}`;
60
+ }
61
+ }
62
+ if (infoMeta.err instanceof Error) {
63
+ meta.err = {
64
+ message: infoMeta.err.message,
65
+ stack: infoMeta.err.stack,
66
+ name: infoMeta.err.name,
67
+ type: infoMeta.err.type,
68
+ cause: infoMeta.err.cause,
69
+ ...infoMeta.err,
70
+ };
71
+ }
72
+
73
+ if (infoMeta.reason instanceof Error) {
74
+ meta.reason = {
75
+ message: infoMeta.reason.message,
76
+ stack: infoMeta.reason.stack,
77
+ name: infoMeta.reason.name,
78
+ type: infoMeta.reason.type,
79
+ cause: infoMeta.reason.cause,
80
+ ...infoMeta.reason,
81
+ };
82
+ }
83
+
84
+ // still have keys after deleting the above
85
+ if (Object.keys(meta).length > 0) {
86
+ if (msg && !errorOverride) {
87
+ meta.msg = msg;
88
+ }
89
+ log.text = meta;
90
+ }
91
+
92
+ this.logger.addLog(log);
93
+ callback(null, true);
94
+ }
95
+
96
+ waitForFlush() {
97
+ return this.logger.waitForFlush();
98
+ }
99
+
100
+ static configure(config) {
101
+ CoralogixLogger.configure(config);
102
+ CoralogixTransport.options = config;
103
+ }
104
+ }
105
+
106
+ module.exports.CoralogixTransport = CoralogixTransport;
@@ -165,9 +165,9 @@
165
165
  }
166
166
  },
167
167
  "ws": {
168
- "version": "7.5.5",
169
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz",
170
- "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w=="
168
+ "version": "7.5.6",
169
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz",
170
+ "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA=="
171
171
  }
172
172
  }
173
173
  },
@@ -607,6 +607,16 @@
607
607
  "to-fast-properties": "^2.0.0"
608
608
  }
609
609
  },
610
+ "@dabh/diagnostics": {
611
+ "version": "2.0.2",
612
+ "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz",
613
+ "integrity": "sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==",
614
+ "requires": {
615
+ "colorspace": "1.1.x",
616
+ "enabled": "2.0.x",
617
+ "kuler": "^2.0.0"
618
+ }
619
+ },
610
620
  "@istanbuljs/load-nyc-config": {
611
621
  "version": "1.1.0",
612
622
  "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
@@ -1550,9 +1560,9 @@
1550
1560
  }
1551
1561
  },
1552
1562
  "ws": {
1553
- "version": "7.5.5",
1554
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz",
1555
- "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w=="
1563
+ "version": "7.5.6",
1564
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz",
1565
+ "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA=="
1556
1566
  }
1557
1567
  }
1558
1568
  },
@@ -2297,22 +2307,6 @@
2297
2307
  "integrity": "sha1-HEF554ak9Sl6XT6LxQlazp2RjDU=",
2298
2308
  "dev": true
2299
2309
  },
2300
- "bunyan": {
2301
- "version": "1.8.15",
2302
- "resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.15.tgz",
2303
- "integrity": "sha512-0tECWShh6wUysgucJcBAoYegf3JJoZWibxdqhTm7OHPeT42qdjkZ29QCMcKwbgU1kiH+auSIasNRXMLWXafXig==",
2304
- "requires": {
2305
- "dtrace-provider": "~0.8",
2306
- "moment": "^2.19.3",
2307
- "mv": "~2",
2308
- "safe-json-stringify": "~1"
2309
- }
2310
- },
2311
- "bunyan-prettystream": {
2312
- "version": "0.1.3",
2313
- "resolved": "https://registry.npmjs.org/bunyan-prettystream/-/bunyan-prettystream-0.1.3.tgz",
2314
- "integrity": "sha1-bDtxMmb2rTIAfHtqsemYokU0nZg="
2315
- },
2316
2310
  "bytes": {
2317
2311
  "version": "3.1.0",
2318
2312
  "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
@@ -2386,9 +2380,9 @@
2386
2380
  "dev": true
2387
2381
  },
2388
2382
  "caniuse-lite": {
2389
- "version": "1.0.30001282",
2390
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001282.tgz",
2391
- "integrity": "sha512-YhF/hG6nqBEllymSIjLtR2iWDDnChvhnVJqp+vloyt2tEHFG1yBR+ac2B/rOw0qOK0m0lEXU2dv4E/sMk5P9Kg==",
2383
+ "version": "1.0.30001283",
2384
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001283.tgz",
2385
+ "integrity": "sha512-9RoKo841j1GQFSJz/nCXOj0sD7tHBtlowjYlrqIUS812x9/emfBLBt6IyMz1zIaYc/eRL8Cs6HPUVi2Hzq4sIg==",
2392
2386
  "dev": true
2393
2387
  },
2394
2388
  "caseless": {
@@ -2538,9 +2532,9 @@
2538
2532
  }
2539
2533
  },
2540
2534
  "ws": {
2541
- "version": "7.5.5",
2542
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz",
2543
- "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w=="
2535
+ "version": "7.5.6",
2536
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz",
2537
+ "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA=="
2544
2538
  }
2545
2539
  }
2546
2540
  },
@@ -2558,9 +2552,9 @@
2558
2552
  },
2559
2553
  "dependencies": {
2560
2554
  "@types/node": {
2561
- "version": "16.11.9",
2562
- "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.9.tgz",
2563
- "integrity": "sha512-MKmdASMf3LtPzwLyRrFjtFFZ48cMf8jmX5VRYrDQiJa8Ybu5VAmkqBWqKU8fdCwD8ysw4mQ9nrEHvzg6gunR7A=="
2555
+ "version": "16.11.10",
2556
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.10.tgz",
2557
+ "integrity": "sha512-3aRnHa1KlOEEhJ6+CvyHKK5vE9BcLGjtUpwvqYLRvYNQKMfabu3BwfJaA/SLW8dxe28LsNDjtHwePTuzn3gmOA=="
2564
2558
  },
2565
2559
  "mkdirp": {
2566
2560
  "version": "0.5.5",
@@ -2569,14 +2563,6 @@
2569
2563
  "requires": {
2570
2564
  "minimist": "^1.2.5"
2571
2565
  }
2572
- },
2573
- "rimraf": {
2574
- "version": "3.0.2",
2575
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
2576
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
2577
- "requires": {
2578
- "glob": "^7.1.3"
2579
- }
2580
2566
  }
2581
2567
  }
2582
2568
  },
@@ -2734,6 +2720,30 @@
2734
2720
  "object-visit": "^1.0.0"
2735
2721
  }
2736
2722
  },
2723
+ "color": {
2724
+ "version": "3.2.1",
2725
+ "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz",
2726
+ "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==",
2727
+ "requires": {
2728
+ "color-convert": "^1.9.3",
2729
+ "color-string": "^1.6.0"
2730
+ },
2731
+ "dependencies": {
2732
+ "color-convert": {
2733
+ "version": "1.9.3",
2734
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
2735
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
2736
+ "requires": {
2737
+ "color-name": "1.1.3"
2738
+ }
2739
+ },
2740
+ "color-name": {
2741
+ "version": "1.1.3",
2742
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
2743
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
2744
+ }
2745
+ }
2746
+ },
2737
2747
  "color-convert": {
2738
2748
  "version": "2.0.1",
2739
2749
  "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -2747,12 +2757,35 @@
2747
2757
  "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
2748
2758
  "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
2749
2759
  },
2760
+ "color-string": {
2761
+ "version": "1.6.0",
2762
+ "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz",
2763
+ "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==",
2764
+ "requires": {
2765
+ "color-name": "^1.0.0",
2766
+ "simple-swizzle": "^0.2.2"
2767
+ }
2768
+ },
2750
2769
  "color-support": {
2751
2770
  "version": "1.1.3",
2752
2771
  "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
2753
2772
  "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
2754
2773
  "dev": true
2755
2774
  },
2775
+ "colors": {
2776
+ "version": "1.4.0",
2777
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
2778
+ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA=="
2779
+ },
2780
+ "colorspace": {
2781
+ "version": "1.1.4",
2782
+ "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz",
2783
+ "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==",
2784
+ "requires": {
2785
+ "color": "^3.1.3",
2786
+ "text-hex": "1.0.x"
2787
+ }
2788
+ },
2756
2789
  "combine-source-map": {
2757
2790
  "version": "0.8.0",
2758
2791
  "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz",
@@ -3445,15 +3478,6 @@
3445
3478
  }
3446
3479
  }
3447
3480
  },
3448
- "dtrace-provider": {
3449
- "version": "0.8.8",
3450
- "resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.8.tgz",
3451
- "integrity": "sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg==",
3452
- "optional": true,
3453
- "requires": {
3454
- "nan": "^2.14.0"
3455
- }
3456
- },
3457
3481
  "duplexify": {
3458
3482
  "version": "3.7.1",
3459
3483
  "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
@@ -3530,9 +3554,9 @@
3530
3554
  "integrity": "sha512-GJCAeDBKfREgkBtgrYSf9hQy9kTb3helv0zGdzqhM7iAkW8FA/ZF97VQDbwFiwIT8MQLLOe5VlPZOEvZAqtUAQ=="
3531
3555
  },
3532
3556
  "electron-to-chromium": {
3533
- "version": "1.3.904",
3534
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.904.tgz",
3535
- "integrity": "sha512-x5uZWXcVNYkTh4JubD7KSC1VMKz0vZwJUqVwY3ihsW0bst1BXDe494Uqbg3Y0fDGVjJqA8vEeGuvO5foyH2+qw==",
3557
+ "version": "1.4.1",
3558
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.1.tgz",
3559
+ "integrity": "sha512-9ldvb6QMHiDpUNF1iSwBTiTT0qXEN+xIO5WlCJrC5gt0z74ofOiqR698vaJqYWnri0XZiF0YmnrFmGq/EmpGAA==",
3536
3560
  "dev": true
3537
3561
  },
3538
3562
  "emoji-regex": {
@@ -3541,6 +3565,11 @@
3541
3565
  "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
3542
3566
  "dev": true
3543
3567
  },
3568
+ "enabled": {
3569
+ "version": "2.0.0",
3570
+ "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz",
3571
+ "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ=="
3572
+ },
3544
3573
  "encodeurl": {
3545
3574
  "version": "1.0.2",
3546
3575
  "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
@@ -4095,6 +4124,11 @@
4095
4124
  "pend": "~1.2.0"
4096
4125
  }
4097
4126
  },
4127
+ "fecha": {
4128
+ "version": "4.2.1",
4129
+ "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.1.tgz",
4130
+ "integrity": "sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q=="
4131
+ },
4098
4132
  "figures": {
4099
4133
  "version": "2.0.0",
4100
4134
  "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
@@ -4351,6 +4385,11 @@
4351
4385
  "readable-stream": "^2.3.6"
4352
4386
  }
4353
4387
  },
4388
+ "fn.name": {
4389
+ "version": "1.1.0",
4390
+ "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz",
4391
+ "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw=="
4392
+ },
4354
4393
  "follow-redirects": {
4355
4394
  "version": "1.14.5",
4356
4395
  "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.5.tgz",
@@ -5780,15 +5819,6 @@
5780
5819
  "semver": "^6.0.0"
5781
5820
  }
5782
5821
  },
5783
- "rimraf": {
5784
- "version": "3.0.2",
5785
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
5786
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
5787
- "dev": true,
5788
- "requires": {
5789
- "glob": "^7.1.3"
5790
- }
5791
- },
5792
5822
  "semver": {
5793
5823
  "version": "6.3.0",
5794
5824
  "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
@@ -6068,9 +6098,9 @@
6068
6098
  }
6069
6099
  },
6070
6100
  "ws": {
6071
- "version": "7.5.5",
6072
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz",
6073
- "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w=="
6101
+ "version": "7.5.6",
6102
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz",
6103
+ "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA=="
6074
6104
  }
6075
6105
  }
6076
6106
  },
@@ -6200,6 +6230,11 @@
6200
6230
  "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
6201
6231
  "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w=="
6202
6232
  },
6233
+ "kuler": {
6234
+ "version": "2.0.0",
6235
+ "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz",
6236
+ "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A=="
6237
+ },
6203
6238
  "last-run": {
6204
6239
  "version": "1.1.1",
6205
6240
  "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz",
@@ -6484,6 +6519,18 @@
6484
6519
  }
6485
6520
  }
6486
6521
  },
6522
+ "logform": {
6523
+ "version": "2.3.0",
6524
+ "resolved": "https://registry.npmjs.org/logform/-/logform-2.3.0.tgz",
6525
+ "integrity": "sha512-graeoWUH2knKbGthMtuG1EfaSPMZFZBIrhuJHhkS5ZseFBrc7DupCzihOQAzsK/qIKPQaPJ/lFQFctILUY5ARQ==",
6526
+ "requires": {
6527
+ "colors": "^1.2.1",
6528
+ "fecha": "^4.2.0",
6529
+ "ms": "^2.1.1",
6530
+ "safe-stable-stringify": "^1.1.0",
6531
+ "triple-beam": "^1.3.0"
6532
+ }
6533
+ },
6487
6534
  "lru-cache": {
6488
6535
  "version": "4.1.5",
6489
6536
  "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
@@ -7180,32 +7227,11 @@
7180
7227
  "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
7181
7228
  "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s="
7182
7229
  },
7183
- "mv": {
7184
- "version": "2.1.1",
7185
- "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz",
7186
- "integrity": "sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=",
7187
- "optional": true,
7188
- "requires": {
7189
- "mkdirp": "~0.5.1",
7190
- "ncp": "~2.0.0",
7191
- "rimraf": "~2.4.0"
7192
- },
7193
- "dependencies": {
7194
- "mkdirp": {
7195
- "version": "0.5.5",
7196
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
7197
- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
7198
- "optional": true,
7199
- "requires": {
7200
- "minimist": "^1.2.5"
7201
- }
7202
- }
7203
- }
7204
- },
7205
7230
  "nan": {
7206
7231
  "version": "2.15.0",
7207
7232
  "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz",
7208
7233
  "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==",
7234
+ "dev": true,
7209
7235
  "optional": true
7210
7236
  },
7211
7237
  "nanomatch": {
@@ -7232,12 +7258,6 @@
7232
7258
  "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz",
7233
7259
  "integrity": "sha1-IKMYwwy0X3H+et+/eyHJnBRy7xE="
7234
7260
  },
7235
- "ncp": {
7236
- "version": "2.0.0",
7237
- "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz",
7238
- "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=",
7239
- "optional": true
7240
- },
7241
7261
  "negotiator": {
7242
7262
  "version": "0.6.2",
7243
7263
  "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
@@ -10691,15 +10711,6 @@
10691
10711
  "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
10692
10712
  "dev": true
10693
10713
  },
10694
- "rimraf": {
10695
- "version": "3.0.2",
10696
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
10697
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
10698
- "dev": true,
10699
- "requires": {
10700
- "glob": "^7.1.3"
10701
- }
10702
- },
10703
10714
  "safe-buffer": {
10704
10715
  "version": "5.1.2",
10705
10716
  "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -10948,6 +10959,14 @@
10948
10959
  "wrappy": "1"
10949
10960
  }
10950
10961
  },
10962
+ "one-time": {
10963
+ "version": "1.0.0",
10964
+ "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz",
10965
+ "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==",
10966
+ "requires": {
10967
+ "fn.name": "1.x.x"
10968
+ }
10969
+ },
10951
10970
  "onetime": {
10952
10971
  "version": "2.0.1",
10953
10972
  "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
@@ -12101,27 +12120,11 @@
12101
12120
  "integrity": "sha512-vKz+kzolWbL3rke/xeTE2+6vHmZnNxGyDnaVW4OckntAIcc7DcZzWkQSfxMDwqHS8vhgySnIFyBUH7lIk6PxvQ=="
12102
12121
  },
12103
12122
  "rimraf": {
12104
- "version": "2.4.5",
12105
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz",
12106
- "integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=",
12107
- "optional": true,
12123
+ "version": "3.0.2",
12124
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
12125
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
12108
12126
  "requires": {
12109
- "glob": "^6.0.1"
12110
- },
12111
- "dependencies": {
12112
- "glob": {
12113
- "version": "6.0.4",
12114
- "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
12115
- "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
12116
- "optional": true,
12117
- "requires": {
12118
- "inflight": "^1.0.4",
12119
- "inherits": "2",
12120
- "minimatch": "2 || 3",
12121
- "once": "^1.3.0",
12122
- "path-is-absolute": "^1.0.0"
12123
- }
12124
- }
12127
+ "glob": "^7.1.3"
12125
12128
  }
12126
12129
  },
12127
12130
  "rox-node": {
@@ -12160,12 +12163,6 @@
12160
12163
  "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
12161
12164
  "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
12162
12165
  },
12163
- "safe-json-stringify": {
12164
- "version": "1.2.0",
12165
- "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz",
12166
- "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==",
12167
- "optional": true
12168
- },
12169
12166
  "safe-regex": {
12170
12167
  "version": "1.1.0",
12171
12168
  "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
@@ -12175,6 +12172,11 @@
12175
12172
  "ret": "~0.1.10"
12176
12173
  }
12177
12174
  },
12175
+ "safe-stable-stringify": {
12176
+ "version": "1.1.1",
12177
+ "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz",
12178
+ "integrity": "sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw=="
12179
+ },
12178
12180
  "safer-buffer": {
12179
12181
  "version": "2.1.2",
12180
12182
  "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
@@ -12356,6 +12358,21 @@
12356
12358
  "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz",
12357
12359
  "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ=="
12358
12360
  },
12361
+ "simple-swizzle": {
12362
+ "version": "0.2.2",
12363
+ "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
12364
+ "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
12365
+ "requires": {
12366
+ "is-arrayish": "^0.3.1"
12367
+ },
12368
+ "dependencies": {
12369
+ "is-arrayish": {
12370
+ "version": "0.3.2",
12371
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
12372
+ "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ=="
12373
+ }
12374
+ }
12375
+ },
12359
12376
  "sinon": {
12360
12377
  "version": "9.0.2",
12361
12378
  "resolved": "https://registry.npmjs.org/sinon/-/sinon-9.0.2.tgz",
@@ -12677,15 +12694,6 @@
12677
12694
  "semver": "^6.0.0"
12678
12695
  }
12679
12696
  },
12680
- "rimraf": {
12681
- "version": "3.0.2",
12682
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
12683
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
12684
- "dev": true,
12685
- "requires": {
12686
- "glob": "^7.1.3"
12687
- }
12688
- },
12689
12697
  "semver": {
12690
12698
  "version": "6.3.0",
12691
12699
  "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
@@ -13061,6 +13069,11 @@
13061
13069
  "minimatch": "^3.0.4"
13062
13070
  }
13063
13071
  },
13072
+ "text-hex": {
13073
+ "version": "1.0.0",
13074
+ "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz",
13075
+ "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg=="
13076
+ },
13064
13077
  "threads": {
13065
13078
  "version": "0.12.0",
13066
13079
  "resolved": "https://registry.npmjs.org/threads/-/threads-0.12.0.tgz",
@@ -13221,6 +13234,11 @@
13221
13234
  "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
13222
13235
  "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
13223
13236
  },
13237
+ "triple-beam": {
13238
+ "version": "1.3.0",
13239
+ "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz",
13240
+ "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw=="
13241
+ },
13224
13242
  "ts-node": {
13225
13243
  "version": "8.10.1",
13226
13244
  "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.1.tgz",
@@ -13796,6 +13814,53 @@
13796
13814
  "string-width": "^1.0.2 || 2 || 3 || 4"
13797
13815
  }
13798
13816
  },
13817
+ "winston": {
13818
+ "version": "3.3.3",
13819
+ "resolved": "https://registry.npmjs.org/winston/-/winston-3.3.3.tgz",
13820
+ "integrity": "sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==",
13821
+ "requires": {
13822
+ "@dabh/diagnostics": "^2.0.2",
13823
+ "async": "^3.1.0",
13824
+ "is-stream": "^2.0.0",
13825
+ "logform": "^2.2.0",
13826
+ "one-time": "^1.0.0",
13827
+ "readable-stream": "^3.4.0",
13828
+ "stack-trace": "0.0.x",
13829
+ "triple-beam": "^1.3.0",
13830
+ "winston-transport": "^4.4.0"
13831
+ },
13832
+ "dependencies": {
13833
+ "async": {
13834
+ "version": "3.2.2",
13835
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.2.tgz",
13836
+ "integrity": "sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g=="
13837
+ },
13838
+ "is-stream": {
13839
+ "version": "2.0.1",
13840
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
13841
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="
13842
+ },
13843
+ "readable-stream": {
13844
+ "version": "3.6.0",
13845
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
13846
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
13847
+ "requires": {
13848
+ "inherits": "^2.0.3",
13849
+ "string_decoder": "^1.1.1",
13850
+ "util-deprecate": "^1.0.1"
13851
+ }
13852
+ }
13853
+ }
13854
+ },
13855
+ "winston-transport": {
13856
+ "version": "4.4.0",
13857
+ "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.0.tgz",
13858
+ "integrity": "sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw==",
13859
+ "requires": {
13860
+ "readable-stream": "^2.3.7",
13861
+ "triple-beam": "^1.2.0"
13862
+ }
13863
+ },
13799
13864
  "word-wrap": {
13800
13865
  "version": "1.2.3",
13801
13866
  "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@testim/testim-cli",
3
- "version": "3.201.0",
3
+ "version": "3.202.0",
4
4
  "description": "Command line interface for running Testing on your CI",
5
5
  "author": "Oren Rubin",
6
6
  "contributors": [{
@@ -60,8 +60,8 @@
60
60
  "bluebird": "3.7.2",
61
61
  "bluebird-retry": "0.11.0",
62
62
  "body-parser": "1.19.0",
63
- "bunyan": "1.8.15",
64
- "bunyan-prettystream": "0.1.3",
63
+ "winston": "3.3.3",
64
+ "winston-transport": "4.4.0",
65
65
  "chalk": "4.1.0",
66
66
  "chrome-launcher": "0.13.4",
67
67
  "combine-source-map": "0.8.0",
@@ -50,13 +50,12 @@ function getSerializableObject(grid) {
50
50
  (tunnel && grid.hybrid.external && grid.hybrid.external[grid.hybrid.tunnel] && grid.hybrid.external[grid.hybrid.tunnel].user) : user;
51
51
  const tunnelKey = type === gridTypes.HYBRID ?
52
52
  (tunnel && grid.hybrid.external && grid.hybrid.external[grid.hybrid.tunnel] && grid.hybrid.external[grid.hybrid.tunnel].key) : key;
53
- const arn = (grid && grid.external && grid.external.arn) || (tunnel && grid.hybrid.external && grid.hybrid.external[grid.hybrid.tunnel] && grid.hybrid.external[grid.hybrid.tunnel].arn);
54
53
  const name = grid && grid.name;
55
54
  const gridId = grid && (grid._id || grid.gridId);
56
55
  const provider = grid && grid.provider;
57
56
 
58
57
  return {
59
- host, port, path, protocol, accessToken, slotId, gridId, tunnel, user, key, type, name, arn, provider, tunnelUser, tunnelKey,
58
+ host, port, path, protocol, accessToken, slotId, gridId, tunnel, user, key, type, name, provider, tunnelUser, tunnelKey,
60
59
  };
61
60
  }
62
61
 
package/testRunHandler.js CHANGED
@@ -237,6 +237,12 @@ TestRun.prototype.clearTestResult = function () {
237
237
  if (this._options.mockNetworkRules) {
238
238
  runData.mockNetworkRules = this._options.mockNetworkRules;
239
239
  }
240
+ const mustClearPreviousStepResults = !this.isAllowReportTestResultRetries() && (this._timeoutRetryCount > 1 || this._retryCount > 1);
241
+
242
+ if (this._options.lightweightMode && this._options.lightweightMode.disableResults &&
243
+ !mustClearPreviousStepResults) {
244
+ return Promise.resolve();
245
+ }
240
246
 
241
247
  this.clearTestResultFinished = testimServicesApi.uploadRunDataArtifact(this._options.project, this._testId, this._testResultId, runData)
242
248
  .catch(err => {
@@ -90,9 +90,7 @@ class BaseWorker {
90
90
  resultId: testRunHandler.getTestResultId(),
91
91
  seleniumSession: player.getSessionId(),
92
92
  });
93
- if (this.options.lightweightMode && this.options.lightweightMode.disableResults) {
94
- return undefined;
95
- }
93
+
96
94
  return await testRunHandler.clearTestResult();
97
95
  }
98
96
 
@@ -1,56 +0,0 @@
1
- 'use strict';
2
-
3
- // This is copied from coralogix-bunyan-stream pacakge and altered to expose waitForFlush
4
-
5
- const coralogixLogger = require('@testim/coralogix-logger');
6
-
7
- const sevMap = {
8
- 10: coralogixLogger.Severity.debug,
9
- 30: coralogixLogger.Severity.info,
10
- 40: coralogixLogger.Severity.warning,
11
- 50: coralogixLogger.Severity.error,
12
- 60: coralogixLogger.Severity.critical,
13
- 20: coralogixLogger.Severity.debug,
14
- };
15
- const CoralogixStream = (function () {
16
- function CoralogixStream(options) {
17
- if (!options) options = {};
18
- CoralogixStream.logger = this.logger = new coralogixLogger.CoralogixLogger(options.category);
19
- }
20
- CoralogixStream.waitForFlush = function () {
21
- return CoralogixStream.logger.waitForFlush();
22
- };
23
- CoralogixStream.prototype.write = function (rec) {
24
- const log = new coralogixLogger.Log();
25
- log.severity = sevMap[rec.level];
26
- log.category = rec.category;
27
- if (rec.className) log.className = rec.className;
28
- if (rec.methodName) log.methodName = rec.methodName;
29
- if (rec.threadId) log.threadId = rec.threadId;
30
- log.text = this.removeStaticFields(rec);
31
- this.logger.addLog(log);
32
- };
33
- CoralogixStream.prototype.removeStaticFields = function (json) {
34
- delete json.threadId;
35
- delete json.methodName;
36
- delete json.className;
37
- delete json.category;
38
- return JSON.stringify(json, this.replaceErrors);
39
- };
40
- CoralogixStream.prototype.replaceErrors = function (key, value) {
41
- if (value instanceof Error) {
42
- const error = {};
43
- Object.getOwnPropertyNames(value).forEach((key) => {
44
- error[key] = value[key];
45
- });
46
- return error;
47
- }
48
- return value;
49
- };
50
- CoralogixStream.configure = function (config) {
51
- coralogixLogger.CoralogixLogger.configure(config);
52
- };
53
- return CoralogixStream;
54
- }());
55
-
56
- module.exports = { CoralogixStream };