@coveo/push-api-client 2.6.5 → 2.7.0

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.
Files changed (86) hide show
  1. package/dist/APICore.js +43 -0
  2. package/dist/APICore.js.map +1 -0
  3. package/dist/definitions/APICore.d.ts +11 -0
  4. package/dist/definitions/{source/catalog.stream.spec.d.ts → help/urlUtils.spec.d.ts} +0 -0
  5. package/dist/definitions/source/batchUploadDocumentsFromFile.spec.d.ts +1 -0
  6. package/dist/definitions/source/catalog.d.ts +1 -0
  7. package/dist/definitions/source/documentUploader.d.ts +3 -2
  8. package/dist/definitions/source/documentUploader.spec.d.ts +1 -0
  9. package/dist/definitions/source/push.d.ts +5 -5
  10. package/dist/definitions/uploadStrategy/fileContainerStrategy.d.ts +4 -4
  11. package/dist/definitions/uploadStrategy/fileContainerStrategy.spec.d.ts +1 -0
  12. package/dist/definitions/uploadStrategy/streamChunkStrategy.d.ts +4 -4
  13. package/dist/definitions/uploadStrategy/streamChunkStrategy.spec.d.ts +1 -0
  14. package/dist/docs/assets/search.js +1 -1
  15. package/dist/docs/classes/AnySecurityIdentityBuilder.html +4 -4
  16. package/dist/docs/classes/CatalogSource.html +24 -17
  17. package/dist/docs/classes/DocumentBuilder.html +28 -28
  18. package/dist/docs/classes/FieldAnalyser.html +12 -12
  19. package/dist/docs/classes/GroupSecurityIdentityBuilder.html +5 -5
  20. package/dist/docs/classes/PushSource.html +40 -43
  21. package/dist/docs/classes/UserSecurityIdentityBuilder.html +5 -5
  22. package/dist/docs/classes/VirtualGroupSecurityIdentityBuilder.html +5 -5
  23. package/dist/docs/classes/errors.FieldTypeInconsistencyError.html +3 -3
  24. package/dist/docs/classes/errors.InvalidDocument.html +3 -3
  25. package/dist/docs/classes/errors.InvalidPermanentId.html +3 -3
  26. package/dist/docs/classes/errors.NotAFileError.html +3 -3
  27. package/dist/docs/classes/errors.NotAJsonFileError.html +3 -3
  28. package/dist/docs/classes/errors.PrivilegeError.html +4 -4
  29. package/dist/docs/classes/errors.UnsupportedAttribute.html +3 -3
  30. package/dist/docs/classes/errors.UnsupportedFieldError.html +6 -6
  31. package/dist/docs/enums/PlatformEnvironment.html +5 -5
  32. package/dist/docs/functions/parseAndGetDocumentBuilderFromJSONDocument.html +1 -1
  33. package/dist/docs/interfaces/BatchUpdateDocuments.html +3 -3
  34. package/dist/docs/interfaces/Document.html +14 -14
  35. package/dist/docs/interfaces/SecurityIdentity.html +4 -4
  36. package/dist/docs/interfaces/SecurityIdentityBuilder.html +2 -2
  37. package/dist/docs/interfaces/UploadBatchCallbackData.html +5 -5
  38. package/dist/docs/modules/errors.html +1 -1
  39. package/dist/docs/types/BatchUpdateDocumentsFromFiles.html +1 -1
  40. package/dist/docs/types/CompressionType.html +1 -1
  41. package/dist/docs/types/FailedUploadCallback.html +1 -1
  42. package/dist/docs/types/Metadata.html +1 -1
  43. package/dist/docs/types/MetadataValue.html +1 -1
  44. package/dist/docs/types/PlatformUrlOptions.html +1 -1
  45. package/dist/docs/types/SecurityIdentityType.html +1 -1
  46. package/dist/docs/types/SuccessfulUploadCallback.html +1 -1
  47. package/dist/docs/types/Transformer.html +1 -1
  48. package/dist/docs/variables/BuiltInTransformers.html +1 -1
  49. package/dist/docs/variables/Source.html +1 -1
  50. package/dist/fieldAnalyser/fieldAnalyser.spec.js +0 -1
  51. package/dist/fieldAnalyser/fieldAnalyser.spec.js.map +1 -1
  52. package/dist/fieldAnalyser/fieldsUtils.spec.js +35 -3
  53. package/dist/fieldAnalyser/fieldsUtils.spec.js.map +1 -1
  54. package/dist/help/urlUtils.spec.js +42 -0
  55. package/dist/help/urlUtils.spec.js.map +1 -0
  56. package/dist/source/batchUploadDocumentsFromFile.spec.js +146 -0
  57. package/dist/source/batchUploadDocumentsFromFile.spec.js.map +1 -0
  58. package/dist/source/catalog.js +4 -5
  59. package/dist/source/catalog.js.map +1 -1
  60. package/dist/source/catalog.spec.js +20 -199
  61. package/dist/source/catalog.spec.js.map +1 -1
  62. package/dist/source/documentUploader.js +2 -3
  63. package/dist/source/documentUploader.js.map +1 -1
  64. package/dist/source/documentUploader.spec.js +119 -0
  65. package/dist/source/documentUploader.spec.js.map +1 -0
  66. package/dist/source/push.js +7 -11
  67. package/dist/source/push.js.map +1 -1
  68. package/dist/source/push.spec.js +91 -270
  69. package/dist/source/push.spec.js.map +1 -1
  70. package/dist/uploadStrategy/fileContainerStrategy.js +4 -5
  71. package/dist/uploadStrategy/fileContainerStrategy.js.map +1 -1
  72. package/dist/uploadStrategy/fileContainerStrategy.spec.js +87 -0
  73. package/dist/uploadStrategy/fileContainerStrategy.spec.js.map +1 -0
  74. package/dist/uploadStrategy/streamChunkStrategy.js +5 -6
  75. package/dist/uploadStrategy/streamChunkStrategy.js.map +1 -1
  76. package/dist/uploadStrategy/streamChunkStrategy.spec.js +82 -0
  77. package/dist/uploadStrategy/streamChunkStrategy.spec.js.map +1 -0
  78. package/package.json +2 -1
  79. package/dist/__stub__/largeDocuments/documentGenerator.js +0 -22
  80. package/dist/__stub__/largeDocuments/documentGenerator.js.map +0 -1
  81. package/dist/definitions/__stub__/largeDocuments/documentGenerator.d.ts +0 -12
  82. package/dist/definitions/help/axiosUtils.d.ts +0 -2
  83. package/dist/help/axiosUtils.js +0 -12
  84. package/dist/help/axiosUtils.js.map +0 -1
  85. package/dist/source/catalog.stream.spec.js +0 -238
  86. package/dist/source/catalog.stream.spec.js.map +0 -1
