@webex/test-helper-mock-webex 3.0.0-beta.21 → 3.0.0-beta.210

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
@@ -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,
@@ -257,7 +251,23 @@ function makeWebex(options) {
257
251
  user: {},
258
252
  mercury: {},
259
253
  llm: {},
260
- voicea: {}
254
+ voicea: {},
255
+ newMetrics: {
256
+ submitInternalEvent: sinon.stub(),
257
+ submitMQE: sinon.stub(),
258
+ submitClientEvent: sinon.stub(),
259
+ callDiagnosticLatencies: {
260
+ saveTimestamp: sinon.stub()
261
+ },
262
+ callDiagnosticMetrics: {
263
+ submitClientEvent: sinon.stub(),
264
+ submitMQE: sinon.stub(),
265
+ callDiagnosticEventsBatcher: {
266
+ queue: sinon.stub()
267
+ },
268
+ submitToCallDiagnostics: sinon.stub()
269
+ }
270
+ }
261
271
  });
262
272
  return webex;
263
273
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["require","polyfill","_","sinon","State","nonInternalPlugins","makeWebex","options","requestPromise","resolve","statusCode","body","uploadPromise","children","internalOptions","internalChildren","externalChildren","forEach","key","indexOf","internal","extend","on","makeMockStorage","data","spy","once","listenTo","listenToAndRun","clear","namespace","del","get","ret","reject","Error","put","value","JSON","parse","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","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":["require","polyfill","_","sinon","State","nonInternalPlugins","makeWebex","options","requestPromise","resolve","statusCode","body","uploadPromise","children","internalOptions","internalChildren","externalChildren","forEach","key","indexOf","internal","extend","on","makeMockStorage","data","spy","once","listenTo","listenToAndRun","clear","namespace","del","get","ret","reject","Error","put","value","JSON","parse","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","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","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 },\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,6 @@
1
1
  {
2
2
  "name": "@webex/test-helper-mock-webex",
3
- "version": "3.0.0-beta.21",
3
+ "version": "3.0.0-beta.210",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
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,
@@ -289,6 +283,22 @@ function makeWebex(options) {
289
283
  mercury: {},
290
284
  llm: {},
291
285
  voicea: {},
286
+ newMetrics: {
287
+ submitInternalEvent: sinon.stub(),
288
+ submitMQE: sinon.stub(),
289
+ submitClientEvent: sinon.stub(),
290
+ callDiagnosticLatencies: {
291
+ saveTimestamp: sinon.stub(),
292
+ },
293
+ callDiagnosticMetrics: {
294
+ submitClientEvent: sinon.stub(),
295
+ submitMQE: sinon.stub(),
296
+ callDiagnosticEventsBatcher: {
297
+ queue: sinon.stub(),
298
+ },
299
+ submitToCallDiagnostics: sinon.stub(),
300
+ },
301
+ },
292
302
  });
293
303
 
294
304
  return webex;