@webex/test-helper-mock-webex 2.59.8 → 2.60.0-next.2

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/index.js CHANGED
@@ -11,8 +11,8 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/he
11
11
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
12
12
  var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
13
13
  var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
14
- function ownKeys(object, enumerableOnly) { var keys = _Object$keys2(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
14
+ function ownKeys(e, r) { var t = _Object$keys2(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
16
16
  /*!
17
17
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
18
18
  */
@@ -164,13 +164,7 @@ function makeWebex(options) {
164
164
  voicea: {},
165
165
  meetings: {
166
166
  mediaSettings: {
167
- sendAudio: true,
168
- sendVideo: true,
169
- receiveAudio: true,
170
- receiveVideo: true,
171
- pstn: false,
172
- sendShare: false,
173
- receiveShare: false
167
+ pstn: false
174
168
  },
175
169
  reconnection: {
176
170
  enabled: true,
@@ -243,7 +237,15 @@ function makeWebex(options) {
243
237
  }
244
238
  },
245
239
  registered: true,
246
- register: sinon.stub().returns(_promise.default.resolve())
240
+ register: sinon.stub().returns(_promise.default.resolve()),
241
+ ipNetworkDetector: {
242
+ get supportsIpV4() {
243
+ return true;
244
+ },
245
+ get supportsIpV6() {
246
+ return true;
247
+ }
248
+ }
247
249
  },
248
250
  feature: {
249
251
  setFeature: sinon.stub().returns(_promise.default.resolve(false)),
@@ -257,7 +259,23 @@ function makeWebex(options) {
257
259
  user: {},
258
260
  mercury: {},
259
261
  llm: {},
260
- voicea: {}
262
+ voicea: {},
263
+ newMetrics: {
264
+ submitInternalEvent: sinon.stub(),
265
+ submitMQE: sinon.stub(),
266
+ submitClientEvent: sinon.stub(),
267
+ callDiagnosticLatencies: {
268
+ saveTimestamp: sinon.stub()
269
+ },
270
+ callDiagnosticMetrics: {
271
+ submitClientEvent: sinon.stub(),
272
+ submitMQE: sinon.stub(),
273
+ callDiagnosticEventsBatcher: {
274
+ queue: sinon.stub()
275
+ },
276
+ submitToCallDiagnostics: sinon.stub()
277
+ }
278
+ }
261
279
  });
262
280
  return webex;
263
281
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_promise","default","require","polyfill","_","sinon","State","nonInternalPlugins","makeWebex","options","requestPromise","resolve","statusCode","body","uploadPromise","children","internalOptions","internalChildren","externalChildren","_keys","forEach","key","indexOf","_objectSpread","internal","extend","on","makeMockStorage","data","spy","once","listenTo","listenToAndRun","clear","namespace","del","get","ret","reject","Error","put","value","JSON","parse","_stringify","err","request","stub","returns","upload","MockWebex","defaults","extraProperies","refresh","setConfig","config","credentials","idbroker","url","process","env","IDBROKER_BASE_URL","identity","IDENTITY_BASE_URL","defaultUrl","activationUrl","concat","authorizeUrl","setPasswordUrl","logoutUrl","client_id","client_secret","redirect_uri","scope","service","conversation","allowedTags","avatar","device","encryption","logger","mercury","metrics","support","user","llm","voicea","meetings","mediaSettings","sendAudio","sendVideo","receiveAudio","receiveVideo","pstn","sendShare","receiveShare","reconnection","enabled","detection","retry","times","backOff","start","rate","stats","interval","historyMax","clientType","clientName","mqaMetricsInterval","autoSendMQA","initialize","attrs","boundedStorage","initialBoundedStorage","unboundedStorage","initialUnboundedStorage","webex","authorization","getUserToken","toString","getClientToken","sessionId","MOCK_LOGGER","console","error","warn","log","info","debug","webSocketUrl","getWebSocketUrl","features","developer","entitlement","registered","register","feature","setFeature","getFeature","sendUnstructured","module","exports"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n/* istanbul ignore next */\nif (typeof Promise === 'undefined') {\n // eslint-disable-next-line global-require\n require('es6-promise').polyfill();\n}\n\nconst _ = require('lodash');\nconst sinon = require('sinon');\nconst State = require('ampersand-state');\n\nconst nonInternalPlugins = [\n 'authorization',\n 'credentials',\n 'memberships',\n 'messages',\n 'logger',\n 'people',\n 'phone',\n 'meetings',\n 'rooms',\n 'teams',\n 'teamMemberships',\n 'webhooks',\n];\n\n/**\n * Mock Webex constructor\n * @param {Object} options\n * @returns {MockWebex}\n */\nfunction makeWebex(options) {\n const requestPromise = Promise.resolve({statusCode: 200, body: {}});\n const uploadPromise = Promise.resolve({});\n\n options = options || {};\n options.children = options.children || {};\n\n const internalOptions = {};\n\n const internalChildren = {};\n const externalChildren = {};\n\n Object.keys(options.children).forEach((key) => {\n if (nonInternalPlugins.indexOf(key) === -1) {\n internalChildren[key] = options.children[key];\n } else {\n externalChildren[key] = options.children[key];\n }\n });\n\n internalOptions.children = internalChildren;\n options.children = externalChildren;\n\n // This weird assignment is to make sure \"internal\" is the first property.\n // Because it turns out we're relying on ordering\n options.children = {\n internal: State.extend(internalOptions),\n ...options.children,\n };\n\n requestPromise.on = uploadPromise.on = function on() {\n return requestPromise;\n };\n\n /**\n * produces a mock storage object\n * @param {Object} data\n * @returns {Storage}\n */\n function makeMockStorage(data) {\n data = data || {};\n\n return {\n data,\n on: sinon.spy(),\n once: sinon.spy(),\n listenTo: sinon.spy(),\n listenToAndRun: sinon.spy(),\n clear: function clear(namespace) {\n this.data = this.data || data;\n this.data[namespace] = {};\n },\n del: function del(namespace, key) {\n this.data = this.data || data;\n this.data[namespace] = this.data[namespace] || {};\n // eslint-disable-next-line prefer-reflect\n delete this.data[namespace][key];\n },\n get: function get(namespace, key) {\n this.data = this.data || data;\n this.data[namespace] = this.data[namespace] || {};\n const ret = this.data[namespace][key];\n\n if (ret) {\n return Promise.resolve(ret);\n }\n\n return Promise.reject(new Error('MockNotFoundError'));\n },\n put: function put(namespace, key, value) {\n this.data = this.data || data;\n try {\n // this is the simplest way to to turn ampstate objects into bare\n // objects without actually checking if they're ampstate objects\n value = JSON.parse(JSON.stringify(value));\n } catch (err) {\n // ignore\n }\n this.data[namespace] = this.data[namespace] || {};\n this.data[namespace][key] = value;\n\n return Promise.resolve();\n },\n };\n }\n\n const request = sinon.stub().returns(requestPromise);\n const upload = sinon.stub().returns(uploadPromise);\n const MockWebex = State.extend(\n _.defaults(options, {\n extraProperies: 'allow',\n request,\n upload,\n refresh: function refresh() {\n return Promise.resolve();\n },\n setConfig: function setConfig(config) {\n this.config.credentials.idbroker.url =\n config.credentials.idbroker.url || process.env.IDBROKER_BASE_URL;\n this.config.credentials.identity.url =\n config.credentials.identity.url || process.env.IDENTITY_BASE_URL;\n\n return Promise.resolve();\n },\n config: {\n credentials: {\n idbroker: {\n url: process.env.IDBROKER_BASE_URL,\n defaultUrl: process.env.IDBROKER_BASE_URL,\n },\n identity: {\n url: process.env.IDENTITY_BASE_URL,\n defaultUrl: process.env.IDENTITY_BASE_URL,\n },\n activationUrl: `${\n process.env.IDBROKER_BASE_URL || 'https://idbroker.webex.com'\n }/idb/token/v1/actions/UserActivation/invoke`,\n authorizeUrl: `${\n process.env.IDBROKER_BASE_URL || 'https://idbroker.webex.com'\n }/idb/oauth2/v1/authorize`,\n setPasswordUrl: `${\n process.env.IDBROKER_BASE_URL || 'https://identity.webex.com'\n }/identity/scim/v1/Users`,\n logoutUrl: `${\n process.env.IDBROKER_BASE_URL || 'https://idbroker.webex.com'\n }/idb/oauth2/v1/logout`,\n // eslint-disable-next-line camelcase\n client_id: 'fake',\n // eslint-disable-next-line camelcase\n client_secret: 'fake',\n // eslint-disable-next-line camelcase\n redirect_uri: 'http://example.com',\n // eslint-disable-next-line camelcase\n scope: 'scope:one',\n service: 'webex',\n },\n conversation: {\n allowedTags: {\n 'webex-mention': ['data-object-type', 'data-object-id', 'data-object-url'],\n },\n },\n avatar: {},\n device: {},\n encryption: {},\n logger: {},\n mercury: {},\n metrics: {},\n support: {},\n user: {},\n llm: {},\n voicea: {},\n meetings: {\n mediaSettings: {\n sendAudio: true,\n sendVideo: true,\n receiveAudio: true,\n receiveVideo: true,\n pstn: false,\n sendShare: false,\n receiveShare: false,\n },\n reconnection: {\n enabled: true,\n detection: true,\n retry: {\n times: 2,\n backOff: {\n start: 1000,\n rate: 2,\n },\n },\n },\n stats: {\n interval: 1000,\n historyMax: 120,\n },\n metrics: {\n clientType: 'TEAMS_CLIENT',\n clientName: 'WEBEX_JS_SDK',\n mqaMetricsInterval: 60000,\n autoSendMQA: true,\n },\n },\n },\n initialize: function initialize(attrs) {\n this.boundedStorage = makeMockStorage(attrs && attrs.initialBoundedStorage);\n this.unboundedStorage = makeMockStorage(attrs && attrs.initialUnboundedStorage);\n },\n })\n );\n\n const webex = new MockWebex(options && options.attrs);\n\n sinon.spy(webex, 'refresh');\n _.defaults(webex, {\n credentials: {\n authorization: 'Basic NOTATOKEN',\n getUserToken: sinon.stub().returns(\n Promise.resolve({\n toString: function toString() {\n return 'Basic NOTATOKEN';\n },\n })\n ),\n getClientToken: sinon.stub().returns(\n Promise.resolve({\n toString: function toString() {\n return 'Basic NOTATOKEN';\n },\n })\n ),\n },\n sessionId: 'mock-webex_88888888-4444-4444-4444-aaaaaaaaaaaa',\n logger: process.env.MOCK_LOGGER\n ? console\n : {\n error: sinon.spy(),\n warn: sinon.spy(),\n log: sinon.spy(),\n info: sinon.spy(),\n debug: sinon.spy(),\n },\n });\n\n _.defaults(webex.internal, {\n avatar: {},\n conversation: {},\n device: {\n webSocketUrl: 'ws://example.com',\n getWebSocketUrl: sinon.stub().returns(Promise.resolve('ws://example-2.com')),\n features: {\n developer: {\n get: sinon.stub(),\n },\n entitlement: {\n get: sinon.stub(),\n },\n user: {\n get: sinon.stub(),\n },\n },\n registered: true,\n register: sinon.stub().returns(Promise.resolve()),\n },\n feature: {\n setFeature: sinon.stub().returns(Promise.resolve(false)),\n getFeature: sinon.stub().returns(Promise.resolve(false)),\n },\n encryption: {},\n metrics: {\n sendUnstructured: sinon.spy(),\n },\n support: {},\n user: {},\n mercury: {},\n llm: {},\n voicea: {},\n });\n\n return webex;\n}\n\nmodule.exports = makeWebex;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_promise","default","require","polyfill","_","sinon","State","nonInternalPlugins","makeWebex","options","requestPromise","resolve","statusCode","body","uploadPromise","children","internalOptions","internalChildren","externalChildren","_keys","forEach","key","indexOf","_objectSpread","internal","extend","on","makeMockStorage","data","spy","once","listenTo","listenToAndRun","clear","namespace","del","get","ret","reject","Error","put","value","JSON","parse","_stringify","err","request","stub","returns","upload","MockWebex","defaults","extraProperies","refresh","setConfig","config","credentials","idbroker","url","process","env","IDBROKER_BASE_URL","identity","IDENTITY_BASE_URL","defaultUrl","activationUrl","concat","authorizeUrl","setPasswordUrl","logoutUrl","client_id","client_secret","redirect_uri","scope","service","conversation","allowedTags","avatar","device","encryption","logger","mercury","metrics","support","user","llm","voicea","meetings","mediaSettings","pstn","reconnection","enabled","detection","retry","times","backOff","start","rate","stats","interval","historyMax","clientType","clientName","mqaMetricsInterval","autoSendMQA","initialize","attrs","boundedStorage","initialBoundedStorage","unboundedStorage","initialUnboundedStorage","webex","authorization","getUserToken","toString","getClientToken","sessionId","MOCK_LOGGER","console","error","warn","log","info","debug","webSocketUrl","getWebSocketUrl","features","developer","entitlement","registered","register","ipNetworkDetector","supportsIpV4","supportsIpV6","feature","setFeature","getFeature","sendUnstructured","newMetrics","submitInternalEvent","submitMQE","submitClientEvent","callDiagnosticLatencies","saveTimestamp","callDiagnosticMetrics","callDiagnosticEventsBatcher","queue","submitToCallDiagnostics","module","exports"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n/* istanbul ignore next */\nif (typeof Promise === 'undefined') {\n // eslint-disable-next-line global-require\n require('es6-promise').polyfill();\n}\n\nconst _ = require('lodash');\nconst sinon = require('sinon');\nconst State = require('ampersand-state');\n\nconst nonInternalPlugins = [\n 'authorization',\n 'credentials',\n 'memberships',\n 'messages',\n 'logger',\n 'people',\n 'phone',\n 'meetings',\n 'rooms',\n 'teams',\n 'teamMemberships',\n 'webhooks',\n];\n\n/**\n * Mock Webex constructor\n * @param {Object} options\n * @returns {MockWebex}\n */\nfunction makeWebex(options) {\n const requestPromise = Promise.resolve({statusCode: 200, body: {}});\n const uploadPromise = Promise.resolve({});\n\n options = options || {};\n options.children = options.children || {};\n\n const internalOptions = {};\n\n const internalChildren = {};\n const externalChildren = {};\n\n Object.keys(options.children).forEach((key) => {\n if (nonInternalPlugins.indexOf(key) === -1) {\n internalChildren[key] = options.children[key];\n } else {\n externalChildren[key] = options.children[key];\n }\n });\n\n internalOptions.children = internalChildren;\n options.children = externalChildren;\n\n // This weird assignment is to make sure \"internal\" is the first property.\n // Because it turns out we're relying on ordering\n options.children = {\n internal: State.extend(internalOptions),\n ...options.children,\n };\n\n requestPromise.on = uploadPromise.on = function on() {\n return requestPromise;\n };\n\n /**\n * produces a mock storage object\n * @param {Object} data\n * @returns {Storage}\n */\n function makeMockStorage(data) {\n data = data || {};\n\n return {\n data,\n on: sinon.spy(),\n once: sinon.spy(),\n listenTo: sinon.spy(),\n listenToAndRun: sinon.spy(),\n clear: function clear(namespace) {\n this.data = this.data || data;\n this.data[namespace] = {};\n },\n del: function del(namespace, key) {\n this.data = this.data || data;\n this.data[namespace] = this.data[namespace] || {};\n // eslint-disable-next-line prefer-reflect\n delete this.data[namespace][key];\n },\n get: function get(namespace, key) {\n this.data = this.data || data;\n this.data[namespace] = this.data[namespace] || {};\n const ret = this.data[namespace][key];\n\n if (ret) {\n return Promise.resolve(ret);\n }\n\n return Promise.reject(new Error('MockNotFoundError'));\n },\n put: function put(namespace, key, value) {\n this.data = this.data || data;\n try {\n // this is the simplest way to to turn ampstate objects into bare\n // objects without actually checking if they're ampstate objects\n value = JSON.parse(JSON.stringify(value));\n } catch (err) {\n // ignore\n }\n this.data[namespace] = this.data[namespace] || {};\n this.data[namespace][key] = value;\n\n return Promise.resolve();\n },\n };\n }\n\n const request = sinon.stub().returns(requestPromise);\n const upload = sinon.stub().returns(uploadPromise);\n const MockWebex = State.extend(\n _.defaults(options, {\n extraProperies: 'allow',\n request,\n upload,\n refresh: function refresh() {\n return Promise.resolve();\n },\n setConfig: function setConfig(config) {\n this.config.credentials.idbroker.url =\n config.credentials.idbroker.url || process.env.IDBROKER_BASE_URL;\n this.config.credentials.identity.url =\n config.credentials.identity.url || process.env.IDENTITY_BASE_URL;\n\n return Promise.resolve();\n },\n config: {\n credentials: {\n idbroker: {\n url: process.env.IDBROKER_BASE_URL,\n defaultUrl: process.env.IDBROKER_BASE_URL,\n },\n identity: {\n url: process.env.IDENTITY_BASE_URL,\n defaultUrl: process.env.IDENTITY_BASE_URL,\n },\n activationUrl: `${\n process.env.IDBROKER_BASE_URL || 'https://idbroker.webex.com'\n }/idb/token/v1/actions/UserActivation/invoke`,\n authorizeUrl: `${\n process.env.IDBROKER_BASE_URL || 'https://idbroker.webex.com'\n }/idb/oauth2/v1/authorize`,\n setPasswordUrl: `${\n process.env.IDBROKER_BASE_URL || 'https://identity.webex.com'\n }/identity/scim/v1/Users`,\n logoutUrl: `${\n process.env.IDBROKER_BASE_URL || 'https://idbroker.webex.com'\n }/idb/oauth2/v1/logout`,\n // eslint-disable-next-line camelcase\n client_id: 'fake',\n // eslint-disable-next-line camelcase\n client_secret: 'fake',\n // eslint-disable-next-line camelcase\n redirect_uri: 'http://example.com',\n // eslint-disable-next-line camelcase\n scope: 'scope:one',\n service: 'webex',\n },\n conversation: {\n allowedTags: {\n 'webex-mention': ['data-object-type', 'data-object-id', 'data-object-url'],\n },\n },\n avatar: {},\n device: {},\n encryption: {},\n logger: {},\n mercury: {},\n metrics: {},\n support: {},\n user: {},\n llm: {},\n voicea: {},\n meetings: {\n mediaSettings: {\n pstn: false,\n },\n reconnection: {\n enabled: true,\n detection: true,\n retry: {\n times: 2,\n backOff: {\n start: 1000,\n rate: 2,\n },\n },\n },\n stats: {\n interval: 1000,\n historyMax: 120,\n },\n metrics: {\n clientType: 'TEAMS_CLIENT',\n clientName: 'WEBEX_JS_SDK',\n mqaMetricsInterval: 60000,\n autoSendMQA: true,\n },\n },\n },\n initialize: function initialize(attrs) {\n this.boundedStorage = makeMockStorage(attrs && attrs.initialBoundedStorage);\n this.unboundedStorage = makeMockStorage(attrs && attrs.initialUnboundedStorage);\n },\n })\n );\n\n const webex = new MockWebex(options && options.attrs);\n\n sinon.spy(webex, 'refresh');\n _.defaults(webex, {\n credentials: {\n authorization: 'Basic NOTATOKEN',\n getUserToken: sinon.stub().returns(\n Promise.resolve({\n toString: function toString() {\n return 'Basic NOTATOKEN';\n },\n })\n ),\n getClientToken: sinon.stub().returns(\n Promise.resolve({\n toString: function toString() {\n return 'Basic NOTATOKEN';\n },\n })\n ),\n },\n sessionId: 'mock-webex_88888888-4444-4444-4444-aaaaaaaaaaaa',\n logger: process.env.MOCK_LOGGER\n ? console\n : {\n error: sinon.spy(),\n warn: sinon.spy(),\n log: sinon.spy(),\n info: sinon.spy(),\n debug: sinon.spy(),\n },\n });\n\n _.defaults(webex.internal, {\n avatar: {},\n conversation: {},\n device: {\n webSocketUrl: 'ws://example.com',\n getWebSocketUrl: sinon.stub().returns(Promise.resolve('ws://example-2.com')),\n features: {\n developer: {\n get: sinon.stub(),\n },\n entitlement: {\n get: sinon.stub(),\n },\n user: {\n get: sinon.stub(),\n },\n },\n registered: true,\n register: sinon.stub().returns(Promise.resolve()),\n ipNetworkDetector: {\n get supportsIpV4() {\n return true;\n },\n get supportsIpV6() {\n return true;\n },\n },\n },\n feature: {\n setFeature: sinon.stub().returns(Promise.resolve(false)),\n getFeature: sinon.stub().returns(Promise.resolve(false)),\n },\n encryption: {},\n metrics: {\n sendUnstructured: sinon.spy(),\n },\n support: {},\n user: {},\n mercury: {},\n llm: {},\n voicea: {},\n newMetrics: {\n submitInternalEvent: sinon.stub(),\n submitMQE: sinon.stub(),\n submitClientEvent: sinon.stub(),\n callDiagnosticLatencies: {\n saveTimestamp: sinon.stub(),\n },\n callDiagnosticMetrics: {\n submitClientEvent: sinon.stub(),\n submitMQE: sinon.stub(),\n callDiagnosticEventsBatcher: {\n queue: sinon.stub(),\n },\n submitToCallDiagnostics: sinon.stub(),\n },\n },\n });\n\n return webex;\n}\n\nmodule.exports = makeWebex;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "name": "@webex/test-helper-mock-webex",
3
- "version": "2.59.8",
4
3
  "description": "",
5
4
  "license": "MIT",
6
5
  "main": "dist/index.js",
@@ -10,17 +9,17 @@
10
9
  "directory": "packages/@webex/test-helper-mock-webex"
11
10
  },
12
11
  "engines": {
13
- "node": ">=14"
12
+ "node": ">=16"
14
13
  },
15
14
  "devDependencies": {
16
15
  "@babel/core": "^7.17.10",
17
- "@webex/babel-config-legacy": "2.59.8",
18
- "@webex/eslint-config-legacy": "2.59.8",
19
- "@webex/jest-config-legacy": "2.59.8",
20
- "@webex/legacy-tools": "2.59.8",
21
- "@webex/test-helper-chai": "2.59.8",
22
- "@webex/test-helper-mocha": "2.59.8",
23
- "@webex/test-helper-test-users": "2.59.8",
16
+ "@webex/babel-config-legacy": "^0.0.0",
17
+ "@webex/eslint-config-legacy": "^0.0.0",
18
+ "@webex/jest-config-legacy": "^0.0.0",
19
+ "@webex/legacy-tools": "^0.0.0",
20
+ "@webex/test-helper-chai": "^2.60.0-next.2",
21
+ "@webex/test-helper-mocha": "^2.60.0-next.2",
22
+ "@webex/test-helper-test-users": "^2.60.0-next.2",
24
23
  "eslint": "^8.24.0",
25
24
  "prettier": "^2.7.1",
26
25
  "sinon": "^9.2.4"
@@ -33,10 +32,12 @@
33
32
  "scripts": {
34
33
  "build": "yarn build:src",
35
34
  "build:src": "webex-legacy-tools build -dest \"./dist\" -src \"./src\" -js -ts -maps",
35
+ "deploy:npm": "yarn npm publish",
36
36
  "test": "yarn test:style && yarn test:unit && yarn test:integration && yarn test:browser",
37
37
  "test:browser": "webex-legacy-tools test --integration --unit --runner karma",
38
38
  "test:integration": "webex-legacy-tools test --integration --runner mocha",
39
39
  "test:style": "eslint ./src/**/*.*",
40
40
  "test:unit": "webex-legacy-tools test --unit --runner jest"
41
- }
42
- }
41
+ },
42
+ "version": "2.60.0-next.2"
43
+ }
package/src/index.js CHANGED
@@ -185,13 +185,7 @@ function makeWebex(options) {
185
185
  voicea: {},
186
186
  meetings: {
187
187
  mediaSettings: {
188
- sendAudio: true,
189
- sendVideo: true,
190
- receiveAudio: true,
191
- receiveVideo: true,
192
188
  pstn: false,
193
- sendShare: false,
194
- receiveShare: false,
195
189
  },
196
190
  reconnection: {
197
191
  enabled: true,
@@ -275,6 +269,14 @@ function makeWebex(options) {
275
269
  },
276
270
  registered: true,
277
271
  register: sinon.stub().returns(Promise.resolve()),
272
+ ipNetworkDetector: {
273
+ get supportsIpV4() {
274
+ return true;
275
+ },
276
+ get supportsIpV6() {
277
+ return true;
278
+ },
279
+ },
278
280
  },
279
281
  feature: {
280
282
  setFeature: sinon.stub().returns(Promise.resolve(false)),
@@ -289,6 +291,22 @@ function makeWebex(options) {
289
291
  mercury: {},
290
292
  llm: {},
291
293
  voicea: {},
294
+ newMetrics: {
295
+ submitInternalEvent: sinon.stub(),
296
+ submitMQE: sinon.stub(),
297
+ submitClientEvent: sinon.stub(),
298
+ callDiagnosticLatencies: {
299
+ saveTimestamp: sinon.stub(),
300
+ },
301
+ callDiagnosticMetrics: {
302
+ submitClientEvent: sinon.stub(),
303
+ submitMQE: sinon.stub(),
304
+ callDiagnosticEventsBatcher: {
305
+ queue: sinon.stub(),
306
+ },
307
+ submitToCallDiagnostics: sinon.stub(),
308
+ },
309
+ },
292
310
  });
293
311
 
294
312
  return webex;