@@ -2,82 +2,54 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  /* eslint-disable node/no-unpublished-import */
4
4
  jest.mock('@coveo/platform-client');
5
- jest.mock('axios');
6
- jest.mock('../fieldAnalyser/fieldAnalyser');
5
+ jest.mock('./documentUploader');
6
+ jest.mock('../uploadStrategy');
7
+ jest.mock('../APICore');
7
8
  const platform_client_1 = require("@coveo/platform-client");
8
9
  const push_1 = require("./push");
9
10
  const documentBuilder_1 = require("../documentBuilder");
10
- const axios_1 = require("axios");
11
11
  const path_1 = require("path");
12
12
  const process_1 = require("process");
13
13
  const __1 = require("..");
14
- const inconsistencies_1 = require("../fieldAnalyser/inconsistencies");
15
- const fieldErrors_1 = require("../errors/fieldErrors");
16
- const mockAxios = axios_1.default;
17
- const mockedFieldAnalyser = jest.mocked(__1.FieldAnalyser);
14
+ const APICore_1 = require("../APICore");
15
+ const documentUploader_1 = require("./documentUploader");
16
+ const uploadStrategy_1 = require("../uploadStrategy");
17
+ const urlUtils_1 = require("../help/urlUtils");
18
+ const mockedAPICore = jest.mocked(APICore_1.APICore);
19
+ const mockedDelete = jest.fn();
20
+ const mockedPost = jest.fn();
18
21
  const mockedPlatformClient = jest.mocked(platform_client_1.default);
19
22
  const mockCreateSource = jest.fn();
20
- const mockEvaluate = jest.fn();
21
- const mockCreateField = jest.fn();
22
- const mockAnalyserAdd = jest.fn();
23
- const mockAnalyserReport = jest.fn();
24
- const mockedSuccessCallback = jest.fn();
25
- const mockedErrorCallback = jest.fn();
23
+ const mockedUploadDocument = jest.mocked(documentUploader_1.uploadDocument);
24
+ const mockedUploadBatch = jest.mocked(documentUploader_1.uploadBatch);
25
+ const mockedUploadBatchFromFile = jest.mocked(documentUploader_1.uploadBatchFromFile);
26
26
  const pathToStub = (0, path_1.join)((0, process_1.cwd)(), 'src', '__stub__');
