@dereekb/firebase 12.4.5 → 12.5.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.
- package/index.cjs.js +1523 -231
- package/index.esm.js +1458 -234
- package/package.json +1 -1
- package/src/lib/common/firestore/query/iterator.d.ts +39 -9
- package/src/lib/common/firestore/query/watcher.d.ts +2 -2
- package/src/lib/common/storage/driver/accessor.d.ts +62 -6
- package/src/lib/common/storage/driver/accessor.iterate.d.ts +38 -0
- package/src/lib/common/storage/driver/accessor.util.d.ts +14 -0
- package/src/lib/common/storage/driver/error.d.ts +4 -0
- package/src/lib/common/storage/driver/index.d.ts +2 -0
- package/src/lib/common/storage/driver/list.d.ts +4 -2
- package/src/lib/common/storage/storage.d.ts +7 -0
- package/src/lib/common/storage/types.d.ts +141 -32
- package/src/lib/model/index.d.ts +1 -0
- package/src/lib/model/notification/notification.api.d.ts +10 -0
- package/src/lib/model/notification/notification.create.d.ts +2 -2
- package/src/lib/model/notification/notification.item.d.ts +2 -0
- package/src/lib/model/notification/notification.task.d.ts +22 -8
- package/src/lib/model/storagefile/index.d.ts +12 -0
- package/src/lib/model/storagefile/storagefile.action.d.ts +8 -0
- package/src/lib/model/storagefile/storagefile.api.d.ts +148 -0
- package/src/lib/model/storagefile/storagefile.api.error.d.ts +51 -0
- package/src/lib/model/storagefile/storagefile.create.d.ts +121 -0
- package/src/lib/model/storagefile/storagefile.d.ts +164 -0
- package/src/lib/model/storagefile/storagefile.file.d.ts +55 -0
- package/src/lib/model/storagefile/storagefile.id.d.ts +20 -0
- package/src/lib/model/storagefile/storagefile.query.d.ts +17 -0
- package/src/lib/model/storagefile/storagefile.task.d.ts +67 -0
- package/src/lib/model/storagefile/storagefile.upload.claims.d.ts +26 -0
- package/src/lib/model/storagefile/storagefile.upload.d.ts +52 -0
- package/src/lib/model/storagefile/storagefile.upload.determiner.d.ts +271 -0
- package/test/CHANGELOG.md +9 -0
- package/test/package.json +1 -1
- package/test/src/lib/common/storage/storage.js +3 -3
- package/test/src/lib/common/storage/storage.js.map +1 -1
- package/test/src/lib/common/storage/test.driver.accessor.js +331 -29
- package/test/src/lib/common/storage/test.driver.accessor.js.map +1 -1
|
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.describeFirebaseStorageAccessorDriverTests = describeFirebaseStorageAccessorDriverTests;
|
|
4
4
|
const test_1 = require("@dereekb/util/test");
|
|
5
5
|
const util_1 = require("@dereekb/util");
|
|
6
|
+
const firebase_1 = require("@dereekb/firebase");
|
|
7
|
+
const stream_1 = require("stream");
|
|
8
|
+
const fs_1 = require("fs");
|
|
6
9
|
/**
|
|
7
10
|
* Describes accessor driver tests, using a MockItemCollectionFixture.
|
|
8
11
|
*
|
|
@@ -11,16 +14,22 @@ const util_1 = require("@dereekb/util");
|
|
|
11
14
|
function describeFirebaseStorageAccessorDriverTests(f) {
|
|
12
15
|
describe('FirebaseStorageAccessor', () => {
|
|
13
16
|
describe('file()', () => {
|
|
17
|
+
const secondBucket = 'second-bucket';
|
|
14
18
|
const doesNotExistFilePath = 'test.png';
|
|
15
19
|
let doesNotExistFile;
|
|
16
20
|
const existsFilePath = 'test/exists.txt';
|
|
17
21
|
const existsFileContent = 'Hello! \ud83d\ude0a';
|
|
18
22
|
const existsFileContentType = 'text/plain';
|
|
19
23
|
let existsFile;
|
|
24
|
+
let secondBucketTarget;
|
|
20
25
|
beforeEach(async () => {
|
|
21
26
|
doesNotExistFile = f.storageContext.file(doesNotExistFilePath);
|
|
22
27
|
existsFile = f.storageContext.file(existsFilePath);
|
|
23
|
-
await existsFile.upload(existsFileContent, { stringFormat: 'raw', contentType: existsFileContentType });
|
|
28
|
+
await existsFile.upload(existsFileContent, { stringFormat: 'raw', contentType: existsFileContentType }); // re-upload for each test
|
|
29
|
+
// delete the does not exist file and second bucket target if it exists
|
|
30
|
+
await doesNotExistFile.delete().catch(() => null);
|
|
31
|
+
secondBucketTarget = f.storageContext.file({ bucketId: secondBucket, pathString: doesNotExistFilePath });
|
|
32
|
+
await secondBucketTarget.delete().catch(() => null);
|
|
24
33
|
});
|
|
25
34
|
describe('uploading', () => {
|
|
26
35
|
let uploadFile;
|
|
@@ -99,6 +108,49 @@ function describeFirebaseStorageAccessorDriverTests(f) {
|
|
|
99
108
|
// NOTE: File extends Blob, so above test should cover it ok.
|
|
100
109
|
});
|
|
101
110
|
// TODO(TEST): Test uploading other types.
|
|
111
|
+
describe('custom metadata', () => {
|
|
112
|
+
it('should upload custom metadata via customMetadata', async () => {
|
|
113
|
+
const customMetadataKey = 'x-amz-meta-custom-key';
|
|
114
|
+
const customMetadataValue = 'custom-value';
|
|
115
|
+
const customMetadata = {
|
|
116
|
+
[customMetadataKey]: customMetadataValue
|
|
117
|
+
};
|
|
118
|
+
const contentType = 'text/plain';
|
|
119
|
+
const data = existsFileContent;
|
|
120
|
+
await uploadFile.upload(data, { stringFormat: 'raw', contentType, customMetadata });
|
|
121
|
+
const metadata = await uploadFile.getMetadata();
|
|
122
|
+
expect(metadata.customMetadata).toEqual(customMetadata);
|
|
123
|
+
});
|
|
124
|
+
it('should upload custom metadata via metadata', async () => {
|
|
125
|
+
const customMetadataKey = 'x-amz-meta-custom-key';
|
|
126
|
+
const customMetadataValue = 'custom-value';
|
|
127
|
+
const customMetadata = {
|
|
128
|
+
[customMetadataKey]: customMetadataValue
|
|
129
|
+
};
|
|
130
|
+
const contentType = 'text/plain';
|
|
131
|
+
const data = existsFileContent;
|
|
132
|
+
await uploadFile.upload(data, { stringFormat: 'raw', contentType, metadata: { customMetadata } });
|
|
133
|
+
const metadata = await uploadFile.getMetadata();
|
|
134
|
+
expect(metadata.customMetadata).toEqual(customMetadata);
|
|
135
|
+
});
|
|
136
|
+
it('should upload the merged custom metadatas', async () => {
|
|
137
|
+
const customMetadataAKey = 'x-amz-meta-custom-key';
|
|
138
|
+
const customMetadataAValue = '1';
|
|
139
|
+
const customMetadataBKey = 'x-axx-meta-custom-key';
|
|
140
|
+
const customMetadataBValue = 'true';
|
|
141
|
+
const customMetadataA = {
|
|
142
|
+
[customMetadataAKey]: customMetadataAValue
|
|
143
|
+
};
|
|
144
|
+
const customMetadataB = {
|
|
145
|
+
[customMetadataBKey]: customMetadataBValue
|
|
146
|
+
};
|
|
147
|
+
const contentType = 'text/plain';
|
|
148
|
+
const data = existsFileContent;
|
|
149
|
+
await uploadFile.upload(data, { stringFormat: 'raw', contentType, customMetadata: customMetadataA, metadata: { customMetadata: customMetadataB } });
|
|
150
|
+
const metadata = await uploadFile.getMetadata();
|
|
151
|
+
expect(metadata.customMetadata).toEqual({ ...customMetadataA, ...customMetadataB });
|
|
152
|
+
});
|
|
153
|
+
});
|
|
102
154
|
});
|
|
103
155
|
describe('uploadStream()', () => {
|
|
104
156
|
it('should upload a string using a WritableStream', async () => {
|
|
@@ -118,7 +170,106 @@ function describeFirebaseStorageAccessorDriverTests(f) {
|
|
|
118
170
|
expect(decoded).toBe(data);
|
|
119
171
|
}
|
|
120
172
|
});
|
|
121
|
-
|
|
173
|
+
it('should upload a string using a stream using a WritableStream', async () => {
|
|
174
|
+
if (uploadFile.uploadStream != null) {
|
|
175
|
+
const myText = 'This is a test string.';
|
|
176
|
+
// Create a readable stream from the string
|
|
177
|
+
const readableStream = stream_1.Readable.from(myText, { encoding: 'utf-8' });
|
|
178
|
+
await (0, firebase_1.uploadFileWithStream)(uploadFile, readableStream);
|
|
179
|
+
const exists = await uploadFile.exists();
|
|
180
|
+
expect(exists).toBe(true);
|
|
181
|
+
const metadata = await uploadFile.getMetadata();
|
|
182
|
+
expect(metadata.contentType).toBe('text/plain');
|
|
183
|
+
const result = await uploadFile.getBytes();
|
|
184
|
+
expect(result).toBeDefined();
|
|
185
|
+
const decoded = Buffer.from(result).toString('utf-8');
|
|
186
|
+
expect(decoded).toBe(myText);
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
it('should upload a png using a stream using a WritableStream', async () => {
|
|
190
|
+
if (uploadFile.uploadStream != null) {
|
|
191
|
+
const testFilePath = `${__dirname}/assets/testpng.png`;
|
|
192
|
+
const contentType = 'image/png';
|
|
193
|
+
const testFileStream = (0, fs_1.createReadStream)(testFilePath, {});
|
|
194
|
+
await (0, firebase_1.uploadFileWithStream)(uploadFile, testFileStream, { contentType });
|
|
195
|
+
const exists = await uploadFile.exists();
|
|
196
|
+
expect(exists).toBe(true);
|
|
197
|
+
const metadata = await uploadFile.getMetadata();
|
|
198
|
+
expect(metadata.contentType).toBe(contentType);
|
|
199
|
+
const result = await uploadFile.getBytes();
|
|
200
|
+
expect(result).toBeDefined();
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
});
|
|
204
|
+
});
|
|
205
|
+
describe('copy()', () => {
|
|
206
|
+
it('should copy the file to a new location in the same bucket.', async () => {
|
|
207
|
+
if (existsFile.copy != null) {
|
|
208
|
+
const exists = await doesNotExistFile.exists();
|
|
209
|
+
expect(exists).toBe(false);
|
|
210
|
+
const targetPath = doesNotExistFile.storagePath;
|
|
211
|
+
const result = await existsFile.copy(targetPath);
|
|
212
|
+
expect(result.storagePath.pathString).toBe(targetPath.pathString);
|
|
213
|
+
const doesNotExistFileExists = await doesNotExistFile.exists();
|
|
214
|
+
expect(doesNotExistFileExists).toBe(true);
|
|
215
|
+
const existsStillExists = await existsFile.exists();
|
|
216
|
+
expect(existsStillExists).toBe(true); // original still exists
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
it('should copy the file to a new location to a different bucket.', async () => {
|
|
220
|
+
if (existsFile.copy != null) {
|
|
221
|
+
const secondBucket = {
|
|
222
|
+
bucketId: 'second-bucket',
|
|
223
|
+
pathString: secondBucketTarget.storagePath.pathString
|
|
224
|
+
};
|
|
225
|
+
const targetFile = f.storageContext.file(secondBucket);
|
|
226
|
+
const exists = await targetFile.exists();
|
|
227
|
+
expect(exists).toBe(false);
|
|
228
|
+
const targetPath = targetFile.storagePath;
|
|
229
|
+
const result = await existsFile.copy(targetPath);
|
|
230
|
+
expect(result.storagePath.pathString).toBe(targetPath.pathString);
|
|
231
|
+
const targetFileExists = await targetFile.exists();
|
|
232
|
+
expect(targetFileExists).toBe(true);
|
|
233
|
+
const doesNotExistExists = await doesNotExistFile.exists();
|
|
234
|
+
expect(doesNotExistExists).toBe(false); // on a different bucket
|
|
235
|
+
const existsStillExists = await existsFile.exists();
|
|
236
|
+
expect(existsStillExists).toBe(true); // original still exists
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
});
|
|
240
|
+
describe('move()', () => {
|
|
241
|
+
it('should move the file to a new location in the same bucket.', async () => {
|
|
242
|
+
if (existsFile.move != null) {
|
|
243
|
+
const exists = await doesNotExistFile.exists();
|
|
244
|
+
expect(exists).toBe(false);
|
|
245
|
+
const targetPath = doesNotExistFile.storagePath;
|
|
246
|
+
const result = await existsFile.move(targetPath);
|
|
247
|
+
expect(result.storagePath.pathString).toBe(targetPath.pathString);
|
|
248
|
+
const doesNotExistExists = await doesNotExistFile.exists();
|
|
249
|
+
expect(doesNotExistExists).toBe(true);
|
|
250
|
+
const existsStillExists = await existsFile.exists();
|
|
251
|
+
expect(existsStillExists).toBe(false); // check was moved
|
|
252
|
+
}
|
|
253
|
+
});
|
|
254
|
+
it('should move the file to a new location to a different bucket.', async () => {
|
|
255
|
+
if (existsFile.move != null) {
|
|
256
|
+
const secondBucket = {
|
|
257
|
+
bucketId: 'second-bucket',
|
|
258
|
+
pathString: doesNotExistFile.storagePath.pathString
|
|
259
|
+
};
|
|
260
|
+
const targetFile = f.storageContext.file(secondBucket);
|
|
261
|
+
const exists = await targetFile.exists();
|
|
262
|
+
expect(exists).toBe(false);
|
|
263
|
+
const targetPath = targetFile.storagePath;
|
|
264
|
+
const result = await existsFile.move(targetPath);
|
|
265
|
+
expect(result.storagePath.pathString).toBe(targetPath.pathString);
|
|
266
|
+
const targetFileExists = await targetFile.exists();
|
|
267
|
+
expect(targetFileExists).toBe(true);
|
|
268
|
+
const doesNotExistStillDoesNotExists = await doesNotExistFile.exists();
|
|
269
|
+
expect(doesNotExistStillDoesNotExists).toBe(false);
|
|
270
|
+
const existsStillExists = await existsFile.exists();
|
|
271
|
+
expect(existsStillExists).toBe(false); // check was moved
|
|
272
|
+
}
|
|
122
273
|
});
|
|
123
274
|
});
|
|
124
275
|
describe('exists()', () => {
|
|
@@ -145,6 +296,50 @@ function describeFirebaseStorageAccessorDriverTests(f) {
|
|
|
145
296
|
expect(result).toBeDefined();
|
|
146
297
|
});
|
|
147
298
|
});
|
|
299
|
+
describe('setMetadata()', () => {
|
|
300
|
+
(0, test_1.itShouldFail)('if the file does not exist.', async () => {
|
|
301
|
+
await (0, test_1.expectFail)(() => doesNotExistFile.setMetadata({}));
|
|
302
|
+
});
|
|
303
|
+
it('should replace the content type field.', async () => {
|
|
304
|
+
const currentMetadata = await existsFile.getMetadata();
|
|
305
|
+
expect(currentMetadata.contentType).toBe(existsFileContentType);
|
|
306
|
+
const nextContentType = 'application/json';
|
|
307
|
+
const result = await existsFile.setMetadata({
|
|
308
|
+
contentType: nextContentType
|
|
309
|
+
});
|
|
310
|
+
expect(result.contentType).toBe(nextContentType);
|
|
311
|
+
const updatedMetadata = await existsFile.getMetadata();
|
|
312
|
+
expect(updatedMetadata.contentType).toBe(nextContentType);
|
|
313
|
+
});
|
|
314
|
+
it('should replace the metadata for only the provided fields.', async () => {
|
|
315
|
+
const currentMetadata = await existsFile.getMetadata();
|
|
316
|
+
expect(currentMetadata.contentType).toBe(existsFileContentType);
|
|
317
|
+
const customMetadataA = {
|
|
318
|
+
foo: 'bar'
|
|
319
|
+
};
|
|
320
|
+
const result = await existsFile.setMetadata({
|
|
321
|
+
contentType: undefined, // should not change
|
|
322
|
+
customMetadata: customMetadataA
|
|
323
|
+
});
|
|
324
|
+
expect(result.contentType).toBe(existsFileContentType);
|
|
325
|
+
expect(result.customMetadata).toEqual(customMetadataA);
|
|
326
|
+
const updatedMetadata = await existsFile.getMetadata();
|
|
327
|
+
expect(updatedMetadata.contentType).toBe(existsFileContentType);
|
|
328
|
+
expect(updatedMetadata.customMetadata).toEqual(customMetadataA);
|
|
329
|
+
// update again. All custom metadata is replaced
|
|
330
|
+
const customMetadataB = {
|
|
331
|
+
foo: 'baz'
|
|
332
|
+
};
|
|
333
|
+
const result2 = await existsFile.setMetadata({
|
|
334
|
+
customMetadata: customMetadataB
|
|
335
|
+
});
|
|
336
|
+
expect(result2.contentType).toBe(existsFileContentType);
|
|
337
|
+
expect(result2.customMetadata).toEqual(customMetadataB);
|
|
338
|
+
const updatedMetadata2 = await existsFile.getMetadata();
|
|
339
|
+
expect(updatedMetadata2.contentType).toBe(existsFileContentType);
|
|
340
|
+
expect(updatedMetadata2.customMetadata).toEqual(customMetadataB);
|
|
341
|
+
});
|
|
342
|
+
});
|
|
148
343
|
describe('getBytes()', () => {
|
|
149
344
|
(0, test_1.itShouldFail)('if the file does not exist.', async () => {
|
|
150
345
|
await (0, test_1.expectFail)(() => doesNotExistFile.getBytes());
|
|
@@ -187,6 +382,20 @@ function describeFirebaseStorageAccessorDriverTests(f) {
|
|
|
187
382
|
expect(typeof result).toBe('string');
|
|
188
383
|
});
|
|
189
384
|
});
|
|
385
|
+
// Cannot be tested, will throw "Could not load the default credentials. Browse to https://cloud.google.com/docs/authentication/getting-started for more information."
|
|
386
|
+
/*
|
|
387
|
+
describe('getSignedUrl()', () => {
|
|
388
|
+
it('should return the signed read url.', async () => {
|
|
389
|
+
if (existsFile.getSignedUrl) {
|
|
390
|
+
const result = await existsFile.getSignedUrl({
|
|
391
|
+
|
|
392
|
+
});
|
|
393
|
+
expect(result).toBeDefined();
|
|
394
|
+
expect(typeof result).toBe('string');
|
|
395
|
+
}
|
|
396
|
+
});
|
|
397
|
+
});
|
|
398
|
+
*/
|
|
190
399
|
describe('delete()', () => {
|
|
191
400
|
(0, test_1.itShouldFail)('if the file does not exist.', async () => {
|
|
192
401
|
await (0, test_1.expectFail)(() => doesNotExistFile.delete());
|
|
@@ -218,7 +427,7 @@ function describeFirebaseStorageAccessorDriverTests(f) {
|
|
|
218
427
|
existsFile = f.storageContext.file(existsFilePath);
|
|
219
428
|
await existsFile.upload(existsFileContent, { stringFormat: 'raw', contentType: 'text/plain' });
|
|
220
429
|
});
|
|
221
|
-
describe('exists', () => {
|
|
430
|
+
describe('exists()', () => {
|
|
222
431
|
it('should return false if there are no items in the folder.', async () => {
|
|
223
432
|
const exists = await doesNotExistFolder.exists();
|
|
224
433
|
expect(exists).toBe(false);
|
|
@@ -228,7 +437,7 @@ function describeFirebaseStorageAccessorDriverTests(f) {
|
|
|
228
437
|
expect(exists).toBe(true);
|
|
229
438
|
});
|
|
230
439
|
});
|
|
231
|
-
describe('list', () => {
|
|
440
|
+
describe('list()', () => {
|
|
232
441
|
const existsBFileName = 'a.txt';
|
|
233
442
|
const existsBFilePath = existsFolderPath + existsBFileName;
|
|
234
443
|
const existsCFolderPath = existsFolderPath + 'c/';
|
|
@@ -240,6 +449,81 @@ function describeFirebaseStorageAccessorDriverTests(f) {
|
|
|
240
449
|
await f.storageContext.file(existsCFilePath).upload(existsFileContent, { stringFormat: 'raw', contentType: 'text/plain' });
|
|
241
450
|
await f.storageContext.file(otherFolderFilePath).upload(existsFileContent, { stringFormat: 'raw', contentType: 'text/plain' });
|
|
242
451
|
});
|
|
452
|
+
describe('options', () => {
|
|
453
|
+
describe('listAll', () => {
|
|
454
|
+
describe('=false/unset', () => {
|
|
455
|
+
it('should list all the direct files and folders that exist on the test path.', async () => {
|
|
456
|
+
const result = await existsFolder.list();
|
|
457
|
+
expect(result).toBeDefined();
|
|
458
|
+
const files = result.files();
|
|
459
|
+
expect(files.length).toBe(2);
|
|
460
|
+
const fileNames = new Set(files.map((x) => x.name));
|
|
461
|
+
expect(fileNames).toContain(existsFileName);
|
|
462
|
+
expect(fileNames).toContain(existsBFileName);
|
|
463
|
+
const folders = result.folders();
|
|
464
|
+
expect(folders.length).toBe(1);
|
|
465
|
+
const folderNames = new Set(folders.map((x) => x.name));
|
|
466
|
+
expect(folderNames).toContain('c');
|
|
467
|
+
});
|
|
468
|
+
it('should list all the direct folders that exist at the root.', async () => {
|
|
469
|
+
const rootFolder = await f.storageContext.folder('/');
|
|
470
|
+
const result = await rootFolder.list();
|
|
471
|
+
expect(result).toBeDefined();
|
|
472
|
+
const files = result.files();
|
|
473
|
+
expect(files.length).toBe(0); // files are under /test/ and /other/
|
|
474
|
+
const folders = result.folders();
|
|
475
|
+
expect(folders.length).toBe(2);
|
|
476
|
+
const names = new Set(folders.map((x) => x.name));
|
|
477
|
+
expect(names).toContain('test');
|
|
478
|
+
expect(names).toContain('other');
|
|
479
|
+
});
|
|
480
|
+
});
|
|
481
|
+
describe('=true', () => {
|
|
482
|
+
it('should list all files and folders that exist on the test path.', async () => {
|
|
483
|
+
const result = await existsFolder.list({ includeNestedResults: true });
|
|
484
|
+
expect(result).toBeDefined();
|
|
485
|
+
const files = result.files();
|
|
486
|
+
expect(files.length).toBe(3);
|
|
487
|
+
const filePaths = new Set(files.map((x) => `${util_1.SLASH_PATH_SEPARATOR}${x.storagePath.pathString}`));
|
|
488
|
+
expect(filePaths).toContain(existsFilePath);
|
|
489
|
+
expect(filePaths).toContain(existsBFilePath);
|
|
490
|
+
expect(filePaths).toContain(existsCFilePath);
|
|
491
|
+
expect(filePaths).not.toContain(otherFolderFilePath);
|
|
492
|
+
// folders are not counted/returned
|
|
493
|
+
const folders = result.folders();
|
|
494
|
+
expect(folders.length).toBe(0);
|
|
495
|
+
});
|
|
496
|
+
it('should list all the folders that exist at the root.', async () => {
|
|
497
|
+
const rootFolder = await f.storageContext.folder('/');
|
|
498
|
+
const result = await rootFolder.list({ includeNestedResults: true });
|
|
499
|
+
expect(result).toBeDefined();
|
|
500
|
+
const files = result.files();
|
|
501
|
+
expect(files.length).toBe(4); // all created files
|
|
502
|
+
const folders = result.folders();
|
|
503
|
+
expect(folders.length).toBe(0);
|
|
504
|
+
});
|
|
505
|
+
describe('maxResults', () => {
|
|
506
|
+
it('should limit the number of results returned.', async () => {
|
|
507
|
+
const rootFolder = await f.storageContext.folder('/');
|
|
508
|
+
const limit = 2;
|
|
509
|
+
const result = await rootFolder.list({ includeNestedResults: true, maxResults: limit });
|
|
510
|
+
expect(result).toBeDefined();
|
|
511
|
+
if (f.storageContext.drivers.storageAccessorDriver.type === 'server') {
|
|
512
|
+
// Currently only the server can properly limit the number of results returned.
|
|
513
|
+
// The client-side will limit the results somewhat, but if folders are returned then it will return the results of those folders as well.
|
|
514
|
+
const files = result.files();
|
|
515
|
+
expect(files.length).toBe(limit);
|
|
516
|
+
const nextPage = await result.next();
|
|
517
|
+
const nextPageFiles = nextPage.files();
|
|
518
|
+
expect(nextPageFiles.length).toBe(limit);
|
|
519
|
+
}
|
|
520
|
+
const folders = result.folders();
|
|
521
|
+
expect(folders.length).toBe(0);
|
|
522
|
+
});
|
|
523
|
+
});
|
|
524
|
+
});
|
|
525
|
+
});
|
|
526
|
+
});
|
|
243
527
|
describe('file()', () => {
|
|
244
528
|
it('should return the file for the result.', async () => {
|
|
245
529
|
const result = await existsFolder.list();
|
|
@@ -285,31 +569,6 @@ function describeFirebaseStorageAccessorDriverTests(f) {
|
|
|
285
569
|
await (0, test_1.expectFail)(() => result.next());
|
|
286
570
|
});
|
|
287
571
|
});
|
|
288
|
-
it('should list all the direct files and folders that exist on the test path.', async () => {
|
|
289
|
-
const result = await existsFolder.list();
|
|
290
|
-
expect(result).toBeDefined();
|
|
291
|
-
const files = result.files();
|
|
292
|
-
expect(files.length).toBe(2);
|
|
293
|
-
const fileNames = new Set(files.map((x) => x.name));
|
|
294
|
-
expect(fileNames).toContain(existsFileName);
|
|
295
|
-
expect(fileNames).toContain(existsBFileName);
|
|
296
|
-
const folders = result.folders();
|
|
297
|
-
expect(folders.length).toBe(1);
|
|
298
|
-
const folderNames = new Set(folders.map((x) => x.name));
|
|
299
|
-
expect(folderNames).toContain('c');
|
|
300
|
-
});
|
|
301
|
-
it('should list all the direct folders that exist at the root.', async () => {
|
|
302
|
-
const rootFolder = await f.storageContext.folder('/');
|
|
303
|
-
const result = await rootFolder.list();
|
|
304
|
-
expect(result).toBeDefined();
|
|
305
|
-
const files = result.files();
|
|
306
|
-
expect(files.length).toBe(0); // files are under /test/ and /other/
|
|
307
|
-
const folders = result.folders();
|
|
308
|
-
expect(folders.length).toBe(2);
|
|
309
|
-
const names = new Set(folders.map((x) => x.name));
|
|
310
|
-
expect(names).toContain('test');
|
|
311
|
-
expect(names).toContain('other');
|
|
312
|
-
});
|
|
313
572
|
describe('maxResults', () => {
|
|
314
573
|
it('should respect the max results.', async () => {
|
|
315
574
|
const maxResults = 1;
|
|
@@ -337,6 +596,49 @@ function describeFirebaseStorageAccessorDriverTests(f) {
|
|
|
337
596
|
expect(names).toContain('other');
|
|
338
597
|
});
|
|
339
598
|
});
|
|
599
|
+
describe('utilities', () => {
|
|
600
|
+
describe('iterateStorageListFilesByEachFile()', () => {
|
|
601
|
+
it('should iterate through all the files in the current folder one at a time', async () => {
|
|
602
|
+
const visitedFiles = [];
|
|
603
|
+
const result = await (0, firebase_1.iterateStorageListFilesByEachFile)({
|
|
604
|
+
folder: existsFolder,
|
|
605
|
+
readItemsFromPageResult: (x) => x.result.files(),
|
|
606
|
+
iterateEachPageItem: async (file) => {
|
|
607
|
+
visitedFiles.push(file);
|
|
608
|
+
}
|
|
609
|
+
});
|
|
610
|
+
const visitedFilePathStrings = visitedFiles.map((x) => `${util_1.SLASH_PATH_SEPARATOR}${x.storagePath.pathString}`);
|
|
611
|
+
expect(visitedFilePathStrings).toContain(existsFilePath);
|
|
612
|
+
expect(visitedFilePathStrings).toContain(existsBFilePath);
|
|
613
|
+
expect(visitedFilePathStrings).not.toContain(existsCFilePath);
|
|
614
|
+
expect(visitedFilePathStrings).not.toContain(otherFolderFilePath);
|
|
615
|
+
expect(result).toBeDefined();
|
|
616
|
+
expect(result.totalItemsLoaded).toBe(2);
|
|
617
|
+
expect(result.totalItemsVisited).toBe(visitedFiles.length);
|
|
618
|
+
});
|
|
619
|
+
describe('includeNestedResults=true', () => {
|
|
620
|
+
it('should iterate through all the files and nested files under the current folder one at a time', async () => {
|
|
621
|
+
const visitedFiles = [];
|
|
622
|
+
const result = await (0, firebase_1.iterateStorageListFilesByEachFile)({
|
|
623
|
+
folder: existsFolder,
|
|
624
|
+
includeNestedResults: true,
|
|
625
|
+
readItemsFromPageResult: (x) => x.result.files(),
|
|
626
|
+
iterateEachPageItem: async (file) => {
|
|
627
|
+
visitedFiles.push(file);
|
|
628
|
+
}
|
|
629
|
+
});
|
|
630
|
+
const visitedFilePathStrings = visitedFiles.map((x) => `${util_1.SLASH_PATH_SEPARATOR}${x.storagePath.pathString}`);
|
|
631
|
+
expect(result).toBeDefined();
|
|
632
|
+
expect(result.totalItemsLoaded).toBe(3);
|
|
633
|
+
expect(result.totalItemsVisited).toBe(visitedFiles.length);
|
|
634
|
+
expect(visitedFilePathStrings).toContain(existsFilePath);
|
|
635
|
+
expect(visitedFilePathStrings).toContain(existsBFilePath);
|
|
636
|
+
expect(visitedFilePathStrings).toContain(existsCFilePath);
|
|
637
|
+
expect(visitedFilePathStrings).not.toContain(otherFolderFilePath);
|
|
638
|
+
});
|
|
639
|
+
});
|
|
640
|
+
});
|
|
641
|
+
});
|
|
340
642
|
});
|
|
341
643
|
});
|
|
342
644
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.driver.accessor.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/test/src/lib/common/storage/test.driver.accessor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"test.driver.accessor.js","sourceRoot":"","sources":["../../../../../../../../packages/firebase/test/src/lib/common/storage/test.driver.accessor.ts"],"names":[],"mappings":"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"}
|