@webex/internal-plugin-dss 2.60.1-next.9 → 2.60.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/config.js DELETED
@@ -1,35 +0,0 @@
1
- "use strict";
2
-
3
- var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
- _Object$defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- /*!
9
- * Copyright (c) 2015-2022 Cisco Systems, Inc. See LICENSE file.
10
- */
11
- var _default = exports.default = {
12
- dss: {
13
- /**
14
- * Timeout before DSS request fails, in milliseconds.
15
- * @type {Number}
16
- */
17
- requestTimeout: 6000,
18
- /**
19
- * Debounce wait (ms) before sending a dss request (gap between lookups that will trigger a request)
20
- * @type {Number}
21
- */
22
- batcherWait: 50,
23
- /**
24
- * Maximum queue size before sending a dss request
25
- * @type {Number}
26
- */
27
- batcherMaxCalls: 50,
28
- /**
29
- * Debounce max wait (ms) before sending a dss request (time from first lookup that will trigger a request)
30
- * @type {Number}
31
- */
32
- batcherMaxWait: 150
33
- }
34
- };
35
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_default","exports","default","dss","requestTimeout","batcherWait","batcherMaxCalls","batcherMaxWait"],"sources":["config.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2022 Cisco Systems, Inc. See LICENSE file.\n */\n\nexport default {\n dss: {\n /**\n * Timeout before DSS request fails, in milliseconds.\n * @type {Number}\n */\n requestTimeout: 6000,\n\n /**\n * Debounce wait (ms) before sending a dss request (gap between lookups that will trigger a request)\n * @type {Number}\n */\n batcherWait: 50,\n\n /**\n * Maximum queue size before sending a dss request\n * @type {Number}\n */\n batcherMaxCalls: 50,\n\n /**\n * Debounce max wait (ms) before sending a dss request (time from first lookup that will trigger a request)\n * @type {Number}\n */\n batcherMaxWait: 150,\n },\n};\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AAFA,IAAAA,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAIe;EACbC,GAAG,EAAE;IACH;AACJ;AACA;AACA;IACIC,cAAc,EAAE,IAAI;IAEpB;AACJ;AACA;AACA;IACIC,WAAW,EAAE,EAAE;IAEf;AACJ;AACA;AACA;IACIC,eAAe,EAAE,EAAE;IAEnB;AACJ;AACA;AACA;IACIC,cAAc,EAAE;EAClB;AACF,CAAC"}
@@ -1,138 +0,0 @@
1
- "use strict";
2
-
3
- var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
- var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
5
- _Object$defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
- var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
10
- var _webexCore = require("@webex/webex-core");
11
- /*!
12
- * Copyright (c) 2015-2022 Cisco Systems, Inc. See LICENSE file.
13
- */
14
- /* eslint-disable no-underscore-dangle */
15
-
16
- /**
17
- * @class
18
- */
19
- var DssBatcher = _webexCore.Batcher.extend({
20
- namespace: 'DSS',
21
- props: {
22
- resource: {
23
- type: 'string',
24
- required: true,
25
- setOnce: true,
26
- allowNull: false
27
- },
28
- dataPath: {
29
- type: 'string',
30
- required: true,
31
- setOnce: true,
32
- allowNull: false
33
- },
34
- entitiesFoundPath: {
35
- type: 'string',
36
- required: true,
37
- setOnce: true,
38
- allowNull: false
39
- },
40
- entitiesNotFoundPath: {
41
- type: 'string',
42
- required: true,
43
- setOnce: true,
44
- allowNull: false
45
- },
46
- requestKey: {
47
- type: 'string',
48
- required: true,
49
- setOnce: true,
50
- allowNull: false
51
- }
52
- },
53
- /**
54
- * Submits the DSS request
55
- * @param {Object} payload
56
- * @returns {Promise<Array>}
57
- */
58
- submitHttpRequest: function submitHttpRequest(payload) {
59
- return this.parent._request({
60
- dataPath: this.dataPath,
61
- foundPath: this.entitiesFoundPath,
62
- notFoundPath: this.entitiesNotFoundPath,
63
- resource: this.resource,
64
- params: {
65
- lookupValues: payload
66
- }
67
- });
68
- },
69
- /**
70
- * Actions taken when the http request returns a success
71
- * @param {Promise<Array>} res
72
- * @returns {Promise<undefined>}
73
- */
74
- handleHttpSuccess: function handleHttpSuccess(res) {
75
- var _this = this;
76
- var successItems = res.foundArray.map(function (requestValue, index) {
77
- return {
78
- requestValue: requestValue,
79
- entity: res.resultArray[index]
80
- };
81
- });
82
- var failureItems = res.notFoundArray.map(function (requestValue) {
83
- return {
84
- requestValue: requestValue,
85
- entity: null
86
- };
87
- });
88
- return _promise.default.all(successItems.concat(failureItems).map(function (item) {
89
- return _this.acceptItem(item);
90
- }));
91
- },
92
- /**
93
- * Checks if the item was found
94
- * @param {Object} item
95
- * @returns {Promise<Boolean>}
96
- */
97
- didItemFail: function didItemFail(item) {
98
- return _promise.default.resolve(item.entity === null);
99
- },
100
- /**
101
- * Finds the Defer for the specified item and resolves its promise with null
102
- * @param {Object} item
103
- * @returns {Promise<undefined>}
104
- */
105
- handleItemFailure: function handleItemFailure(item) {
106
- return this.getDeferredForResponse(item).then(function (defer) {
107
- defer.resolve(null);
108
- });
109
- },
110
- /**
111
- * Finds the Defer for the specified item and resolves its promise
112
- * @param {Object} item
113
- * @returns {Promise<undefined>}
114
- */
115
- handleItemSuccess: function handleItemSuccess(item) {
116
- return this.getDeferredForResponse(item).then(function (defer) {
117
- defer.resolve(item.entity);
118
- });
119
- },
120
- /**
121
- * Returns a promise with the unique key for the item
122
- * @param {Object} item
123
- * @returns {Promise}
124
- */
125
- fingerprintRequest: function fingerprintRequest(item) {
126
- return _promise.default.resolve(item);
127
- },
128
- /**
129
- * Returns a promise with the unique key for the item
130
- * @param {Object} item
131
- * @returns {Promise}
132
- */
133
- fingerprintResponse: function fingerprintResponse(item) {
134
- return _promise.default.resolve(item.requestValue);
135
- }
136
- });
137
- var _default = exports.default = DssBatcher;
138
- //# sourceMappingURL=dss-batcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_webexCore","require","DssBatcher","Batcher","extend","namespace","props","resource","type","required","setOnce","allowNull","dataPath","entitiesFoundPath","entitiesNotFoundPath","requestKey","submitHttpRequest","payload","parent","_request","foundPath","notFoundPath","params","lookupValues","handleHttpSuccess","res","_this","successItems","foundArray","map","requestValue","index","entity","resultArray","failureItems","notFoundArray","_promise","default","all","concat","item","acceptItem","didItemFail","resolve","handleItemFailure","getDeferredForResponse","then","defer","handleItemSuccess","fingerprintRequest","fingerprintResponse","_default","exports"],"sources":["dss-batcher.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2022 Cisco Systems, Inc. See LICENSE file.\n */\n/* eslint-disable no-underscore-dangle */\n\nimport {Batcher} from '@webex/webex-core';\n\n/**\n * @class\n */\nconst DssBatcher = Batcher.extend({\n namespace: 'DSS',\n\n props: {\n resource: {\n type: 'string',\n required: true,\n setOnce: true,\n allowNull: false,\n },\n dataPath: {\n type: 'string',\n required: true,\n setOnce: true,\n allowNull: false,\n },\n entitiesFoundPath: {\n type: 'string',\n required: true,\n setOnce: true,\n allowNull: false,\n },\n entitiesNotFoundPath: {\n type: 'string',\n required: true,\n setOnce: true,\n allowNull: false,\n },\n requestKey: {\n type: 'string',\n required: true,\n setOnce: true,\n allowNull: false,\n },\n },\n\n /**\n * Submits the DSS request\n * @param {Object} payload\n * @returns {Promise<Array>}\n */\n submitHttpRequest(payload: unknown) {\n return this.parent._request({\n dataPath: this.dataPath,\n foundPath: this.entitiesFoundPath,\n notFoundPath: this.entitiesNotFoundPath,\n resource: this.resource,\n params: {\n lookupValues: payload,\n },\n });\n },\n\n /**\n * Actions taken when the http request returns a success\n * @param {Promise<Array>} res\n * @returns {Promise<undefined>}\n */\n handleHttpSuccess(res) {\n const successItems = res.foundArray.map((requestValue, index) => ({\n requestValue,\n entity: res.resultArray[index],\n }));\n const failureItems = res.notFoundArray.map((requestValue) => ({requestValue, entity: null}));\n\n return Promise.all(successItems.concat(failureItems).map((item) => this.acceptItem(item)));\n },\n\n /**\n * Checks if the item was found\n * @param {Object} item\n * @returns {Promise<Boolean>}\n */\n didItemFail(item) {\n return Promise.resolve(item.entity === null);\n },\n\n /**\n * Finds the Defer for the specified item and resolves its promise with null\n * @param {Object} item\n * @returns {Promise<undefined>}\n */\n handleItemFailure(item) {\n return this.getDeferredForResponse(item).then((defer) => {\n defer.resolve(null);\n });\n },\n\n /**\n * Finds the Defer for the specified item and resolves its promise\n * @param {Object} item\n * @returns {Promise<undefined>}\n */\n handleItemSuccess(item) {\n return this.getDeferredForResponse(item).then((defer) => {\n defer.resolve(item.entity);\n });\n },\n\n /**\n * Returns a promise with the unique key for the item\n * @param {Object} item\n * @returns {Promise}\n */\n fingerprintRequest(item) {\n return Promise.resolve(item);\n },\n\n /**\n * Returns a promise with the unique key for the item\n * @param {Object} item\n * @returns {Promise}\n */\n fingerprintResponse(item) {\n return Promise.resolve(item.requestValue);\n },\n});\n\nexport default DssBatcher;\n"],"mappings":"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"}
@@ -1,49 +0,0 @@
1
- "use strict";
2
-
3
- var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
4
- var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
5
- var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
- _Object$defineProperty(exports, "__esModule", {
7
- value: true
8
- });
9
- exports.DssTimeoutError = void 0;
10
- var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
11
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
13
- var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
14
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
15
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
16
- var _common = require("@webex/common");
17
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
18
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
19
- /**
20
- * Thrown when an expected DSS respond is not received in a timely manner.
21
- */
22
- var DssTimeoutError = exports.DssTimeoutError = /*#__PURE__*/function (_Exception) {
23
- (0, _inherits2.default)(DssTimeoutError, _Exception);
24
- var _super = _createSuper(DssTimeoutError);
25
- /**
26
- * Construct DssTimeoutError
27
- * @param {DssTimeoutErrorParams} details
28
- */
29
- // eslint-disable-next-line no-useless-constructor
30
- function DssTimeoutError(details) {
31
- (0, _classCallCheck2.default)(this, DssTimeoutError);
32
- return _super.call(this, details);
33
- }
34
-
35
- /**
36
- * Parse Error details
37
- *
38
- * @param {DssTimeoutErrorParams} details
39
- * @returns {string}
40
- */
41
- (0, _createClass2.default)(DssTimeoutError, [{
42
- key: "parse",
43
- value: function parse(details) {
44
- return "The DSS did not respond within ".concat(details.timeout, " ms.") + "\n Request Id: ".concat(details.requestId) + "\n Resource: ".concat(details.resource) + "\n Params: ".concat((0, _stringify.default)(details.params));
45
- }
46
- }]);
47
- return DssTimeoutError;
48
- }(_common.Exception);
49
- //# sourceMappingURL=dss-errors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_common","require","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","DssTimeoutError","exports","_Exception","_inherits2","_super","details","_classCallCheck2","_createClass2","key","value","parse","concat","timeout","requestId","resource","_stringify","params","Exception"],"sources":["dss-errors.ts"],"sourcesContent":["import {Exception} from '@webex/common';\nimport {RequestOptions} from './types';\n\ninterface DssTimeoutErrorParams extends Required<Pick<RequestOptions, 'resource' | 'params'>> {\n requestId: string;\n timeout: number;\n}\n\n/**\n * Thrown when an expected DSS respond is not received in a timely manner.\n */\nexport class DssTimeoutError extends Exception {\n /**\n * Construct DssTimeoutError\n * @param {DssTimeoutErrorParams} details\n */\n // eslint-disable-next-line no-useless-constructor\n constructor(details: DssTimeoutErrorParams) {\n super(details);\n }\n\n /**\n * Parse Error details\n *\n * @param {DssTimeoutErrorParams} details\n * @returns {string}\n */\n parse(details: DssTimeoutErrorParams) {\n return (\n `The DSS did not respond within ${details.timeout} ms.` +\n `\\n Request Id: ${details.requestId}` +\n `\\n Resource: ${details.resource}` +\n `\\n Params: ${JSON.stringify(details.params)}`\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAAwC,SAAAC,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAC,OAAA,EAAAN,OAAA,GAAAO,MAAA,MAAAN,yBAAA,QAAAO,SAAA,OAAAH,gBAAA,CAAAC,OAAA,QAAAG,WAAA,EAAAF,MAAA,GAAAG,kBAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAH,SAAA,YAAAD,MAAA,GAAAH,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,CAAAP,OAAA,QAAAC,MAAA;AAAA,SAAAL,0BAAA,eAAAY,OAAA,qBAAAJ,kBAAA,oBAAAA,kBAAA,CAAAK,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,kBAAA,CAAAO,OAAA,8CAAAI,CAAA;AAQxC;AACA;AACA;AAFA,IAGaC,eAAe,GAAAC,OAAA,CAAAD,eAAA,0BAAAE,UAAA;EAAA,IAAAC,UAAA,CAAAnB,OAAA,EAAAgB,eAAA,EAAAE,UAAA;EAAA,IAAAE,MAAA,GAAA3B,YAAA,CAAAuB,eAAA;EAC1B;AACF;AACA;AACA;EACE;EACA,SAAAA,gBAAYK,OAA8B,EAAE;IAAA,IAAAC,gBAAA,CAAAtB,OAAA,QAAAgB,eAAA;IAAA,OAAAI,MAAA,CAAAN,IAAA,OACpCO,OAAO;EACf;;EAEA;AACF;AACA;AACA;AACA;AACA;EALE,IAAAE,aAAA,CAAAvB,OAAA,EAAAgB,eAAA;IAAAQ,GAAA;IAAAC,KAAA,EAMA,SAAAC,MAAML,OAA8B,EAAE;MACpC,OACE,kCAAAM,MAAA,CAAkCN,OAAO,CAACO,OAAO,8BAAAD,MAAA,CAC/BN,OAAO,CAACQ,SAAS,CAAE,mBAAAF,MAAA,CACrBN,OAAO,CAACS,QAAQ,CAAE,iBAAAH,MAAA,CACpB,IAAAI,UAAA,CAAA/B,OAAA,EAAeqB,OAAO,CAACW,MAAM,CAAC,CAAE;IAElD;EAAC;EAAA,OAAAhB,eAAA;AAAA,EAvBkCiB,iBAAS"}
package/src/config.ts DELETED
@@ -1,31 +0,0 @@
1
- /*!
2
- * Copyright (c) 2015-2022 Cisco Systems, Inc. See LICENSE file.
3
- */
4
-
5
- export default {
6
- dss: {
7
- /**
8
- * Timeout before DSS request fails, in milliseconds.
9
- * @type {Number}
10
- */
11
- requestTimeout: 6000,
12
-
13
- /**
14
- * Debounce wait (ms) before sending a dss request (gap between lookups that will trigger a request)
15
- * @type {Number}
16
- */
17
- batcherWait: 50,
18
-
19
- /**
20
- * Maximum queue size before sending a dss request
21
- * @type {Number}
22
- */
23
- batcherMaxCalls: 50,
24
-
25
- /**
26
- * Debounce max wait (ms) before sending a dss request (time from first lookup that will trigger a request)
27
- * @type {Number}
28
- */
29
- batcherMaxWait: 150,
30
- },
31
- };
@@ -1,129 +0,0 @@
1
- /*!
2
- * Copyright (c) 2015-2022 Cisco Systems, Inc. See LICENSE file.
3
- */
4
- /* eslint-disable no-underscore-dangle */
5
-
6
- import {Batcher} from '@webex/webex-core';
7
-
8
- /**
9
- * @class
10
- */
11
- const DssBatcher = Batcher.extend({
12
- namespace: 'DSS',
13
-
14
- props: {
15
- resource: {
16
- type: 'string',
17
- required: true,
18
- setOnce: true,
19
- allowNull: false,
20
- },
21
- dataPath: {
22
- type: 'string',
23
- required: true,
24
- setOnce: true,
25
- allowNull: false,
26
- },
27
- entitiesFoundPath: {
28
- type: 'string',
29
- required: true,
30
- setOnce: true,
31
- allowNull: false,
32
- },
33
- entitiesNotFoundPath: {
34
- type: 'string',
35
- required: true,
36
- setOnce: true,
37
- allowNull: false,
38
- },
39
- requestKey: {
40
- type: 'string',
41
- required: true,
42
- setOnce: true,
43
- allowNull: false,
44
- },
45
- },
46
-
47
- /**
48
- * Submits the DSS request
49
- * @param {Object} payload
50
- * @returns {Promise<Array>}
51
- */
52
- submitHttpRequest(payload: unknown) {
53
- return this.parent._request({
54
- dataPath: this.dataPath,
55
- foundPath: this.entitiesFoundPath,
56
- notFoundPath: this.entitiesNotFoundPath,
57
- resource: this.resource,
58
- params: {
59
- lookupValues: payload,
60
- },
61
- });
62
- },
63
-
64
- /**
65
- * Actions taken when the http request returns a success
66
- * @param {Promise<Array>} res
67
- * @returns {Promise<undefined>}
68
- */
69
- handleHttpSuccess(res) {
70
- const successItems = res.foundArray.map((requestValue, index) => ({
71
- requestValue,
72
- entity: res.resultArray[index],
73
- }));
74
- const failureItems = res.notFoundArray.map((requestValue) => ({requestValue, entity: null}));
75
-
76
- return Promise.all(successItems.concat(failureItems).map((item) => this.acceptItem(item)));
77
- },
78
-
79
- /**
80
- * Checks if the item was found
81
- * @param {Object} item
82
- * @returns {Promise<Boolean>}
83
- */
84
- didItemFail(item) {
85
- return Promise.resolve(item.entity === null);
86
- },
87
-
88
- /**
89
- * Finds the Defer for the specified item and resolves its promise with null
90
- * @param {Object} item
91
- * @returns {Promise<undefined>}
92
- */
93
- handleItemFailure(item) {
94
- return this.getDeferredForResponse(item).then((defer) => {
95
- defer.resolve(null);
96
- });
97
- },
98
-
99
- /**
100
- * Finds the Defer for the specified item and resolves its promise
101
- * @param {Object} item
102
- * @returns {Promise<undefined>}
103
- */
104
- handleItemSuccess(item) {
105
- return this.getDeferredForResponse(item).then((defer) => {
106
- defer.resolve(item.entity);
107
- });
108
- },
109
-
110
- /**
111
- * Returns a promise with the unique key for the item
112
- * @param {Object} item
113
- * @returns {Promise}
114
- */
115
- fingerprintRequest(item) {
116
- return Promise.resolve(item);
117
- },
118
-
119
- /**
120
- * Returns a promise with the unique key for the item
121
- * @param {Object} item
122
- * @returns {Promise}
123
- */
124
- fingerprintResponse(item) {
125
- return Promise.resolve(item.requestValue);
126
- },
127
- });
128
-
129
- export default DssBatcher;
package/src/dss-errors.ts DELETED
@@ -1,36 +0,0 @@
1
- import {Exception} from '@webex/common';
2
- import {RequestOptions} from './types';
3
-
4
- interface DssTimeoutErrorParams extends Required<Pick<RequestOptions, 'resource' | 'params'>> {
5
- requestId: string;
6
- timeout: number;
7
- }
8
-
9
- /**
10
- * Thrown when an expected DSS respond is not received in a timely manner.
11
- */
12
- export class DssTimeoutError extends Exception {
13
- /**
14
- * Construct DssTimeoutError
15
- * @param {DssTimeoutErrorParams} details
16
- */
17
- // eslint-disable-next-line no-useless-constructor
18
- constructor(details: DssTimeoutErrorParams) {
19
- super(details);
20
- }
21
-
22
- /**
23
- * Parse Error details
24
- *
25
- * @param {DssTimeoutErrorParams} details
26
- * @returns {string}
27
- */
28
- parse(details: DssTimeoutErrorParams) {
29
- return (
30
- `The DSS did not respond within ${details.timeout} ms.` +
31
- `\n Request Id: ${details.requestId}` +
32
- `\n Resource: ${details.resource}` +
33
- `\n Params: ${JSON.stringify(details.params)}`
34
- );
35
- }
36
- }
@@ -1,139 +0,0 @@
1
- /*!
2
- * Copyright (c) 2015-2022 Cisco Systems, Inc. See LICENSE file.
3
- */
4
- /* eslint-disable no-underscore-dangle */
5
-
6
- import {expect} from '@webex/test-helper-chai';
7
- import sinon from 'sinon';
8
- import DSS from '@webex/internal-plugin-dss';
9
- import DssBatcher from '@webex/internal-plugin-dss/src/dss-batcher';
10
- import MockWebex from '@webex/test-helper-mock-webex';
11
- import {Defer} from '@webex/common';
12
-
13
- describe('plugin-dss', () => {
14
- describe('DssBatcher', () => {
15
- let batcher;
16
- let webex;
17
-
18
- beforeEach(() => {
19
- webex = MockWebex({
20
- canAuthorize: false,
21
- children: {
22
- dss: DSS,
23
- },
24
- });
25
- batcher = new DssBatcher({
26
- resource: 'fakeResource',
27
- dataPath: 'fakeDataPath',
28
- entitiesFoundPath: 'fakeEntitiesFoundPath',
29
- entitiesNotFoundPath: 'fakeEntitiesNotFoundPath',
30
- requestKey: 'fakeRequestKey',
31
- parent: webex.internal.dss,
32
- });
33
- webex.internal.dss.batchers.fakeResource = batcher;
34
- });
35
-
36
- describe('#submitHttpRequest', () => {
37
- it('calls dss._request with expected params', async () => {
38
- webex.internal.dss._request = sinon.stub().returns(Promise.resolve('some return value'));
39
-
40
- const result = await batcher.submitHttpRequest(['id1']);
41
-
42
- expect(webex.internal.dss._request.getCall(0).args).to.deep.equal([
43
- {
44
- dataPath: 'fakeDataPath',
45
- foundPath: 'fakeEntitiesFoundPath',
46
- notFoundPath: 'fakeEntitiesNotFoundPath',
47
- resource: 'fakeResource',
48
- params: {
49
- lookupValues: ['id1'],
50
- },
51
- },
52
- ]);
53
- expect(result).to.equal('some return value');
54
- });
55
- });
56
-
57
- describe('#handleHttpSuccess', () => {
58
- it('calls acceptItem on each found or not found entity', async () => {
59
- batcher.acceptItem = sinon.stub().returns(Promise.resolve(undefined));
60
- const res = {
61
- resultArray: ['item1', 'item2'],
62
- foundArray: ['id1', 'id2'],
63
- notFoundArray: ['id3', 'id4'],
64
- };
65
- const result = await batcher.handleHttpSuccess(res);
66
-
67
- expect(batcher.acceptItem.getCalls().map((call) => call.args)).to.deep.equal([
68
- [{requestValue: 'id1', entity: 'item1'}],
69
- [{requestValue: 'id2', entity: 'item2'}],
70
- [{requestValue: 'id3', entity: null}],
71
- [{requestValue: 'id4', entity: null}],
72
- ]);
73
- expect(result).to.deep.equal([undefined, undefined, undefined, undefined]);
74
- });
75
- });
76
-
77
- describe('#didItemFail', () => {
78
- it('returns true if item.entity is null', async () => {
79
- const result = await batcher.didItemFail({entity: null});
80
-
81
- expect(result).to.be.true;
82
- });
83
-
84
- it('returns true if item.entity is not null', async () => {
85
- const result = await batcher.didItemFail({entity: 'something'});
86
-
87
- expect(result).to.be.false;
88
- });
89
- });
90
-
91
- describe('#handleItemFailure', () => {
92
- it('resolves defer for item with null', async () => {
93
- const defer = new Defer();
94
-
95
- batcher.getDeferredForResponse = sinon.stub().returns(Promise.resolve(defer));
96
- const result = await batcher.handleItemFailure({requestValue: 'some request'});
97
- const deferValue = await defer.promise;
98
-
99
- expect(batcher.getDeferredForResponse.getCall(0).args).to.deep.equal([
100
- {requestValue: 'some request'},
101
- ]);
102
- expect(result).to.be.undefined;
103
- expect(deferValue).to.be.null;
104
- });
105
- });
106
-
107
- describe('#handleItemSuccess', () => {
108
- it('resolves defer for item with item.entity', async () => {
109
- const defer = new Defer();
110
-
111
- batcher.getDeferredForResponse = sinon.stub().returns(Promise.resolve(defer));
112
- const result = await batcher.handleItemSuccess({entity: 'some entity'});
113
- const deferValue = await defer.promise;
114
-
115
- expect(batcher.getDeferredForResponse.getCall(0).args).to.deep.equal([
116
- {entity: 'some entity'},
117
- ]);
118
- expect(result).to.be.undefined;
119
- expect(deferValue).to.equal('some entity');
120
- });
121
- });
122
-
123
- describe('#fingerprintRequest', () => {
124
- it('returns request', async () => {
125
- const result = await batcher.fingerprintRequest('some request');
126
-
127
- expect(result).to.equal('some request');
128
- });
129
- });
130
-
131
- describe('#fingerprintResponse', () => {
132
- it('returns response requestValue', async () => {
133
- const result = await batcher.fingerprintResponse({requestValue: 'some request'});
134
-
135
- expect(result).to.equal('some request');
136
- });
137
- });
138
- });
139
- });