27
- const doAxiosMockPost = () => {
28
- mockAxios.post.mockImplementationOnce((url) => {
29
- if (url.match(/files/)) {
30
- return Promise.resolve({
31
- data: {
32
- uploadUri: 'https://fake.upload.url',
33
- fileId: 'file_id',
34
- requiredHeaders: { foo: 'bar' },
35
- },
36
- });
37
- }
38
- return Promise.resolve();
39
- });
27
+ const dummyClient = {
28
+ source: {
29
+ create: mockCreateSource,
30
+ },
40
31
  };
41
- const doMockAxiosPut = () => {
42
- mockAxios.put.mockImplementation(() => Promise.resolve());
32
+ const dummyAPICore = {
33
+ delete: mockedDelete,
34
+ post: mockedPost,
43
35
  };
44
36
  const doMockPlatformClient = () => {
45
- mockedPlatformClient.mockImplementation(() => ({
46
- privilegeEvaluator: { evaluate: mockEvaluate },
47
- source: {
48
- create: mockCreateSource,
49
- },
50
- field: {
51
- createFields: mockCreateField,
52
- },
53
- }));
37
+ mockedPlatformClient.mockImplementation(() => dummyClient);
54
38
  };
55
- const doMockFieldAnalyser = () => {
56
- mockedFieldAnalyser.mockImplementation(() => ({
57
- add: mockAnalyserAdd,
58
- report: mockAnalyserReport,
59
- }));
39
+ const doMockAPICore = () => {
40
+ mockedAPICore.mockImplementation(() => dummyAPICore);
60
41
  };
61
42
  describe('PushSource', () => {
62
- let source;
43
+ let defaultSource;
63
44
  beforeAll(() => {
45
+ doMockAPICore();
64
46
  doMockPlatformClient();
65
- doMockFieldAnalyser();
66
- doMockAxiosPut();
67
47
  });
68
48
  beforeEach(() => {
69
- source = new push_1.PushSource('the_key', 'the_org');
70
- mockEvaluate.mockResolvedValue({ approved: true });
49
+ defaultSource = new push_1.PushSource('the_key', 'the_org');
71
50
  });
72
- const expectedDocumentsHeaders = {
73
- headers: {
74
- Accept: 'application/json',
75
- Authorization: 'Bearer the_key',
76
- 'Content-Type': 'application/json',
77
- },
78
- };
79
51
  it('should call platform client on creation', () => {
80
- source.create('the_name', platform_client_1.SourceVisibility.SHARED);
52
+ defaultSource.create('the_name', platform_client_1.SourceVisibility.SHARED);
81
53
  expect(mockCreateSource).toHaveBeenCalledWith({
82
54
  name: 'the_name',
83
55
  pushEnabled: true,
@@ -85,247 +57,96 @@ describe('PushSource', () => {
85
57
  sourceVisibility: 'SHARED',
86
58
  });
87
59
  });
88
- it('should call axios on add document', async () => {
89
- await source.addOrUpdateDocument('the_id', new documentBuilder_1.DocumentBuilder('the_uri', 'the_title'), { createFields: false });
90
- expect(mockAxios.put).toHaveBeenCalledWith('https://api.cloud.coveo.com/push/v1/organizations/the_org/sources/the_id/documents?documentId=the_uri', expect.objectContaining({ title: 'the_title' }), expectedDocumentsHeaders);
91
- });
92
- it('should call axios on add document with right region', async () => {
93
- const australianSource = new push_1.PushSource('the_key', 'the_org', {
94
- region: __1.Region.AU,
95
- });
96
- await australianSource.addOrUpdateDocument('the_id', new documentBuilder_1.DocumentBuilder('the_uri', 'the_title'), { createFields: false });
97
- expect(mockAxios.put).toHaveBeenCalledWith('https://api-au.cloud.coveo.com/push/v1/organizations/the_org/sources/the_id/documents?documentId=the_uri', expect.objectContaining({ title: 'the_title' }), expectedDocumentsHeaders);
98
- });
99
- it('should call axios on add document with right environment', async () => {
100
- await new push_1.PushSource('the_key', 'the_org', {
101
- environment: __1.PlatformEnvironment.Dev,
102
- }).addOrUpdateDocument('the_id', new documentBuilder_1.DocumentBuilder('the_uri', 'the_title'), { createFields: false });
103
- expect(mockAxios.put).toHaveBeenCalledWith('https://apidev.cloud.coveo.com/push/v1/organizations/the_org/sources/the_id/documents?documentId=the_uri', expect.objectContaining({ title: 'the_title' }), expectedDocumentsHeaders);
60
+ it.each([
61
+ {
62
+ title: 'default region/environment',
63
+ expectedUrl: 'https://api.cloud.coveo.com/push/v1/organizations/the_org/sources/the_id/documents',
64
+ },
65
+ {
66
+ title: 'non default region',
67
+ options: {
68
+ region: __1.Region.AU,
69
+ },
70
+ expectedUrl: 'https://api-au.cloud.coveo.com/push/v1/organizations/the_org/sources/the_id/documents',
71
+ },
72
+ {
73
+ title: 'non default environment',
74
+ options: {
75
+ environment: __1.PlatformEnvironment.Dev,
76
+ },
77
+ expectedUrl: 'https://apidev.cloud.coveo.com/push/v1/organizations/the_org/sources/the_id/documents',
78
+ },
79
+ {
80
+ title: 'non default region/environment',
81
+ options: {
82
+ environment: __1.PlatformEnvironment.Stg,
83
+ region: __1.Region.EU,
84
+ },
85
+ expectedUrl: 'https://apistg-eu.cloud.coveo.com/push/v1/organizations/the_org/sources/the_id/documents',
86
+ },
87
+ ])('should call #uploadDocument with $title', async ({ options, expectedUrl }) => {
88
+ await new push_1.PushSource('the_key', 'the_org', options).addOrUpdateDocument('the_id', new documentBuilder_1.DocumentBuilder('the_uri', 'the_title'));
89
+ expect(mockedUploadDocument).toHaveBeenCalledWith(dummyClient, new documentBuilder_1.DocumentBuilder('the_uri', 'the_title'), new URL(expectedUrl), dummyAPICore, undefined);
104
90
  });
105
- it('should call axios on add document with right region and environment', async () => {
106
- await new push_1.PushSource('the_key', 'the_org', {
107
- environment: __1.PlatformEnvironment.Stg,
108
- region: __1.Region.EU,
109
- }).addOrUpdateDocument('the_id', new documentBuilder_1.DocumentBuilder('the_uri', 'the_title'), { createFields: false });
110
- expect(mockAxios.put).toHaveBeenCalledWith('https://apistg-eu.cloud.coveo.com/push/v1/organizations/the_org/sources/the_id/documents?documentId=the_uri', expect.objectContaining({ title: 'the_title' }), expectedDocumentsHeaders);
91
+ it('should call #uploadDocument with right BatchUpdateDocumentsOptions', async () => {
92
+ await defaultSource.addOrUpdateDocument('the_id', new documentBuilder_1.DocumentBuilder('the_uri', 'the_title'), { createFields: true });
93
+ expect(mockedUploadDocument).toHaveBeenCalledWith(dummyClient, new documentBuilder_1.DocumentBuilder('the_uri', 'the_title'), new URL('https://api.cloud.coveo.com/push/v1/organizations/the_org/sources/the_id/documents'), dummyAPICore, { createFields: true });
111
94
  });
112
- it('should call axios on delete', () => {
113
- source.deleteDocument('the_id', 'the_uri', true);
114
- expect(mockAxios.delete).toHaveBeenCalledWith('https://api.cloud.coveo.com/push/v1/organizations/the_org/sources/the_id/documents?documentId=the_uri&deleteChildren=true', expectedDocumentsHeaders);
95
+ it('should call #APICore on delete', () => {
96
+ defaultSource.deleteDocument('the_id', 'the_uri', true);
97
+ expect(mockedDelete).toHaveBeenCalledWith('https://api.cloud.coveo.com/push/v1/organizations/the_org/sources/the_id/documents?documentId=the_uri&deleteChildren=true');
115
98
  });
116
- it('should call axios on status update', () => {
117
- source.setSourceStatus('the_id', 'INCREMENTAL');
118
- expect(axios_1.default.post).toHaveBeenCalledWith('https://api.cloud.coveo.com/push/v1/organizations/the_org/sources/the_id/status?statusType=INCREMENTAL', {}, expectedDocumentsHeaders);
99
+ it('should call #APICore on status update', () => {
100
+ defaultSource.setSourceStatus('the_id', 'INCREMENTAL');
101
+ expect(mockedPost).toHaveBeenCalledWith('https://api.cloud.coveo.com/push/v1/organizations/the_org/sources/the_id/status?statusType=INCREMENTAL');
119
102
  });
120
- describe('calls axios when doing delete olderthan', () => {
103
+ describe('calls #APICore when doing delete olderthan', () => {
121
104
  const expectCorrectOrderingId = (id) => {
122
- expect(mockAxios.delete).toHaveBeenCalledWith(`https://api.cloud.coveo.com/push/v1/organizations/the_org/sources/the_id/documents/olderthan?orderingId=${id}`, expectedDocumentsHeaders);
105
+ expect(mockedDelete).toHaveBeenCalledWith(`https://api.cloud.coveo.com/push/v1/organizations/the_org/sources/the_id/documents/olderthan?orderingId=${id}`);
123
106
  };
124
107
  it('with a date', () => {
125
108
  const now = new Date();
126
- source.deleteDocumentsOlderThan('the_id', now);
109
+ defaultSource.deleteDocumentsOlderThan('the_id', now);
127
110
  expectCorrectOrderingId(now.valueOf());
128
111
  });
129
112
  it('with a date string', () => {
130
- source.deleteDocumentsOlderThan('the_id', '2001/01/01');
113
+ defaultSource.deleteDocumentsOlderThan('the_id', '2001/01/01');
131
114
  expectCorrectOrderingId(new Date('2001/01/01').valueOf());
132
115
  });
133
116
  it('with a timestamp', () => {
134
117
  const nowInTimestamp = new Date().valueOf();
135
- source.deleteDocumentsOlderThan('the_id', nowInTimestamp);
118
+ defaultSource.deleteDocumentsOlderThan('the_id', nowInTimestamp);
136
119
  expectCorrectOrderingId(nowInTimestamp);
137
120
  });
138
121
  });
139
- it('should call axios on delete', () => {
140
- source.deleteDocument('the_id', 'the_uri', true);
141
- expect(mockAxios.delete).toHaveBeenCalledWith('https://api.cloud.coveo.com/push/v1/organizations/the_org/sources/the_id/documents?documentId=the_uri&deleteChildren=true', expectedDocumentsHeaders);
122
+ it('should call #APICore on delete', () => {
123
+ defaultSource.deleteDocument('the_id', 'the_uri', true);
124
+ expect(mockedDelete).toHaveBeenCalledWith('https://api.cloud.coveo.com/push/v1/organizations/the_org/sources/the_id/documents?documentId=the_uri&deleteChildren=true');
142
125
  });
143
126
  describe('when doing batch update', () => {
144
- let batch;
145
- beforeEach(() => {
146
- batch = {
147
- addOrUpdate: [
148
- new documentBuilder_1.DocumentBuilder('the_uri_1', 'the_title_1'),
149
- new documentBuilder_1.DocumentBuilder('the_uri_2', 'the_title_2'),
150
- ],
151
- delete: [{ documentId: 'the_uri_3', deleteChildren: true }],
152
- };
153
- doAxiosMockPost();
154
- });
155
- it('should create a file container', async () => {
156
- await source.batchUpdateDocuments('the_id', batch, {
127
+ const batch = {
128
+ addOrUpdate: [
129
+ new documentBuilder_1.DocumentBuilder('the_uri_1', 'the_title_1'),
130
+ new documentBuilder_1.DocumentBuilder('the_uri_2', 'the_title_2'),
131
+ ],
132
+ delete: [{ documentId: 'the_uri_3', deleteChildren: true }],
133
+ };
134
+ it('should call #uploadBatch', async () => {
135
+ await defaultSource.batchUpdateDocuments('the_id', batch, {
157
136
  createFields: false,
158
137
  });
159
- expect(mockAxios.post).toHaveBeenCalledWith('https://api.cloud.coveo.com/push/v1/organizations/the_org/files', expect.objectContaining({}), expectedDocumentsHeaders);
138
+ expect(mockedUploadBatch).toHaveBeenCalledWith(dummyClient, expect.any(uploadStrategy_1.FileContainerStrategy), batch, { createFields: false });
160
139
  });
161
- it('should upload files to container with returned upload uri and required headers ', async () => {
162
- await source.batchUpdateDocuments('the_id', batch, {
163
- createFields: false,
164
- });
165
- expect(mockAxios.put).toHaveBeenCalledWith('https://fake.upload.url/', expect.objectContaining({
166
- addOrUpdate: expect.arrayContaining([
167
- expect.objectContaining({ documentId: 'the_uri_1' }),
168
- expect.objectContaining({ documentId: 'the_uri_2' }),
169
- ]),
170
- delete: expect.arrayContaining([
171
- expect.objectContaining({ documentId: 'the_uri_3' }),
172
- ]),
173
- }), { headers: { foo: 'bar' }, maxBodyLength: 256e6 });
174
- });
175
- it('should push content to source with returned fileId', async () => {
176
- await source.batchUpdateDocuments('the_id', batch, {
177
- createFields: false,
178
- });
179
- expect(mockAxios.put).toHaveBeenCalledWith('https://api.cloud.coveo.com/push/v1/organizations/the_org/sources/the_id/documents/batch?fileId=file_id', {}, expectedDocumentsHeaders);
140
+ it('should call #uploadBatch with the right strategy', async () => {
141
+ await defaultSource.batchUpdateDocuments('the_id', batch);
142
+ expect(uploadStrategy_1.FileContainerStrategy).toHaveBeenCalledWith(expect.any(urlUtils_1.PushUrlBuilder), dummyAPICore);
180
143
  });
181
144
  });
182
145
  describe('when doing batch update from local files', () => {
183
- afterAll(() => {
184
- mockAxios.post.mockReset();
185
- });
186
- beforeEach(() => {
187
- doAxiosMockPost();
188
- });
189
- it('should upload documents from local file', async () => {
190
- await source
191
- .batchUpdateDocumentsFromFiles('the_id', [(0, path_1.join)(pathToStub, 'mixdocuments')], { createFields: false })
192
- .batch();
193
- expect(mockAxios.put).toHaveBeenCalledWith('https://fake.upload.url/', expect.objectContaining({
194
- addOrUpdate: expect.arrayContaining([
195
- expect.objectContaining({
196
- documentId: 'https://www.themoviedb.org/movie/268',
197
- }),
198
- expect.objectContaining({
199
- documentId: 'https://www.themoviedb.org/movie/999',
200
- }),
201
- ]),
202
- delete: expect.arrayContaining([]),
203
- }), {
204
- headers: {
205
- foo: 'bar',
206
- },
207
- maxBodyLength: 256e6,
208
- });
209
- });
210
- it('should throw an error if the path is invalid', async () => {
211
- await expect(() => source
212
- .batchUpdateDocumentsFromFiles('the_id', ['path/to/invalid/document'], { createFields: false })
213
- .batch()).rejects.toThrow("no such file or directory, lstat 'path/to/invalid/document'");
214
- });
215
- it('should call the callback without error when uploading documents', async () => {
216
- await source
217
- .batchUpdateDocumentsFromFiles('the_id', [(0, path_1.join)(pathToStub, 'mixdocuments')], { createFields: false })
218
- .onBatchError(mockedErrorCallback)
219
- .batch();
220
- expect(mockedErrorCallback).not.toHaveBeenCalled();
221
- });
222
- it('should only push JSON files', async () => {
223
- await source
224
- .batchUpdateDocumentsFromFiles('the_id', [(0, path_1.join)(pathToStub, 'mixdocuments')], { createFields: false })
225
- .onBatchUpload(mockedSuccessCallback)
226
- .batch();
227
- expect(mockedSuccessCallback).toHaveBeenCalledWith(expect.objectContaining({ files: ['valid.json'] }));
228
- });
229
- it('should call the errorCallback on a failure from the API', async () => {
230
- mockAxios.post.mockReset();
231
- mockAxios.post.mockRejectedValue({ message: 'Error Message' });
232
- await source
233
- .batchUpdateDocumentsFromFiles('the_id', [(0, path_1.join)(pathToStub, 'mixdocuments')], { createFields: false })
234
- .onBatchError(mockedErrorCallback)
235
- .batch();
236
- expect(mockedErrorCallback).toHaveBeenCalledWith({
237
- message: 'Error Message',
238
- }, expect.anything());
239
- });
240
- });
241
- describe('when enabling auto field creation', () => {
242
- let source;
243
- let batch;
244
- beforeAll(() => {
245
- batch = {
246
- addOrUpdate: [
247
- new documentBuilder_1.DocumentBuilder('the_uri_1', 'the_title_1'),
248
- new documentBuilder_1.DocumentBuilder('the_uri_2', 'the_title_2'),
249
- ],
250
- delete: [],
251
- };
252
- });
253
- beforeEach(() => {
254
- doAxiosMockPost();
255
- source = new push_1.PushSource('the_key', 'the_org');
256
- });
257
- describe('when there are no inconsistencies', () => {
258
- beforeEach(() => {
259
- const inconsistencies = new inconsistencies_1.Inconsistencies();
260
- mockAnalyserReport.mockReturnValueOnce({ fields: [], inconsistencies });
261
- });
262
- it('should analyse document builder', async () => {
263
- const docBuilder = new documentBuilder_1.DocumentBuilder('the_uri', 'the_title');
264
- await source.addOrUpdateDocument('the_id', docBuilder);
265
- expect(mockAnalyserAdd).toHaveBeenCalledWith([docBuilder]);
266
- });
267
- it('should analyse document builder batch', async () => {
268
- await source.batchUpdateDocuments('the_id', batch);
269
- expect(mockAnalyserAdd).toHaveBeenCalledWith(batch.addOrUpdate);
270
- });
271
- });
272
- describe('when document batches contain type inconsistencies', () => {
273
- beforeEach(() => {
274
- const inconsistencies = new inconsistencies_1.Inconsistencies().add('foo', [
275
- platform_client_1.FieldTypes.STRING,
276
- platform_client_1.FieldTypes.DOUBLE,
277
- ]);
278
- mockAnalyserReport.mockReturnValueOnce({ fields: [], inconsistencies });
279
- });
280
- it('should throw', async () => {
281
- await expect(() => source.batchUpdateDocuments('the_id', batch)).rejects.toThrow(fieldErrors_1.FieldTypeInconsistencyError);
282
- });
283
- });
284
- describe('when document batches contain missing fields', () => {
285
- beforeEach(() => {
286
- const inconsistencies = new inconsistencies_1.Inconsistencies();
287
- mockAnalyserReport.mockReturnValueOnce({
288
- fields: [
289
- { name: 'stringfield', type: platform_client_1.FieldTypes.STRING },
290
- { name: 'numericalfield', type: platform_client_1.FieldTypes.DOUBLE },
291
- ],
292
- inconsistencies,
293
- });
294
- });
295
- it('should create fields', async () => {
296
- await source.batchUpdateDocuments('the_id', batch);
297
- expect(mockCreateField).toHaveBeenCalledWith([
298
- { name: 'stringfield', type: platform_client_1.FieldTypes.STRING },
299
- { name: 'numericalfield', type: platform_client_1.FieldTypes.DOUBLE },
300
- ]);
301
- });
302
- });
303
- describe('when document batches do not contain missing fields', () => {
304
- beforeEach(() => {
305
- const inconsistencies = new inconsistencies_1.Inconsistencies();
306
- mockAnalyserReport.mockReturnValueOnce({ fields: [], inconsistencies });
307
- });
308
- it('should not create fields', async () => {
309
- source.batchUpdateDocuments('the_id', batch);
310
- expect(mockCreateField).not.toHaveBeenCalled();
311
- });
312
- });
313
- describe('when field names should be transformed', () => {
314
- beforeEach(() => {
315
- const inconsistencies = new inconsistencies_1.Inconsistencies();
316
- mockAnalyserReport.mockReturnValueOnce({
317
- fields: [{ name: 'transformed_field', type: platform_client_1.FieldTypes.STRING }],
318
- inconsistencies,
319
- });
320
- });
321
- describe('when field normalization is enabled', () => {
322
- it('should create transformed fields', async () => {
323
- await source.batchUpdateDocuments('the_id', batch);
324
- expect(mockCreateField).toHaveBeenCalledWith([
325
- { name: 'transformed_field', type: platform_client_1.FieldTypes.STRING },
326
- ]);
327
- });
328
- });
146
+ it('should call #uploadBatchFromFile', async () => {
147
+ await defaultSource.batchUpdateDocumentsFromFiles('the_id', [(0, path_1.join)(pathToStub, 'mixdocuments')], { createFields: false });
148
+ expect(uploadStrategy_1.FileContainerStrategy).toHaveBeenCalledWith(expect.any(urlUtils_1.PushUrlBuilder), dummyAPICore);
149
+ expect(mockedUploadBatchFromFile).toHaveBeenCalledWith(dummyClient, expect.any(uploadStrategy_1.FileContainerStrategy), [(0, path_1.join)(pathToStub, 'mixdocuments')], { createFields: false });
329
150
  });
330
151
  });
331
152
  });
@@ -1 +1 @@
1
- {"version":3,"file":"push.spec.js","sourceRoot":"","sources":["../../src/source/push.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push.spec.js","sourceRoot":"","sources":["../../src/source/push.spec.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FileContainerStrategy = void 0;
4
- const axios_1 = require("axios");
5
4
  const fileContainer_1 = require("../help/fileContainer");
6
5
  /**
7
6
  * Upload documents using the [File container](https://docs.coveo.com/en/43/index-content/creating-a-file-container)
@@ -10,9 +9,9 @@ const fileContainer_1 = require("../help/fileContainer");
10
9
  * @implements {UploadStrategy}
11
10
  */
12
11
  class FileContainerStrategy {
13
- constructor(urlBuilder, documentsAxiosConfig) {
12
+ constructor(urlBuilder, api) {
14
13
  this.urlBuilder = urlBuilder;
15
- this.documentsAxiosConfig = documentsAxiosConfig;
14
+ this.api = api;
16
15
  }
17
16
  async upload(batch) {
18
17
  const fileContainer = await this.createFileContainer();
@@ -21,13 +20,13 @@ class FileContainerStrategy {
21
20
  }
22
21
  async createFileContainer() {
23
22
  const fileContainerURL = this.urlBuilder.fileContainerUrl.toString();
24
- const res = await axios_1.default.post(fileContainerURL, {}, this.documentsAxiosConfig);
23
+ const res = await this.api.post(fileContainerURL);
25
24
  return res.data;
26
25
  }
27
26
  pushFileContainerContent(fileContainer) {
28
27
  const pushURL = this.urlBuilder.baseAPIURLForUpdate;
29
28
  pushURL.searchParams.append('fileId', fileContainer.fileId);
30
- return axios_1.default.put(pushURL.toString(), {}, this.documentsAxiosConfig);
29
+ return this.api.put(pushURL.toString());
31
30
  }
32
31
  }
33
32
  exports.FileContainerStrategy = FileContainerStrategy;
@@ -1 +1 @@
1
- {"version":3,"file":"fileContainerStrategy.js","sourceRoot":"","sources":["../../src/uploadStrategy/fileContainerStrategy.ts"],"names":[],"mappings":";;;AAAA,iCAAgD;AAGhD,yDAAmE;AAQnE;;;;;GAKG;AACH,MAAa,qBAAqB;IAChC,YACU,UAAsB,EACtB,oBAAwC;QADxC,eAAU,GAAV,UAAU,CAAY;QACtB,yBAAoB,GAApB,oBAAoB,CAAoB;IAC/C,CAAC;IAEG,KAAK,CAAC,MAAM,CAAC,KAA2B;QAC7C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACvD,MAAM,IAAA,4CAA4B,EAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;IACtD,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QACrE,MAAM,GAAG,GAAG,MAAM,eAAK,CAAC,IAAI,CAC1B,gBAAgB,EAChB,EAAE,EACF,IAAI,CAAC,oBAAoB,CAC1B,CAAC;QACF,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAEO,wBAAwB,CAAC,aAAoC;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC;QACpD,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5D,OAAO,eAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACtE,CAAC;CACF;AA3BD,sDA2BC"}
1
+ {"version":3,"file":"fileContainerStrategy.js","sourceRoot":"","sources":["../../src/uploadStrategy/fileContainerStrategy.ts"],"names":[],"mappings":";;;AAEA,yDAAmE;AASnE;;;;;GAKG;AACH,MAAa,qBAAqB;IAChC,YAA2B,UAAsB,EAAU,GAAY;QAA5C,eAAU,GAAV,UAAU,CAAY;QAAU,QAAG,GAAH,GAAG,CAAS;IAAG,CAAC;IAEpE,KAAK,CAAC,MAAM,CAAC,KAA2B;QAC7C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACvD,MAAM,IAAA,4CAA4B,EAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC;IACtD,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,MAAM,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;QACrE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAwB,gBAAgB,CAAC,CAAC;QACzE,OAAO,GAAG,CAAC,IAAI,CAAC;IAClB,CAAC;IAEO,wBAAwB,CAAC,aAAoC;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC;QACpD,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1C,CAAC;CACF;AApBD,sDAoBC"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ jest.mock('../APICore');
4
+ jest.mock('../help/fileContainer');
5
+ const platform_client_1 = require("@coveo/platform-client");
6
+ const __1 = require("..");
7
+ const APICore_1 = require("../APICore");
8
+ const environment_1 = require("../environment");
9
+ const fileContainer_1 = require("../help/fileContainer");
10
+ const urlUtils_1 = require("../help/urlUtils");
11
+ const fileContainerStrategy_1 = require("./fileContainerStrategy");
12
+ const mockedAPICore = jest.mocked(APICore_1.APICore);
13
+ const mockedPut = jest.fn();
14
+ const mockedPost = jest.fn();
15
+ const platformOptions = {
16
+ region: platform_client_1.Region.US,
17
+ environment: environment_1.PlatformEnvironment.Prod,
18
+ };
19
+ const documentBatch = {
20
+ addOrUpdate: [
21
+ new __1.DocumentBuilder('https://foo.com', 'Foo'),
22
+ new __1.DocumentBuilder('https://bar.com', 'Bar'),
23
+ ],
24
+ delete: [{ documentId: 'some_id', deleteChildren: false }],
25
+ };
26
+ const fileContainerResponse = {
27
+ uploadUri: 'https://fake.upload.url',
28
+ fileId: 'file_id',
29
+ requiredHeaders: { foo: 'bar' },
30
+ };
31
+ const doMockAPICore = () => {
32
+ mockedAPICore.mockImplementation(() => ({
33
+ put: mockedPut,
34
+ post: mockedPost,
35
+ }));
36
+ };
37
+ const doMockFileContainerResponse = () => {
38
+ mockedPost.mockResolvedValue({ data: fileContainerResponse });
39
+ };
40
+ describe('FileContainerStrategy', () => {
41
+ beforeAll(() => {
42
+ doMockAPICore();
43
+ });
44
+ describe.each([
45
+ {
46
+ builderClass: urlUtils_1.PushUrlBuilder,
47
+ pushUrl: 'https://api.cloud.coveo.com/push/v1/organizations/org-id/sources/source-id/documents/batch?fileId=file_id', // note the last part of the url
48
+ },
49
+ {
50
+ builderClass: urlUtils_1.StreamUrlBuilder,
51
+ pushUrl: 'https://api.cloud.coveo.com/push/v1/organizations/org-id/sources/source-id/stream/update?fileId=file_id', // note the last part of the url
52
+ },
53
+ ])('when using a $builder', ({ builderClass, pushUrl }) => {
54
+ let strategy;
55
+ beforeAll(() => {
56
+ doMockFileContainerResponse();
57
+ });
58
+ beforeEach(async () => {
59
+ const builder = new builderClass('source-id', 'org-id', platformOptions);
60
+ strategy = new fileContainerStrategy_1.FileContainerStrategy(builder, new APICore_1.APICore('access_token'));
61
+ await strategy.upload(documentBatch);
62
+ });
63
+ it('should create a file container', () => {
64
+ expect(mockedPost).toHaveBeenCalledTimes(1);
65
+ expect(mockedPost).toHaveBeenCalledWith('https://api.cloud.coveo.com/push/v1/organizations/org-id/files');
66
+ });
67
+ it('should call #uploadContentToFileContainer with file container and batch', () => {
68
+ expect(fileContainer_1.uploadContentToFileContainer).toHaveBeenCalledTimes(1);
69
+ expect(fileContainer_1.uploadContentToFileContainer).toHaveBeenCalledWith(fileContainerResponse, {
70
+ addOrUpdate: expect.arrayContaining([
71
+ expect.objectContaining({
72
+ uri: 'https://foo.com',
73
+ }),
74
+ expect.objectContaining({
75
+ uri: 'https://bar.com',
76
+ }),
77
+ ]),
78
+ delete: [{ deleteChildren: false, documentId: 'some_id' }],
79
+ });
80
+ });
81
+ it('should push file container content', () => {
82
+ expect(mockedPut).toHaveBeenCalledTimes(1);
83
+ expect(mockedPut).toHaveBeenCalledWith(pushUrl);
84
+ });
85
+ });
86
+ });
87
+ //# sourceMappingURL=fileContainerStrategy.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileContainerStrategy.spec.js","sourceRoot":"","sources":["../../src/uploadStrategy/fileContainerStrategy.spec.ts"],"names":[],"mappings":"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"}