@kvs/common-test-case 1.2.0 → 2.1.1
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/README.md +60 -1
- package/lib/common-test-case.js +127 -145
- package/lib/common-test-case.js.map +1 -1
- package/module/common-test-case.js +127 -145
- package/module/common-test-case.js.map +1 -1
- package/package.json +8 -8
- package/CHANGELOG.md +0 -81
package/README.md
CHANGED
|
@@ -10,7 +10,66 @@ Install with [npm](https://www.npmjs.com/):
|
|
|
10
10
|
|
|
11
11
|
## Usage
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
```ts
|
|
14
|
+
import { kvsLocalStorage } from "../src";
|
|
15
|
+
import { createKVSTestCase } from "@kvs/common-test-case";
|
|
16
|
+
|
|
17
|
+
const databaseName = "kvs-test";
|
|
18
|
+
const kvsTestCase = createKVSTestCase(
|
|
19
|
+
(options) =>
|
|
20
|
+
kvsLocalStorage({
|
|
21
|
+
name: databaseName,
|
|
22
|
+
...options,
|
|
23
|
+
debug: true
|
|
24
|
+
}),
|
|
25
|
+
{
|
|
26
|
+
setTestDataList: [
|
|
27
|
+
{
|
|
28
|
+
name: "string",
|
|
29
|
+
value: "str"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: "number",
|
|
33
|
+
value: 42
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: "boolean",
|
|
37
|
+
value: false
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: "object",
|
|
41
|
+
value: {
|
|
42
|
+
prop: "propValue"
|
|
43
|
+
},
|
|
44
|
+
type: "object"
|
|
45
|
+
}
|
|
46
|
+
// Edge, old-Safari does not support Blob
|
|
47
|
+
// https://github.com/jakearchibald/idb/issues/58
|
|
48
|
+
// {
|
|
49
|
+
// name: "blob",
|
|
50
|
+
// value: new Blob(["Hello, world!"], { type: "text/plain" }),
|
|
51
|
+
// type: "object"
|
|
52
|
+
// }
|
|
53
|
+
]
|
|
54
|
+
}
|
|
55
|
+
);
|
|
56
|
+
const deleteAllDB = async () => {
|
|
57
|
+
if (!kvsTestCase.ref.current) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
try {
|
|
61
|
+
await kvsTestCase.ref.current.clear();
|
|
62
|
+
await kvsTestCase.ref.current.dropInstance();
|
|
63
|
+
} catch (error) {
|
|
64
|
+
console.error("deleteAllDB", error);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
describe("@kvs/node-localstorage", () => {
|
|
68
|
+
beforeEach(deleteAllDB);
|
|
69
|
+
kvsTestCase.run();
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
```
|
|
14
73
|
|
|
15
74
|
## Changelog
|
|
16
75
|
|
package/lib/common-test-case.js
CHANGED
|
@@ -1,20 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
12
|
-
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
13
|
-
var m = o[Symbol.asyncIterator], i;
|
|
14
|
-
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
15
|
-
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
16
|
-
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
17
|
-
};
|
|
18
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
19
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
20
4
|
};
|
|
@@ -35,192 +19,190 @@ const createKVSTestCase = (kvsStorageConstructor, options) => {
|
|
|
35
19
|
run: () => {
|
|
36
20
|
describe("set", () => {
|
|
37
21
|
options.setTestDataList.forEach((item) => {
|
|
38
|
-
it(`${item.name}`, () =>
|
|
39
|
-
kvs = ref.current =
|
|
22
|
+
it(`${item.name}`, async () => {
|
|
23
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
40
24
|
version: 1
|
|
41
25
|
});
|
|
42
|
-
|
|
26
|
+
await kvs.set(item.name, item.value);
|
|
43
27
|
if (item.type === "object") {
|
|
44
|
-
assert_1.default.deepStrictEqual(
|
|
28
|
+
assert_1.default.deepStrictEqual(await kvs.get(item.name), item.value);
|
|
45
29
|
}
|
|
46
30
|
else {
|
|
47
|
-
assert_1.default.strictEqual(
|
|
31
|
+
assert_1.default.strictEqual(await kvs.get(item.name), item.value);
|
|
48
32
|
}
|
|
49
|
-
})
|
|
33
|
+
});
|
|
50
34
|
});
|
|
51
35
|
});
|
|
52
|
-
it("set → get", () =>
|
|
53
|
-
kvs = ref.current =
|
|
36
|
+
it("set → get", async () => {
|
|
37
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
54
38
|
version: 1
|
|
55
39
|
});
|
|
56
|
-
|
|
57
|
-
assert_1.default.strictEqual(
|
|
58
|
-
})
|
|
59
|
-
describe("set", () =>
|
|
60
|
-
kvs = ref.current =
|
|
40
|
+
await kvs.set("key", "value");
|
|
41
|
+
assert_1.default.strictEqual(await kvs.get("key"), "value");
|
|
42
|
+
});
|
|
43
|
+
describe("set", async () => {
|
|
44
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
61
45
|
version: 1
|
|
62
46
|
});
|
|
63
|
-
|
|
64
|
-
assert_1.default.strictEqual(
|
|
65
|
-
})
|
|
66
|
-
it("update with set", () =>
|
|
67
|
-
kvs = ref.current =
|
|
47
|
+
await kvs.set("key", "value");
|
|
48
|
+
assert_1.default.strictEqual(await kvs.get("key"), "value");
|
|
49
|
+
});
|
|
50
|
+
it("update with set", async () => {
|
|
51
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
68
52
|
version: 1
|
|
69
53
|
});
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
assert_1.default.strictEqual(
|
|
73
|
-
})
|
|
74
|
-
it("test multiple set-get key-value", () =>
|
|
75
|
-
kvs = ref.current =
|
|
54
|
+
await kvs.set("key", "value1");
|
|
55
|
+
await kvs.set("key", "value2");
|
|
56
|
+
assert_1.default.strictEqual(await kvs.get("key"), "value2");
|
|
57
|
+
});
|
|
58
|
+
it("test multiple set-get key-value", async () => {
|
|
59
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
76
60
|
version: 1
|
|
77
61
|
});
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
assert_1.default.strictEqual(
|
|
81
|
-
assert_1.default.strictEqual(
|
|
82
|
-
})
|
|
83
|
-
it("delete with key", () =>
|
|
84
|
-
kvs = ref.current =
|
|
62
|
+
await kvs.set("key1", "value1");
|
|
63
|
+
await kvs.set("key2", "value2");
|
|
64
|
+
assert_1.default.strictEqual(await kvs.get("key1"), "value1");
|
|
65
|
+
assert_1.default.strictEqual(await kvs.get("key2"), "value2");
|
|
66
|
+
});
|
|
67
|
+
it("delete with key", async () => {
|
|
68
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
85
69
|
version: 1
|
|
86
70
|
});
|
|
87
|
-
|
|
88
|
-
assert_1.default.ok(
|
|
89
|
-
|
|
90
|
-
assert_1.default.ok((
|
|
91
|
-
})
|
|
92
|
-
it("clear all data", () =>
|
|
93
|
-
kvs = ref.current =
|
|
71
|
+
await kvs.set("key", "value");
|
|
72
|
+
assert_1.default.ok(await kvs.get("key"));
|
|
73
|
+
await kvs.delete("key");
|
|
74
|
+
assert_1.default.ok((await kvs.has("key1")) === false);
|
|
75
|
+
});
|
|
76
|
+
it("clear all data", async () => {
|
|
77
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
94
78
|
version: 1
|
|
95
79
|
});
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
assert_1.default.ok(
|
|
99
|
-
assert_1.default.ok(
|
|
100
|
-
|
|
101
|
-
assert_1.default.strictEqual(
|
|
102
|
-
assert_1.default.strictEqual(
|
|
103
|
-
})
|
|
104
|
-
it("[Symbol.asyncIterator]", () =>
|
|
105
|
-
|
|
106
|
-
kvs = ref.current = yield kvsStorageConstructor({
|
|
80
|
+
await kvs.set("key1", "value1");
|
|
81
|
+
await kvs.set("key2", "value2");
|
|
82
|
+
assert_1.default.ok(await kvs.has("key1"));
|
|
83
|
+
assert_1.default.ok(await kvs.has("key2"));
|
|
84
|
+
await kvs.clear();
|
|
85
|
+
assert_1.default.strictEqual(await kvs.has("key1"), false, "key 1 should be deleted");
|
|
86
|
+
assert_1.default.strictEqual(await kvs.has("key2"), false, "key 2 should be deleted");
|
|
87
|
+
});
|
|
88
|
+
it("[Symbol.asyncIterator]", async () => {
|
|
89
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
107
90
|
version: 1
|
|
108
91
|
});
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
assert_1.default.ok(
|
|
112
|
-
assert_1.default.ok(
|
|
92
|
+
await kvs.set("key1", "value1");
|
|
93
|
+
await kvs.set("key2", "value2");
|
|
94
|
+
assert_1.default.ok(await kvs.has("key1"), "should have key1");
|
|
95
|
+
assert_1.default.ok(await kvs.has("key2"), "should have key2");
|
|
113
96
|
const results = [];
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
const [key, value] = kvs_1_1.value;
|
|
117
|
-
results.push([key, value]);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
121
|
-
finally {
|
|
122
|
-
try {
|
|
123
|
-
if (kvs_1_1 && !kvs_1_1.done && (_a = kvs_1.return)) yield _a.call(kvs_1);
|
|
124
|
-
}
|
|
125
|
-
finally { if (e_1) throw e_1.error; }
|
|
97
|
+
for await (const [key, value] of kvs) {
|
|
98
|
+
results.push([key, value]);
|
|
126
99
|
}
|
|
127
100
|
assert_1.default.deepStrictEqual(results.sort(), [
|
|
128
101
|
["key1", "value1"],
|
|
129
102
|
["key2", "value2"]
|
|
130
103
|
].sort());
|
|
131
|
-
})
|
|
132
|
-
it("upgrade 0 → 1 when open database at first time", () =>
|
|
104
|
+
});
|
|
105
|
+
it("upgrade 0 → 1 when open database at first time", async () => {
|
|
133
106
|
let isUpgradeCalled = false;
|
|
134
|
-
kvs = ref.current =
|
|
107
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
135
108
|
version: 1,
|
|
136
|
-
upgrade({ oldVersion, newVersion }) {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
isUpgradeCalled = true;
|
|
141
|
-
});
|
|
109
|
+
async upgrade({ oldVersion, newVersion }) {
|
|
110
|
+
assert_1.default.strictEqual(oldVersion, 0);
|
|
111
|
+
assert_1.default.strictEqual(newVersion, 1);
|
|
112
|
+
isUpgradeCalled = true;
|
|
142
113
|
}
|
|
143
114
|
});
|
|
144
|
-
|
|
115
|
+
await kvs.set("key1", "value1");
|
|
145
116
|
assert_1.default.strictEqual(isUpgradeCalled, true, "should call upgrade at first time");
|
|
146
|
-
})
|
|
147
|
-
it("upgrade when on upgrade version", () =>
|
|
148
|
-
kvs = ref.current =
|
|
117
|
+
});
|
|
118
|
+
it("upgrade when on upgrade version", async () => {
|
|
119
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
149
120
|
version: 1
|
|
150
121
|
});
|
|
151
|
-
|
|
122
|
+
await kvs.set("key1", "value1");
|
|
152
123
|
// close
|
|
153
|
-
|
|
124
|
+
await kvs.close();
|
|
154
125
|
// re-open and upgrade
|
|
155
|
-
kvs = ref.current =
|
|
126
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
156
127
|
version: 2,
|
|
157
|
-
upgrade({ kvs, oldVersion }) {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
yield kvs.set("key1", "old-value1");
|
|
163
|
-
}
|
|
128
|
+
async upgrade({ kvs, oldVersion }) {
|
|
129
|
+
switch (oldVersion) {
|
|
130
|
+
// 1 → 2
|
|
131
|
+
case 1: {
|
|
132
|
+
await kvs.set("key1", "old-value1");
|
|
164
133
|
}
|
|
165
|
-
|
|
166
|
-
|
|
134
|
+
}
|
|
135
|
+
return;
|
|
167
136
|
}
|
|
168
137
|
});
|
|
169
138
|
// key1 is changed
|
|
170
|
-
assert_1.default.strictEqual(
|
|
171
|
-
})
|
|
172
|
-
it("multiple upgrade: 1 → 3", () =>
|
|
173
|
-
kvs = ref.current =
|
|
139
|
+
assert_1.default.strictEqual(await kvs.get("key1"), "old-value1");
|
|
140
|
+
});
|
|
141
|
+
it("multiple upgrade: 1 → 3", async () => {
|
|
142
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
174
143
|
version: 1
|
|
175
144
|
});
|
|
176
|
-
|
|
145
|
+
await kvs.set("key1", "value1");
|
|
177
146
|
// close
|
|
178
|
-
|
|
147
|
+
await kvs.close();
|
|
179
148
|
// re-open and upgrade
|
|
180
|
-
kvs = ref.current =
|
|
149
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
181
150
|
version: 3,
|
|
182
|
-
upgrade({ kvs, oldVersion }) {
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
return;
|
|
191
|
-
});
|
|
151
|
+
async upgrade({ kvs, oldVersion }) {
|
|
152
|
+
if (oldVersion <= 1) {
|
|
153
|
+
await kvs.set("v1", "v1-migrated-value");
|
|
154
|
+
}
|
|
155
|
+
if (oldVersion <= 2) {
|
|
156
|
+
await kvs.set("v2", "v2-migrated-value");
|
|
157
|
+
}
|
|
158
|
+
return;
|
|
192
159
|
}
|
|
193
160
|
});
|
|
194
|
-
assert_1.default.strictEqual(
|
|
195
|
-
assert_1.default.strictEqual(
|
|
196
|
-
assert_1.default.strictEqual(
|
|
197
|
-
})
|
|
198
|
-
it("asyncIterator", () =>
|
|
199
|
-
|
|
200
|
-
kvs = ref.current = yield kvsStorageConstructor({
|
|
161
|
+
assert_1.default.strictEqual(await kvs.get("key1"), "value1");
|
|
162
|
+
assert_1.default.strictEqual(await kvs.get("v1"), "v1-migrated-value");
|
|
163
|
+
assert_1.default.strictEqual(await kvs.get("v2"), "v2-migrated-value");
|
|
164
|
+
});
|
|
165
|
+
it("asyncIterator", async () => {
|
|
166
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
201
167
|
version: 1
|
|
202
168
|
});
|
|
203
|
-
|
|
204
|
-
|
|
169
|
+
await kvs.set("key1", "value1");
|
|
170
|
+
await kvs.set("key2", "value2");
|
|
205
171
|
const results = [];
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
const [key, value] = kvs_2_1.value;
|
|
209
|
-
results.push([key, value]);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
213
|
-
finally {
|
|
214
|
-
try {
|
|
215
|
-
if (kvs_2_1 && !kvs_2_1.done && (_b = kvs_2.return)) yield _b.call(kvs_2);
|
|
216
|
-
}
|
|
217
|
-
finally { if (e_2) throw e_2.error; }
|
|
172
|
+
for await (const [key, value] of kvs) {
|
|
173
|
+
results.push([key, value]);
|
|
218
174
|
}
|
|
219
175
|
assert_1.default.deepStrictEqual(results.sort(), [
|
|
220
176
|
["key1", "value1"],
|
|
221
177
|
["key2", "value2"]
|
|
222
178
|
].sort());
|
|
223
|
-
})
|
|
179
|
+
});
|
|
180
|
+
it("asyncIterator should iterate per storage", async () => {
|
|
181
|
+
const aStorage = await kvsStorageConstructor({
|
|
182
|
+
name: "a_col",
|
|
183
|
+
version: 1
|
|
184
|
+
});
|
|
185
|
+
const bStorage = await kvsStorageConstructor({
|
|
186
|
+
name: "b_col",
|
|
187
|
+
version: 1
|
|
188
|
+
});
|
|
189
|
+
// write a and b
|
|
190
|
+
await aStorage.set("key1", "value1");
|
|
191
|
+
await bStorage.set("key2", "value2");
|
|
192
|
+
const resultsA = [];
|
|
193
|
+
const resultsB = [];
|
|
194
|
+
// iterate
|
|
195
|
+
for await (const [key, value] of aStorage) {
|
|
196
|
+
resultsA.push([key, value]);
|
|
197
|
+
}
|
|
198
|
+
for await (const [key, value] of bStorage) {
|
|
199
|
+
resultsB.push([key, value]);
|
|
200
|
+
}
|
|
201
|
+
assert_1.default.deepStrictEqual(resultsA.sort(), [["key1", "value1"]].sort());
|
|
202
|
+
assert_1.default.deepStrictEqual(resultsB.sort(), [["key2", "value2"]].sort());
|
|
203
|
+
await bStorage.clear();
|
|
204
|
+
await aStorage.clear();
|
|
205
|
+
});
|
|
224
206
|
}
|
|
225
207
|
};
|
|
226
208
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common-test-case.js","sourceRoot":"","sources":["../src/common-test-case.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"common-test-case.js","sourceRoot":"","sources":["../src/common-test-case.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
11
|
-
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
12
|
-
var m = o[Symbol.asyncIterator], i;
|
|
13
|
-
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
14
|
-
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
15
|
-
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
16
|
-
};
|
|
17
1
|
import assert from "assert";
|
|
18
2
|
// version always be defined
|
|
19
3
|
export const createKVSTestCase = (kvsStorageConstructor, options) => {
|
|
@@ -29,192 +13,190 @@ export const createKVSTestCase = (kvsStorageConstructor, options) => {
|
|
|
29
13
|
run: () => {
|
|
30
14
|
describe("set", () => {
|
|
31
15
|
options.setTestDataList.forEach((item) => {
|
|
32
|
-
it(`${item.name}`, () =>
|
|
33
|
-
kvs = ref.current =
|
|
16
|
+
it(`${item.name}`, async () => {
|
|
17
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
34
18
|
version: 1
|
|
35
19
|
});
|
|
36
|
-
|
|
20
|
+
await kvs.set(item.name, item.value);
|
|
37
21
|
if (item.type === "object") {
|
|
38
|
-
assert.deepStrictEqual(
|
|
22
|
+
assert.deepStrictEqual(await kvs.get(item.name), item.value);
|
|
39
23
|
}
|
|
40
24
|
else {
|
|
41
|
-
assert.strictEqual(
|
|
25
|
+
assert.strictEqual(await kvs.get(item.name), item.value);
|
|
42
26
|
}
|
|
43
|
-
})
|
|
27
|
+
});
|
|
44
28
|
});
|
|
45
29
|
});
|
|
46
|
-
it("set → get", () =>
|
|
47
|
-
kvs = ref.current =
|
|
30
|
+
it("set → get", async () => {
|
|
31
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
48
32
|
version: 1
|
|
49
33
|
});
|
|
50
|
-
|
|
51
|
-
assert.strictEqual(
|
|
52
|
-
})
|
|
53
|
-
describe("set", () =>
|
|
54
|
-
kvs = ref.current =
|
|
34
|
+
await kvs.set("key", "value");
|
|
35
|
+
assert.strictEqual(await kvs.get("key"), "value");
|
|
36
|
+
});
|
|
37
|
+
describe("set", async () => {
|
|
38
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
55
39
|
version: 1
|
|
56
40
|
});
|
|
57
|
-
|
|
58
|
-
assert.strictEqual(
|
|
59
|
-
})
|
|
60
|
-
it("update with set", () =>
|
|
61
|
-
kvs = ref.current =
|
|
41
|
+
await kvs.set("key", "value");
|
|
42
|
+
assert.strictEqual(await kvs.get("key"), "value");
|
|
43
|
+
});
|
|
44
|
+
it("update with set", async () => {
|
|
45
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
62
46
|
version: 1
|
|
63
47
|
});
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
assert.strictEqual(
|
|
67
|
-
})
|
|
68
|
-
it("test multiple set-get key-value", () =>
|
|
69
|
-
kvs = ref.current =
|
|
48
|
+
await kvs.set("key", "value1");
|
|
49
|
+
await kvs.set("key", "value2");
|
|
50
|
+
assert.strictEqual(await kvs.get("key"), "value2");
|
|
51
|
+
});
|
|
52
|
+
it("test multiple set-get key-value", async () => {
|
|
53
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
70
54
|
version: 1
|
|
71
55
|
});
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
assert.strictEqual(
|
|
75
|
-
assert.strictEqual(
|
|
76
|
-
})
|
|
77
|
-
it("delete with key", () =>
|
|
78
|
-
kvs = ref.current =
|
|
56
|
+
await kvs.set("key1", "value1");
|
|
57
|
+
await kvs.set("key2", "value2");
|
|
58
|
+
assert.strictEqual(await kvs.get("key1"), "value1");
|
|
59
|
+
assert.strictEqual(await kvs.get("key2"), "value2");
|
|
60
|
+
});
|
|
61
|
+
it("delete with key", async () => {
|
|
62
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
79
63
|
version: 1
|
|
80
64
|
});
|
|
81
|
-
|
|
82
|
-
assert.ok(
|
|
83
|
-
|
|
84
|
-
assert.ok((
|
|
85
|
-
})
|
|
86
|
-
it("clear all data", () =>
|
|
87
|
-
kvs = ref.current =
|
|
65
|
+
await kvs.set("key", "value");
|
|
66
|
+
assert.ok(await kvs.get("key"));
|
|
67
|
+
await kvs.delete("key");
|
|
68
|
+
assert.ok((await kvs.has("key1")) === false);
|
|
69
|
+
});
|
|
70
|
+
it("clear all data", async () => {
|
|
71
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
88
72
|
version: 1
|
|
89
73
|
});
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
assert.ok(
|
|
93
|
-
assert.ok(
|
|
94
|
-
|
|
95
|
-
assert.strictEqual(
|
|
96
|
-
assert.strictEqual(
|
|
97
|
-
})
|
|
98
|
-
it("[Symbol.asyncIterator]", () =>
|
|
99
|
-
|
|
100
|
-
kvs = ref.current = yield kvsStorageConstructor({
|
|
74
|
+
await kvs.set("key1", "value1");
|
|
75
|
+
await kvs.set("key2", "value2");
|
|
76
|
+
assert.ok(await kvs.has("key1"));
|
|
77
|
+
assert.ok(await kvs.has("key2"));
|
|
78
|
+
await kvs.clear();
|
|
79
|
+
assert.strictEqual(await kvs.has("key1"), false, "key 1 should be deleted");
|
|
80
|
+
assert.strictEqual(await kvs.has("key2"), false, "key 2 should be deleted");
|
|
81
|
+
});
|
|
82
|
+
it("[Symbol.asyncIterator]", async () => {
|
|
83
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
101
84
|
version: 1
|
|
102
85
|
});
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
assert.ok(
|
|
106
|
-
assert.ok(
|
|
86
|
+
await kvs.set("key1", "value1");
|
|
87
|
+
await kvs.set("key2", "value2");
|
|
88
|
+
assert.ok(await kvs.has("key1"), "should have key1");
|
|
89
|
+
assert.ok(await kvs.has("key2"), "should have key2");
|
|
107
90
|
const results = [];
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
const [key, value] = kvs_1_1.value;
|
|
111
|
-
results.push([key, value]);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
115
|
-
finally {
|
|
116
|
-
try {
|
|
117
|
-
if (kvs_1_1 && !kvs_1_1.done && (_a = kvs_1.return)) yield _a.call(kvs_1);
|
|
118
|
-
}
|
|
119
|
-
finally { if (e_1) throw e_1.error; }
|
|
91
|
+
for await (const [key, value] of kvs) {
|
|
92
|
+
results.push([key, value]);
|
|
120
93
|
}
|
|
121
94
|
assert.deepStrictEqual(results.sort(), [
|
|
122
95
|
["key1", "value1"],
|
|
123
96
|
["key2", "value2"]
|
|
124
97
|
].sort());
|
|
125
|
-
})
|
|
126
|
-
it("upgrade 0 → 1 when open database at first time", () =>
|
|
98
|
+
});
|
|
99
|
+
it("upgrade 0 → 1 when open database at first time", async () => {
|
|
127
100
|
let isUpgradeCalled = false;
|
|
128
|
-
kvs = ref.current =
|
|
101
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
129
102
|
version: 1,
|
|
130
|
-
upgrade({ oldVersion, newVersion }) {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
isUpgradeCalled = true;
|
|
135
|
-
});
|
|
103
|
+
async upgrade({ oldVersion, newVersion }) {
|
|
104
|
+
assert.strictEqual(oldVersion, 0);
|
|
105
|
+
assert.strictEqual(newVersion, 1);
|
|
106
|
+
isUpgradeCalled = true;
|
|
136
107
|
}
|
|
137
108
|
});
|
|
138
|
-
|
|
109
|
+
await kvs.set("key1", "value1");
|
|
139
110
|
assert.strictEqual(isUpgradeCalled, true, "should call upgrade at first time");
|
|
140
|
-
})
|
|
141
|
-
it("upgrade when on upgrade version", () =>
|
|
142
|
-
kvs = ref.current =
|
|
111
|
+
});
|
|
112
|
+
it("upgrade when on upgrade version", async () => {
|
|
113
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
143
114
|
version: 1
|
|
144
115
|
});
|
|
145
|
-
|
|
116
|
+
await kvs.set("key1", "value1");
|
|
146
117
|
// close
|
|
147
|
-
|
|
118
|
+
await kvs.close();
|
|
148
119
|
// re-open and upgrade
|
|
149
|
-
kvs = ref.current =
|
|
120
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
150
121
|
version: 2,
|
|
151
|
-
upgrade({ kvs, oldVersion }) {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
yield kvs.set("key1", "old-value1");
|
|
157
|
-
}
|
|
122
|
+
async upgrade({ kvs, oldVersion }) {
|
|
123
|
+
switch (oldVersion) {
|
|
124
|
+
// 1 → 2
|
|
125
|
+
case 1: {
|
|
126
|
+
await kvs.set("key1", "old-value1");
|
|
158
127
|
}
|
|
159
|
-
|
|
160
|
-
|
|
128
|
+
}
|
|
129
|
+
return;
|
|
161
130
|
}
|
|
162
131
|
});
|
|
163
132
|
// key1 is changed
|
|
164
|
-
assert.strictEqual(
|
|
165
|
-
})
|
|
166
|
-
it("multiple upgrade: 1 → 3", () =>
|
|
167
|
-
kvs = ref.current =
|
|
133
|
+
assert.strictEqual(await kvs.get("key1"), "old-value1");
|
|
134
|
+
});
|
|
135
|
+
it("multiple upgrade: 1 → 3", async () => {
|
|
136
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
168
137
|
version: 1
|
|
169
138
|
});
|
|
170
|
-
|
|
139
|
+
await kvs.set("key1", "value1");
|
|
171
140
|
// close
|
|
172
|
-
|
|
141
|
+
await kvs.close();
|
|
173
142
|
// re-open and upgrade
|
|
174
|
-
kvs = ref.current =
|
|
143
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
175
144
|
version: 3,
|
|
176
|
-
upgrade({ kvs, oldVersion }) {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
return;
|
|
185
|
-
});
|
|
145
|
+
async upgrade({ kvs, oldVersion }) {
|
|
146
|
+
if (oldVersion <= 1) {
|
|
147
|
+
await kvs.set("v1", "v1-migrated-value");
|
|
148
|
+
}
|
|
149
|
+
if (oldVersion <= 2) {
|
|
150
|
+
await kvs.set("v2", "v2-migrated-value");
|
|
151
|
+
}
|
|
152
|
+
return;
|
|
186
153
|
}
|
|
187
154
|
});
|
|
188
|
-
assert.strictEqual(
|
|
189
|
-
assert.strictEqual(
|
|
190
|
-
assert.strictEqual(
|
|
191
|
-
})
|
|
192
|
-
it("asyncIterator", () =>
|
|
193
|
-
|
|
194
|
-
kvs = ref.current = yield kvsStorageConstructor({
|
|
155
|
+
assert.strictEqual(await kvs.get("key1"), "value1");
|
|
156
|
+
assert.strictEqual(await kvs.get("v1"), "v1-migrated-value");
|
|
157
|
+
assert.strictEqual(await kvs.get("v2"), "v2-migrated-value");
|
|
158
|
+
});
|
|
159
|
+
it("asyncIterator", async () => {
|
|
160
|
+
kvs = ref.current = await kvsStorageConstructor({
|
|
195
161
|
version: 1
|
|
196
162
|
});
|
|
197
|
-
|
|
198
|
-
|
|
163
|
+
await kvs.set("key1", "value1");
|
|
164
|
+
await kvs.set("key2", "value2");
|
|
199
165
|
const results = [];
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
const [key, value] = kvs_2_1.value;
|
|
203
|
-
results.push([key, value]);
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
207
|
-
finally {
|
|
208
|
-
try {
|
|
209
|
-
if (kvs_2_1 && !kvs_2_1.done && (_b = kvs_2.return)) yield _b.call(kvs_2);
|
|
210
|
-
}
|
|
211
|
-
finally { if (e_2) throw e_2.error; }
|
|
166
|
+
for await (const [key, value] of kvs) {
|
|
167
|
+
results.push([key, value]);
|
|
212
168
|
}
|
|
213
169
|
assert.deepStrictEqual(results.sort(), [
|
|
214
170
|
["key1", "value1"],
|
|
215
171
|
["key2", "value2"]
|
|
216
172
|
].sort());
|
|
217
|
-
})
|
|
173
|
+
});
|
|
174
|
+
it("asyncIterator should iterate per storage", async () => {
|
|
175
|
+
const aStorage = await kvsStorageConstructor({
|
|
176
|
+
name: "a_col",
|
|
177
|
+
version: 1
|
|
178
|
+
});
|
|
179
|
+
const bStorage = await kvsStorageConstructor({
|
|
180
|
+
name: "b_col",
|
|
181
|
+
version: 1
|
|
182
|
+
});
|
|
183
|
+
// write a and b
|
|
184
|
+
await aStorage.set("key1", "value1");
|
|
185
|
+
await bStorage.set("key2", "value2");
|
|
186
|
+
const resultsA = [];
|
|
187
|
+
const resultsB = [];
|
|
188
|
+
// iterate
|
|
189
|
+
for await (const [key, value] of aStorage) {
|
|
190
|
+
resultsA.push([key, value]);
|
|
191
|
+
}
|
|
192
|
+
for await (const [key, value] of bStorage) {
|
|
193
|
+
resultsB.push([key, value]);
|
|
194
|
+
}
|
|
195
|
+
assert.deepStrictEqual(resultsA.sort(), [["key1", "value1"]].sort());
|
|
196
|
+
assert.deepStrictEqual(resultsB.sort(), [["key2", "value2"]].sort());
|
|
197
|
+
await bStorage.clear();
|
|
198
|
+
await aStorage.clear();
|
|
199
|
+
});
|
|
218
200
|
}
|
|
219
201
|
};
|
|
220
202
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common-test-case.js","sourceRoot":"","sources":["../src/common-test-case.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"common-test-case.js","sourceRoot":"","sources":["../src/common-test-case.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kvs/common-test-case",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "2.1.1",
|
|
4
4
|
"description": "Common Test Case for KVS",
|
|
5
5
|
"homepage": "https://github.com/azu/kvs/tree/master/packages/common-test-case/",
|
|
6
6
|
"bugs": {
|
|
@@ -40,20 +40,20 @@
|
|
|
40
40
|
"trailingComma": "none"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@kvs/types": "^1.
|
|
43
|
+
"@kvs/types": "^2.1.1"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"@types/mocha": "^
|
|
47
|
-
"@types/node": "^
|
|
48
|
-
"mocha": "^
|
|
46
|
+
"@types/mocha": "^9.0.0",
|
|
47
|
+
"@types/node": "^16.9.1",
|
|
48
|
+
"mocha": "^9.1.1",
|
|
49
49
|
"prettier": "^2.0.5",
|
|
50
50
|
"rimraf": "^3.0.2",
|
|
51
|
-
"ts-node": "^
|
|
52
|
-
"ts-node-test-register": "^
|
|
51
|
+
"ts-node": "^10.2.1",
|
|
52
|
+
"ts-node-test-register": "^10.0.0",
|
|
53
53
|
"typescript": "^4.2.4"
|
|
54
54
|
},
|
|
55
55
|
"publishConfig": {
|
|
56
56
|
"access": "public"
|
|
57
57
|
},
|
|
58
|
-
"gitHead": "
|
|
58
|
+
"gitHead": "d8ec6e0ba796bc2cab189a395bcda9754ffc4c9e"
|
|
59
59
|
}
|
package/CHANGELOG.md
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
# Change Log
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file.
|
|
4
|
-
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
|
-
|
|
6
|
-
# [1.2.0](https://github.com/azu/kvs/compare/v1.1.0...v1.2.0) (2021-04-17)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
### Features
|
|
10
|
-
|
|
11
|
-
* **types:** Use Key Remapping in Mapped Types. ([#17](https://github.com/azu/kvs/issues/17)) ([7c099be](https://github.com/azu/kvs/commit/7c099be4ae39adedba78d111574347395e024362))
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
### BREAKING CHANGES
|
|
15
|
-
|
|
16
|
-
* **types:** require TypeScript 4.1+
|
|
17
|
-
|
|
18
|
-
It aims to support to following schema:
|
|
19
|
-
|
|
20
|
-
```ts
|
|
21
|
-
const storage = kvs<{
|
|
22
|
-
[index: string]: string;
|
|
23
|
-
}>;
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
# [1.1.0](https://github.com/azu/kvs/compare/v1.0.0...v1.1.0) (2020-10-29)
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
### Features
|
|
34
|
-
|
|
35
|
-
* **examples:** add basic example ([#14](https://github.com/azu/kvs/issues/14)) ([351215d](https://github.com/azu/kvs/commit/351215d6c04158201768036caaa6e792c72717ea))
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
# [1.0.0](https://github.com/azu/kvs/compare/v0.3.1...v1.0.0) (2020-08-22)
|
|
42
|
-
|
|
43
|
-
**Note:** Version bump only for package @kvs/common-test-case
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
# [0.3.0](https://github.com/azu/kvs/compare/v0.2.1...v0.3.0) (2020-08-22)
|
|
50
|
-
|
|
51
|
-
**Note:** Version bump only for package @kvs/common-test-case
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
## [0.2.1](https://github.com/azu/kvs/compare/v0.2.0...v0.2.1) (2020-08-22)
|
|
58
|
-
|
|
59
|
-
**Note:** Version bump only for package @kvs/common-test-case
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
# [0.2.0](https://github.com/azu/kvs/compare/v0.1.0...v0.2.0) (2020-08-08)
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
### Features
|
|
69
|
-
|
|
70
|
-
* **@kvs/env:** migrate Schema Type ([0951d08](https://github.com/azu/kvs/commit/0951d08405d42588454878a03c9082961ad0c363))
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
# 0.1.0 (2020-08-08)
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
### Features
|
|
80
|
-
|
|
81
|
-
* **@kvs/node-localstorage:** add node implementation ([5160012](https://github.com/azu/kvs/commit/516001286c96ac85cb54d55fbba62549d6d7eb0e))
|