@webex/internal-plugin-metrics 3.12.0-next.9 → 3.12.0-task-refactor.1
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/dist/call-diagnostic/call-diagnostic-metrics-latencies.js +34 -48
- package/dist/call-diagnostic/call-diagnostic-metrics-latencies.js.map +1 -1
- package/dist/call-diagnostic/call-diagnostic-metrics.js +0 -5
- package/dist/call-diagnostic/call-diagnostic-metrics.js.map +1 -1
- package/dist/call-diagnostic/call-diagnostic-metrics.util.js +4 -39
- package/dist/call-diagnostic/call-diagnostic-metrics.util.js.map +1 -1
- package/dist/call-diagnostic/config.js +1 -3
- package/dist/call-diagnostic/config.js.map +1 -1
- package/dist/generic-metrics.js +6 -8
- package/dist/generic-metrics.js.map +1 -1
- package/dist/index.js +0 -7
- package/dist/index.js.map +1 -1
- package/dist/metrics.js +1 -1
- package/dist/metrics.types.js.map +1 -1
- package/dist/new-metrics.js +20 -56
- package/dist/new-metrics.js.map +1 -1
- package/dist/types/call-diagnostic/call-diagnostic-metrics-latencies.d.ts +0 -9
- package/dist/types/call-diagnostic/call-diagnostic-metrics.d.ts +20 -34
- package/dist/types/call-diagnostic/call-diagnostic-metrics.util.d.ts +2 -23
- package/dist/types/call-diagnostic/config.d.ts +19 -2
- package/dist/types/config.d.ts +15 -15
- package/dist/types/index.d.ts +1 -2
- package/dist/types/metrics.types.d.ts +2 -2
- package/dist/types/new-metrics.d.ts +0 -12
- package/package.json +11 -11
- package/src/call-diagnostic/call-diagnostic-metrics-latencies.ts +44 -97
- package/src/call-diagnostic/call-diagnostic-metrics.ts +0 -6
- package/src/call-diagnostic/call-diagnostic-metrics.util.ts +2 -44
- package/src/call-diagnostic/config.ts +0 -2
- package/src/generic-metrics.ts +6 -6
- package/src/index.ts +0 -2
- package/src/metrics.types.ts +2 -2
- package/src/new-metrics.ts +0 -42
- package/test/unit/spec/call-diagnostic/call-diagnostic-metrics-batcher.ts +11 -38
- package/test/unit/spec/call-diagnostic/call-diagnostic-metrics-latencies.ts +303 -251
- package/test/unit/spec/call-diagnostic/call-diagnostic-metrics.ts +0 -44
- package/test/unit/spec/call-diagnostic/call-diagnostic-metrics.util.ts +3 -65
- package/dist/prelogin-metrics.js +0 -106
- package/dist/prelogin-metrics.js.map +0 -1
- package/dist/types/prelogin-metrics.d.ts +0 -47
- package/src/prelogin-metrics.ts +0 -94
- package/test/unit/spec/prelogin-metrics.ts +0 -132
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import PreLoginMetricsBatcher from '../../../src/prelogin-metrics-batcher';
|
|
2
|
-
import {PreLoginMetrics} from '@webex/internal-plugin-metrics';
|
|
3
|
-
import {assert} from '@webex/test-helper-chai';
|
|
4
|
-
import MockWebex from '@webex/test-helper-mock-webex';
|
|
5
|
-
import sinon from 'sinon';
|
|
6
|
-
|
|
7
|
-
describe('internal-plugin-metrics', () => {
|
|
8
|
-
const mockedWebex: MockWebex = new MockWebex();
|
|
9
|
-
const fakedPreLoginMetricsBatcher: typeof PreLoginMetricsBatcher = new PreLoginMetricsBatcher({}, {parent: mockedWebex});
|
|
10
|
-
|
|
11
|
-
describe('prelogin-metrics', () => {
|
|
12
|
-
afterEach(() => {
|
|
13
|
-
sinon.restore();
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
it('Should send metrics to preloginMetricsBatcher', async () => {
|
|
17
|
-
const testEvent = 'test';
|
|
18
|
-
const testId = 'abc123';
|
|
19
|
-
const preLoginMetrics = new PreLoginMetrics(fakedPreLoginMetricsBatcher, {}, {parent: mockedWebex});
|
|
20
|
-
|
|
21
|
-
sinon.stub(fakedPreLoginMetricsBatcher, 'savePreLoginId');
|
|
22
|
-
const requestSpy = sinon.stub(fakedPreLoginMetricsBatcher, 'request');
|
|
23
|
-
|
|
24
|
-
await preLoginMetrics.submitPreLoginEvent({name: testEvent, preLoginId: testId, payload: {}});
|
|
25
|
-
|
|
26
|
-
assert.calledOnceWithMatch(requestSpy, {
|
|
27
|
-
type: ['business'],
|
|
28
|
-
eventPayload: {metricName: testEvent, value: {preLoginId: testId}},
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
it('Should send metadata to preloginMetricsBatcher', async () => {
|
|
33
|
-
const testEvent = 'test';
|
|
34
|
-
const testId = 'abc123';
|
|
35
|
-
const testMetadata = { 'testKey': 'test-value' };
|
|
36
|
-
const preLoginMetrics = new PreLoginMetrics(fakedPreLoginMetricsBatcher, {}, {parent: mockedWebex});
|
|
37
|
-
|
|
38
|
-
sinon.stub(fakedPreLoginMetricsBatcher, 'savePreLoginId');
|
|
39
|
-
const requestSpy = sinon.stub(fakedPreLoginMetricsBatcher, 'request');
|
|
40
|
-
|
|
41
|
-
await preLoginMetrics.submitPreLoginEvent({name: testEvent, preLoginId: testId, payload: {}, metadata: testMetadata});
|
|
42
|
-
|
|
43
|
-
assert.calledOnceWithMatch(requestSpy, {
|
|
44
|
-
type: ['business'],
|
|
45
|
-
eventPayload: {metricName: testEvent, value: {preLoginId: testId, ...testMetadata}},
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
it('Should send payload to preloginMetricsBatcher', async () => {
|
|
50
|
-
const testEvent = 'test';
|
|
51
|
-
const testId = 'abc123';
|
|
52
|
-
const testPayload = { 'testKey': 'test-value' };
|
|
53
|
-
const preLoginMetrics = new PreLoginMetrics(fakedPreLoginMetricsBatcher, {}, {parent: mockedWebex});
|
|
54
|
-
|
|
55
|
-
sinon.stub(fakedPreLoginMetricsBatcher, 'savePreLoginId');
|
|
56
|
-
const requestSpy = sinon.stub(fakedPreLoginMetricsBatcher, 'request');
|
|
57
|
-
|
|
58
|
-
await preLoginMetrics.submitPreLoginEvent({name: testEvent, preLoginId: testId, payload: testPayload});
|
|
59
|
-
|
|
60
|
-
assert.calledOnceWithMatch(requestSpy, {
|
|
61
|
-
type: ['business'],
|
|
62
|
-
eventPayload: {metricName: testEvent, value: {preLoginId: testId, ...testPayload}},
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
it('Should fill appType if not defined', async () => {
|
|
67
|
-
const testEvent = 'test';
|
|
68
|
-
const preLoginMetrics = new PreLoginMetrics(fakedPreLoginMetricsBatcher, {}, {parent: mockedWebex});
|
|
69
|
-
|
|
70
|
-
sinon.stub(fakedPreLoginMetricsBatcher, 'savePreLoginId');
|
|
71
|
-
const requestSpy = sinon.stub(fakedPreLoginMetricsBatcher, 'request');
|
|
72
|
-
|
|
73
|
-
await preLoginMetrics.submitPreLoginEvent({name: testEvent, preLoginId: 'abc123', payload: {}});
|
|
74
|
-
|
|
75
|
-
assert.calledOnceWithMatch(requestSpy, {
|
|
76
|
-
type: ['business'],
|
|
77
|
-
eventPayload: {metricName: testEvent, value: {appType: 'Web Client'}},
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
it('Should add browser details', async () => {
|
|
82
|
-
const testEvent = 'test';
|
|
83
|
-
const testBrowserDetails = { browser: 'Firefox', domain: 'test.example.com' };
|
|
84
|
-
const preLoginMetrics = new PreLoginMetrics(fakedPreLoginMetricsBatcher, {}, {parent: mockedWebex});
|
|
85
|
-
|
|
86
|
-
sinon.stub(preLoginMetrics, 'getBrowserDetails').returns(testBrowserDetails);
|
|
87
|
-
sinon.stub(fakedPreLoginMetricsBatcher, 'savePreLoginId');
|
|
88
|
-
const requestSpy = sinon.stub(fakedPreLoginMetricsBatcher, 'request');
|
|
89
|
-
|
|
90
|
-
await preLoginMetrics.submitPreLoginEvent({name: testEvent, preLoginId: 'abc123', payload: {}});
|
|
91
|
-
|
|
92
|
-
assert.calledOnceWithMatch(requestSpy, {
|
|
93
|
-
type: ['business'],
|
|
94
|
-
eventPayload: {browserDetails: testBrowserDetails, metricName: testEvent},
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
it('Should add context', async () => {
|
|
99
|
-
const testEvent = 'test';
|
|
100
|
-
const testContext = { device: { id: 'abc123' }};
|
|
101
|
-
const preLoginMetrics = new PreLoginMetrics(fakedPreLoginMetricsBatcher, {}, {parent: mockedWebex});
|
|
102
|
-
|
|
103
|
-
sinon.stub(preLoginMetrics, 'getContext').returns(testContext);
|
|
104
|
-
sinon.stub(fakedPreLoginMetricsBatcher, 'savePreLoginId');
|
|
105
|
-
const requestSpy = sinon.stub(fakedPreLoginMetricsBatcher, 'request');
|
|
106
|
-
|
|
107
|
-
await preLoginMetrics.submitPreLoginEvent({name: testEvent, preLoginId: 'abc123', payload: {}});
|
|
108
|
-
|
|
109
|
-
assert.calledOnceWithMatch(requestSpy, {
|
|
110
|
-
type: ['business'],
|
|
111
|
-
eventPayload: {context: testContext, metricName: testEvent},
|
|
112
|
-
});
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
it('Should add timestamp', async () => {
|
|
116
|
-
const testEvent = 'test';
|
|
117
|
-
const testTime = 1234;
|
|
118
|
-
const preLoginMetrics = new PreLoginMetrics(fakedPreLoginMetricsBatcher, {}, {parent: mockedWebex});
|
|
119
|
-
|
|
120
|
-
sinon.useFakeTimers(testTime);
|
|
121
|
-
sinon.stub(fakedPreLoginMetricsBatcher, 'savePreLoginId');
|
|
122
|
-
const requestSpy = sinon.stub(fakedPreLoginMetricsBatcher, 'request');
|
|
123
|
-
|
|
124
|
-
await preLoginMetrics.submitPreLoginEvent({name: testEvent, preLoginId: 'abc123', payload: {}});
|
|
125
|
-
|
|
126
|
-
assert.calledOnceWithMatch(requestSpy, {
|
|
127
|
-
type: ['business'],
|
|
128
|
-
eventPayload: {metricName: testEvent, timestamp: testTime},
|
|
129
|
-
});
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
});
|