-
Notifications
You must be signed in to change notification settings - Fork 25
/
client.spec.node.js
54 lines (46 loc) · 2.01 KB
/
client.spec.node.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
// @flow
import Tanker from '@tanker/client-node';
import PouchDBMemory from '@tanker/datastore-pouchdb-memory';
import type { b64string } from '@tanker/core';
import { tankerUrl, makePrefix, makeRandomUint8Array } from '../Helpers';
import { generateFunctionalTests } from '../functional';
import { type TestResources } from '../TestArgs';
const makeTanker = (appId: b64string): Tanker => {
const tanker = new Tanker({
appId,
dataStore: { adapter: PouchDBMemory, prefix: makePrefix() },
sdkType: 'js-functional-tests-node',
url: tankerUrl,
});
return tanker;
};
const generateTestResources = (): TestResources => {
const sizes = [0, 1024, 1024 * 1024, 6 * 1024 * 1024];
const empty = makeRandomUint8Array(sizes[0]); // 0B -> this will use v3 format
const small = makeRandomUint8Array(sizes[1]); // 1kB -> this will use v3 format
const medium = makeRandomUint8Array(sizes[2]); // 1MB -> this will use v4 format with 2 chunks
const big = makeRandomUint8Array(sizes[3]); // 6MB -> this will use v4 format with 7 chunks
return {
empty: [
{ size: sizes[0], type: ArrayBuffer, resource: empty.buffer },
{ size: sizes[0], type: Buffer, resource: Buffer.from(empty.buffer) },
{ size: sizes[0], type: Uint8Array, resource: empty },
],
small: [
{ size: sizes[1], type: ArrayBuffer, resource: small.buffer },
{ size: sizes[1], type: Buffer, resource: Buffer.from(small.buffer) },
{ size: sizes[1], type: Uint8Array, resource: small },
],
medium: [
{ size: sizes[2], type: ArrayBuffer, resource: medium.buffer },
{ size: sizes[2], type: Buffer, resource: Buffer.from(medium.buffer) },
{ size: sizes[2], type: Uint8Array, resource: medium },
],
big: [
{ size: sizes[3], type: ArrayBuffer, resource: big.buffer },
{ size: sizes[3], type: Buffer, resource: Buffer.from(big.buffer) },
{ size: sizes[3], type: Uint8Array, resource: big },
],
};
};
generateFunctionalTests('client-node', makeTanker, generateTestResources);