@webex/plugin-meetings 3.0.0-beta.111 → 3.0.0-beta.113
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 +45 -1
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/media/index.js +0 -21
- package/dist/media/index.js.map +1 -1
- package/dist/meeting/index.js +19 -0
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +288 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -0
- package/dist/meeting/muteState.js +49 -34
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +12 -47
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +20 -19
- package/dist/meeting/util.js.map +1 -1
- package/dist/roap/index.js +4 -19
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +23 -39
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +2 -10
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/types/meeting/index.d.ts +3 -0
- package/dist/types/meeting/locusMediaRequest.d.ts +68 -0
- package/dist/types/meeting/muteState.d.ts +3 -2
- package/dist/types/meeting/request.d.ts +4 -18
- package/dist/types/roap/request.d.ts +6 -8
- package/dist/types/roap/turnDiscovery.d.ts +4 -1
- package/package.json +19 -19
- package/src/media/index.ts +0 -23
- package/src/meeting/index.ts +22 -0
- package/src/meeting/locusMediaRequest.ts +303 -0
- package/src/meeting/muteState.ts +24 -9
- package/src/meeting/request.ts +15 -51
- package/src/meeting/util.ts +17 -13
- package/src/roap/index.ts +4 -16
- package/src/roap/request.ts +22 -42
- package/src/roap/turnDiscovery.ts +2 -8
- package/test/unit/spec/meeting/locusMediaRequest.ts +414 -0
- package/test/unit/spec/meeting/muteState.js +97 -71
- package/test/unit/spec/meeting/request.js +19 -0
- package/test/unit/spec/meeting/utils.js +31 -37
- package/test/unit/spec/roap/index.ts +2 -37
- package/test/unit/spec/roap/request.ts +27 -57
- package/test/unit/spec/roap/turnDiscovery.ts +3 -5
|
@@ -108,36 +108,39 @@ describe('plugin-meetings/roap', () => {
|
|
|
108
108
|
|
|
109
109
|
describe('sendRoap', () => {
|
|
110
110
|
it('includes joinCookie in the request correctly', async () => {
|
|
111
|
+
const locusMediaRequest = { send: sinon.stub().resolves({body: {locus: {}}})};
|
|
112
|
+
|
|
111
113
|
await roapRequest.sendRoap({
|
|
112
114
|
locusSelfUrl: locusUrl,
|
|
113
115
|
mediaId: 'mediaId',
|
|
114
116
|
roapMessage: {
|
|
115
117
|
seq: 'seq',
|
|
116
118
|
},
|
|
119
|
+
locusMediaRequest,
|
|
117
120
|
});
|
|
118
121
|
|
|
119
|
-
const requestParams =
|
|
120
|
-
assert.
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
{
|
|
124
|
-
localSdp:
|
|
125
|
-
'{"roapMessage":{"seq":"seq"},"audioMuted":false,"videoMuted":false,"reachability":{"clusterId":{"udp":"test"}}}',
|
|
126
|
-
mediaId: 'mediaId',
|
|
127
|
-
},
|
|
128
|
-
]);
|
|
129
|
-
assert.deepEqual(requestParams.body.clientMediaPreferences, {
|
|
122
|
+
const requestParams = locusMediaRequest.send.getCall(0).args[0];
|
|
123
|
+
assert.deepEqual(requestParams, {
|
|
124
|
+
type: 'RoapMessage',
|
|
125
|
+
selfUrl: locusUrl,
|
|
130
126
|
joinCookie: {
|
|
131
127
|
anycastEntryPoint: 'aws-eu-west-1',
|
|
132
128
|
},
|
|
133
|
-
|
|
129
|
+
mediaId: 'mediaId',
|
|
130
|
+
roapMessage: {
|
|
131
|
+
seq: 'seq',
|
|
132
|
+
},
|
|
133
|
+
reachability: {clusterId:{udp:"test"}},
|
|
134
134
|
});
|
|
135
135
|
});
|
|
136
136
|
});
|
|
137
137
|
|
|
138
138
|
it('calls attachReachabilityData when sendRoap', async () => {
|
|
139
|
+
const locusMediaRequest = { send: sinon.stub().resolves({body: {locus: {}}})};
|
|
140
|
+
|
|
139
141
|
const newSdp = {
|
|
140
142
|
new: 'sdp',
|
|
143
|
+
reachability: { someResult: 'whatever' }
|
|
141
144
|
};
|
|
142
145
|
|
|
143
146
|
roapRequest.attachReachabilityData = sinon.stub().returns(
|
|
@@ -148,70 +151,37 @@ describe('plugin-meetings/roap', () => {
|
|
|
148
151
|
},
|
|
149
152
|
})
|
|
150
153
|
);
|
|
151
|
-
webex.request.returns(
|
|
152
|
-
Promise.resolve({
|
|
153
|
-
body: {
|
|
154
|
-
locus: {},
|
|
155
|
-
},
|
|
156
|
-
})
|
|
157
|
-
);
|
|
158
154
|
|
|
159
|
-
|
|
155
|
+
await roapRequest.sendRoap({
|
|
160
156
|
roapMessage: {
|
|
161
157
|
seq: 1,
|
|
162
158
|
},
|
|
163
159
|
locusSelfUrl: 'locusSelfUrl',
|
|
164
160
|
mediaId: 'mediaId',
|
|
165
|
-
correlationId: 'correlationId',
|
|
166
|
-
audioMuted: true,
|
|
167
|
-
videoMuted: true,
|
|
168
161
|
meetingId: 'meetingId',
|
|
169
162
|
preferTranscoding: true,
|
|
163
|
+
locusMediaRequest
|
|
170
164
|
});
|
|
171
165
|
|
|
172
|
-
const requestParams =
|
|
166
|
+
const requestParams = locusMediaRequest.send.getCall(0).args[0];
|
|
173
167
|
|
|
174
168
|
assert.deepEqual(requestParams, {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
localMedias: [
|
|
184
|
-
{
|
|
185
|
-
localSdp: JSON.stringify(newSdp),
|
|
186
|
-
mediaId: 'mediaId',
|
|
187
|
-
},
|
|
188
|
-
],
|
|
189
|
-
clientMediaPreferences: {
|
|
190
|
-
joinCookie: {
|
|
191
|
-
anycastEntryPoint: 'aws-eu-west-1',
|
|
192
|
-
},
|
|
193
|
-
preferTranscoding: true,
|
|
194
|
-
},
|
|
169
|
+
type: 'RoapMessage',
|
|
170
|
+
selfUrl: 'locusSelfUrl',
|
|
171
|
+
joinCookie: {
|
|
172
|
+
anycastEntryPoint: 'aws-eu-west-1',
|
|
173
|
+
},
|
|
174
|
+
mediaId: 'mediaId',
|
|
175
|
+
roapMessage: {
|
|
176
|
+
seq: 1,
|
|
195
177
|
},
|
|
178
|
+
reachability: { someResult: 'whatever' },
|
|
196
179
|
});
|
|
197
180
|
|
|
198
181
|
assert.calledOnceWithExactly(roapRequest.attachReachabilityData, {
|
|
199
182
|
roapMessage: {
|
|
200
183
|
seq: 1,
|
|
201
184
|
},
|
|
202
|
-
audioMuted: true,
|
|
203
|
-
videoMuted: true,
|
|
204
|
-
});
|
|
205
|
-
|
|
206
|
-
assert.deepEqual(result, {
|
|
207
|
-
locus: {
|
|
208
|
-
fullState: {
|
|
209
|
-
lastActive: 'lastActive',
|
|
210
|
-
},
|
|
211
|
-
id: '',
|
|
212
|
-
roapSeq: 1,
|
|
213
|
-
url: 'url/path',
|
|
214
|
-
}
|
|
215
185
|
});
|
|
216
186
|
});
|
|
217
187
|
});
|
|
@@ -51,7 +51,8 @@ describe('TurnDiscovery', () => {
|
|
|
51
51
|
}),
|
|
52
52
|
updateMediaConnections: sinon.stub(),
|
|
53
53
|
webex: {meetings: {reachability: {isAnyClusterReachable: () => Promise.resolve(false)}}},
|
|
54
|
-
isMultistream: false
|
|
54
|
+
isMultistream: false,
|
|
55
|
+
locusMediaRequest: { fake: true },
|
|
55
56
|
};
|
|
56
57
|
});
|
|
57
58
|
|
|
@@ -74,13 +75,10 @@ describe('TurnDiscovery', () => {
|
|
|
74
75
|
version: '2',
|
|
75
76
|
seq: expectedSeq,
|
|
76
77
|
},
|
|
77
|
-
correlationId: testMeeting.correlationId,
|
|
78
78
|
locusSelfUrl: testMeeting.selfUrl,
|
|
79
79
|
mediaId: expectedMediaId,
|
|
80
|
-
audioMuted: testMeeting.audio?.isLocallyMuted(),
|
|
81
|
-
videoMuted: testMeeting.video?.isLocallyMuted(),
|
|
82
80
|
meetingId: testMeeting.id,
|
|
83
|
-
|
|
81
|
+
locusMediaRequest: testMeeting.locusMediaRequest
|
|
84
82
|
});
|
|
85
83
|
|
|
86
84
|
if (messageType === 'TURN_DISCOVERY_REQUEST') {
|