@webex/plugin-meetings 3.0.0-stream-classes.4 → 3.0.0-test.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/README.md +12 -0
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/common/errors/no-meeting-info.js +51 -0
- package/dist/common/errors/no-meeting-info.js.map +1 -0
- package/dist/common/errors/reclaim-host-role-errors.js +158 -0
- package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
- package/dist/common/errors/webex-errors.js +23 -3
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/logs/request.js +5 -1
- package/dist/common/logs/request.js.map +1 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/constants.js +69 -9
- package/dist/constants.js.map +1 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/interceptors/index.js +15 -0
- package/dist/interceptors/index.js.map +1 -0
- package/dist/interceptors/locusRetry.js +93 -0
- package/dist/interceptors/locusRetry.js.map +1 -0
- package/dist/interpretation/index.js +16 -2
- package/dist/interpretation/index.js.map +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/index.js +40 -11
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +15 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +42 -21
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/media/index.js +10 -6
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +13 -3
- package/dist/media/properties.js.map +1 -1
- package/dist/mediaQualityMetrics/config.js +135 -330
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +4 -0
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +2187 -1074
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.js +37 -25
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +34 -19
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +71 -0
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/index.js +48 -23
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +25 -4
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/utilv2.js +1 -1
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +17 -0
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +142 -57
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/util.js +2 -6
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +9 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/util.js +11 -0
- package/dist/member/util.js.map +1 -1
- package/dist/members/index.js +17 -1
- package/dist/members/index.js.map +1 -1
- package/dist/members/types.js.map +1 -1
- package/dist/members/util.js +15 -4
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +15 -1
- package/dist/metrics/constants.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +1 -1
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +16 -2
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +222 -73
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +22 -0
- package/dist/multistream/sendSlotManager.js.map +1 -1
- package/dist/reachability/clusterReachability.js +356 -0
- package/dist/reachability/clusterReachability.js.map +1 -0
- package/dist/reachability/index.js +262 -432
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +1 -1
- package/dist/reachability/request.js.map +1 -1
- package/dist/reachability/util.js +29 -0
- package/dist/reachability/util.js.map +1 -0
- package/dist/reconnection-manager/index.js +113 -96
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/roap/index.js +57 -25
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +5 -13
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +173 -81
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/rtcMetrics/index.js +68 -6
- package/dist/rtcMetrics/index.js.map +1 -1
- package/dist/statsAnalyzer/index.js +338 -289
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +296 -156
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
- package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
- package/dist/types/common/errors/webex-errors.d.ts +13 -1
- package/dist/types/common/logs/request.d.ts +2 -0
- package/dist/types/config.d.ts +1 -1
- package/dist/types/constants.d.ts +66 -13
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interceptors/index.d.ts +2 -0
- package/dist/types/interceptors/locusRetry.d.ts +27 -0
- package/dist/types/locus-info/index.d.ts +1 -1
- package/dist/types/locus-info/parser.d.ts +3 -2
- package/dist/types/mediaQualityMetrics/config.d.ts +99 -223
- package/dist/types/meeting/in-meeting-actions.d.ts +4 -0
- package/dist/types/meeting/index.d.ts +285 -34
- package/dist/types/meeting/locusMediaRequest.d.ts +1 -2
- package/dist/types/meeting/muteState.d.ts +2 -8
- package/dist/types/meeting/request.d.ts +4 -1
- package/dist/types/meeting/util.d.ts +25 -1
- package/dist/types/meeting-info/index.d.ts +7 -0
- package/dist/types/meeting-info/meeting-info-v2.d.ts +1 -0
- package/dist/types/meetings/collection.d.ts +9 -0
- package/dist/types/meetings/index.d.ts +42 -14
- package/dist/types/member/index.d.ts +1 -0
- package/dist/types/members/types.d.ts +1 -0
- package/dist/types/members/util.d.ts +5 -0
- package/dist/types/metrics/constants.d.ts +15 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +2 -0
- package/dist/types/multistream/remoteMediaGroup.d.ts +2 -0
- package/dist/types/multistream/remoteMediaManager.d.ts +25 -1
- package/dist/types/multistream/sendSlotManager.d.ts +9 -0
- package/dist/types/reachability/clusterReachability.d.ts +109 -0
- package/dist/types/reachability/index.d.ts +59 -112
- package/dist/types/reachability/request.d.ts +1 -1
- package/dist/types/reachability/util.d.ts +8 -0
- package/dist/types/reconnection-manager/index.d.ts +10 -0
- package/dist/types/roap/index.d.ts +2 -1
- package/dist/types/roap/request.d.ts +2 -1
- package/dist/types/roap/turnDiscovery.d.ts +21 -4
- package/dist/types/rtcMetrics/index.d.ts +15 -1
- package/dist/types/statsAnalyzer/index.d.ts +28 -11
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +28 -4
- package/dist/types/webinar/collection.d.ts +16 -0
- package/dist/types/webinar/index.d.ts +5 -0
- package/dist/webinar/collection.js +44 -0
- package/dist/webinar/collection.js.map +1 -0
- package/dist/webinar/index.js +69 -0
- package/dist/webinar/index.js.map +1 -0
- package/package.json +3 -2
- package/src/common/errors/no-meeting-info.ts +24 -0
- package/src/common/errors/reclaim-host-role-errors.ts +134 -0
- package/src/common/errors/webex-errors.ts +19 -2
- package/src/common/logs/request.ts +5 -1
- package/src/config.ts +1 -1
- package/src/constants.ts +71 -6
- package/src/index.ts +5 -0
- package/src/interceptors/index.ts +3 -0
- package/src/interceptors/locusRetry.ts +67 -0
- package/src/interpretation/index.ts +18 -1
- package/src/locus-info/index.ts +52 -16
- package/src/locus-info/mediaSharesUtils.ts +16 -0
- package/src/locus-info/parser.ts +47 -21
- package/src/media/index.ts +8 -6
- package/src/media/properties.ts +17 -2
- package/src/mediaQualityMetrics/config.ts +103 -238
- package/src/meeting/in-meeting-actions.ts +8 -0
- package/src/meeting/index.ts +1510 -529
- package/src/meeting/muteState.ts +34 -20
- package/src/meeting/request.ts +19 -1
- package/src/meeting/util.ts +97 -0
- package/src/meeting-info/index.ts +47 -20
- package/src/meeting-info/meeting-info-v2.ts +27 -5
- package/src/meeting-info/utilv2.ts +1 -1
- package/src/meetings/collection.ts +13 -0
- package/src/meetings/index.ts +112 -31
- package/src/meetings/util.ts +2 -8
- package/src/member/index.ts +9 -0
- package/src/member/util.ts +14 -0
- package/src/members/index.ts +29 -2
- package/src/members/types.ts +1 -0
- package/src/members/util.ts +15 -1
- package/src/metrics/constants.ts +14 -0
- package/src/multistream/mediaRequestManager.ts +4 -1
- package/src/multistream/remoteMediaGroup.ts +19 -0
- package/src/multistream/remoteMediaManager.ts +141 -18
- package/src/multistream/sendSlotManager.ts +29 -0
- package/src/reachability/clusterReachability.ts +320 -0
- package/src/reachability/index.ts +221 -382
- package/src/reachability/request.ts +1 -1
- package/src/reachability/util.ts +24 -0
- package/src/reconnection-manager/index.ts +87 -83
- package/src/roap/index.ts +60 -24
- package/src/roap/request.ts +3 -16
- package/src/roap/turnDiscovery.ts +112 -39
- package/src/rtcMetrics/index.ts +71 -5
- package/src/statsAnalyzer/index.ts +430 -427
- package/src/statsAnalyzer/mqaUtil.ts +317 -168
- package/src/webinar/collection.ts +31 -0
- package/src/webinar/index.ts +62 -0
- package/test/integration/spec/converged-space-meetings.js +7 -7
- package/test/integration/spec/journey.js +86 -104
- package/test/integration/spec/space-meeting.js +9 -9
- package/test/unit/spec/interceptors/locusRetry.ts +131 -0
- package/test/unit/spec/interpretation/index.ts +36 -3
- package/test/unit/spec/locus-info/index.js +205 -12
- package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +10 -0
- package/test/unit/spec/locus-info/parser.js +54 -13
- package/test/unit/spec/media/index.ts +20 -4
- package/test/unit/spec/media/properties.ts +2 -2
- package/test/unit/spec/meeting/in-meeting-actions.ts +4 -0
- package/test/unit/spec/meeting/index.js +4027 -1075
- package/test/unit/spec/meeting/muteState.js +219 -67
- package/test/unit/spec/meeting/request.js +63 -12
- package/test/unit/spec/meeting/utils.js +93 -0
- package/test/unit/spec/meeting-info/index.js +180 -61
- package/test/unit/spec/meeting-info/meetinginfov2.js +196 -53
- package/test/unit/spec/meetings/collection.js +12 -0
- package/test/unit/spec/meetings/index.js +619 -206
- package/test/unit/spec/meetings/utils.js +35 -12
- package/test/unit/spec/member/index.js +8 -7
- package/test/unit/spec/member/util.js +32 -0
- package/test/unit/spec/members/index.js +130 -17
- package/test/unit/spec/members/utils.js +26 -0
- package/test/unit/spec/multistream/mediaRequestManager.ts +20 -2
- package/test/unit/spec/multistream/remoteMediaGroup.ts +80 -1
- package/test/unit/spec/multistream/remoteMediaManager.ts +210 -3
- package/test/unit/spec/multistream/sendSlotManager.ts +50 -18
- package/test/unit/spec/reachability/clusterReachability.ts +279 -0
- package/test/unit/spec/reachability/index.ts +505 -135
- package/test/unit/spec/reachability/util.ts +40 -0
- package/test/unit/spec/reconnection-manager/index.js +74 -17
- package/test/unit/spec/roap/index.ts +181 -61
- package/test/unit/spec/roap/request.ts +27 -3
- package/test/unit/spec/roap/turnDiscovery.ts +362 -101
- package/test/unit/spec/rtcMetrics/index.ts +57 -3
- package/test/unit/spec/stats-analyzer/index.js +1225 -12
- package/test/unit/spec/webinar/collection.ts +13 -0
- package/test/unit/spec/webinar/index.ts +60 -0
- package/test/utils/integrationTestUtils.js +4 -4
- package/test/utils/webex-test-users.js +12 -4
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import {assert} from '@webex/test-helper-chai';
|
|
2
|
+
import WebinarCollection from '@webex/plugin-meetings/src/webinar/collection';
|
|
3
|
+
|
|
4
|
+
describe('plugin-meetings', () => {
|
|
5
|
+
describe('WebinarCollection', () => {
|
|
6
|
+
it('the webinar collection is as expected', () => {
|
|
7
|
+
const collection = new WebinarCollection();
|
|
8
|
+
|
|
9
|
+
assert.equal(collection.namespace, 'Meetings');
|
|
10
|
+
assert.equal(collection.mainIndex, 'sessionId');
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
});
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import {assert, expect} from '@webex/test-helper-chai';
|
|
2
|
+
import LoggerProxy from '@webex/plugin-meetings/src/common/logs/logger-proxy';
|
|
3
|
+
import Webinar from '@webex/plugin-meetings/src/webinar';
|
|
4
|
+
import MockWebex from '@webex/test-helper-mock-webex';
|
|
5
|
+
import sinon from 'sinon';
|
|
6
|
+
|
|
7
|
+
describe('plugin-meetings', () => {
|
|
8
|
+
describe('Webinar', () => {
|
|
9
|
+
|
|
10
|
+
let webex;
|
|
11
|
+
let webinar;
|
|
12
|
+
|
|
13
|
+
beforeEach(() => {
|
|
14
|
+
// @ts-ignore
|
|
15
|
+
webex = new MockWebex({});
|
|
16
|
+
webex.internal.mercury.on = sinon.stub();
|
|
17
|
+
webinar = new Webinar({}, {parent: webex});
|
|
18
|
+
webinar.locusUrl = 'locusUrl';
|
|
19
|
+
webex.request = sinon.stub().returns(Promise.resolve('REQUEST_RETURN_VALUE'));
|
|
20
|
+
webex.meetings = {};
|
|
21
|
+
webex.meetings.getMeetingByType = sinon.stub();
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
describe('#locusUrlUpdate', () => {
|
|
25
|
+
it('sets the locus url', () => {
|
|
26
|
+
webinar.locusUrlUpdate('newUrl');
|
|
27
|
+
|
|
28
|
+
assert.equal(webinar.locusUrl, 'newUrl');
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
describe('#webcastUrlUpdate', () => {
|
|
33
|
+
it('sets the webcast url', () => {
|
|
34
|
+
webinar.webcastUrlUpdate('newUrl');
|
|
35
|
+
|
|
36
|
+
assert.equal(webinar.webcastUrl, 'newUrl');
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
describe('#webinarAttendeesSearchingUrlUpdate', () => {
|
|
41
|
+
it('sets the webinarAttendeesSearching url', () => {
|
|
42
|
+
webinar.webinarAttendeesSearchingUrlUpdate('newUrl');
|
|
43
|
+
|
|
44
|
+
assert.equal(webinar.webinarAttendeesSearchingUrl, 'newUrl');
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
describe('#updateCanManageWebcast', () => {
|
|
49
|
+
it('update canManageWebcast', () => {
|
|
50
|
+
webinar.updateCanManageWebcast(true);
|
|
51
|
+
|
|
52
|
+
assert.equal(webinar.canManageWebcast, true);
|
|
53
|
+
|
|
54
|
+
webinar.updateCanManageWebcast(false);
|
|
55
|
+
|
|
56
|
+
assert.equal(webinar.canManageWebcast, false);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
})
|
|
60
|
+
})
|
|
@@ -6,7 +6,7 @@ const addMedia = async (user, options = {}) => {
|
|
|
6
6
|
const {microphone, camera} = options;
|
|
7
7
|
|
|
8
8
|
if (options.multistream) {
|
|
9
|
-
await user.meeting.addMedia({
|
|
9
|
+
await user.meeting.addMedia({localStreams: {microphone, camera}});
|
|
10
10
|
} else {
|
|
11
11
|
const mediaReadyPromises = Array.isArray(options.expectedMediaReadyTypes)
|
|
12
12
|
? options.expectedMediaReadyTypes.reduce((output, expectedMediaReadyType) => {
|
|
@@ -31,13 +31,13 @@ const addMedia = async (user, options = {}) => {
|
|
|
31
31
|
|
|
32
32
|
user.meeting.on('media:ready', mediaReady);
|
|
33
33
|
|
|
34
|
-
await user.meeting.addMedia({
|
|
34
|
+
await user.meeting.addMedia({localStreams: {microphone, camera}});
|
|
35
35
|
await Promise.all(Object.values(mediaReadyPromises).map((defer) => defer.promise));
|
|
36
36
|
};
|
|
37
37
|
|
|
38
38
|
|
|
39
|
-
assert.exists(user.meeting.mediaProperties.
|
|
40
|
-
assert.exists(user.meeting.mediaProperties.
|
|
39
|
+
assert.exists(user.meeting.mediaProperties.audioStream, 'audioStream not present');
|
|
40
|
+
assert.exists(user.meeting.mediaProperties.videoStream, 'videoStream not present');
|
|
41
41
|
|
|
42
42
|
};
|
|
43
43
|
|
|
@@ -17,7 +17,7 @@ require('@webex/plugin-people');
|
|
|
17
17
|
require('@webex/plugin-rooms');
|
|
18
18
|
require('@webex/plugin-meetings');
|
|
19
19
|
|
|
20
|
-
const generateTestUsers = (options = {}) => {
|
|
20
|
+
const generateTestUsers = async (options = {}) => {
|
|
21
21
|
options.config = options.config || {};
|
|
22
22
|
options.config.orgId = options.config.orgId || process.env.WEBEX_CONVERGED_ORG_ID;
|
|
23
23
|
|
|
@@ -30,7 +30,8 @@ const generateTestUsers = (options = {}) => {
|
|
|
30
30
|
// Pause for 5 seconds for CI
|
|
31
31
|
await new Promise((done) => setTimeout(done, 5000));
|
|
32
32
|
|
|
33
|
-
const
|
|
33
|
+
const webexRegisterPromises = [];
|
|
34
|
+
const userWebexMeetings = [];
|
|
34
35
|
|
|
35
36
|
userSet.forEach((user) => {
|
|
36
37
|
// eslint-disable-next-line no-param-reassign
|
|
@@ -44,12 +45,19 @@ const generateTestUsers = (options = {}) => {
|
|
|
44
45
|
},
|
|
45
46
|
});
|
|
46
47
|
|
|
48
|
+
webexRegisterPromises.push(new Promise((resolve) => {
|
|
49
|
+
user.webex.on('ready', resolve);
|
|
50
|
+
}));
|
|
51
|
+
|
|
47
52
|
user.webex.internal.support.submitLogs = sinon.stub().returns(Promise.resolve());
|
|
48
53
|
|
|
49
|
-
|
|
54
|
+
userWebexMeetings.push(user.webex.meetings);
|
|
50
55
|
});
|
|
51
56
|
|
|
52
|
-
|
|
57
|
+
// wait for webex to be ready before registering meetings
|
|
58
|
+
return Promise.all(webexRegisterPromises).then(() => {
|
|
59
|
+
return Promise.all(userWebexMeetings.map(m => m.register())).then(() => userSet);
|
|
60
|
+
})
|
|
53
61
|
})
|
|
54
62
|
.catch((error) => {
|
|
55
63
|
console.error('#generateTestUsers=>ERROR', error);
|