summaryrefslogtreecommitdiff
path: root/cli/tests/unit/kv_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/unit/kv_test.ts')
-rw-r--r--cli/tests/unit/kv_test.ts34
1 files changed, 34 insertions, 0 deletions
diff --git a/cli/tests/unit/kv_test.ts b/cli/tests/unit/kv_test.ts
index 25abf4cde..7cb8ebccf 100644
--- a/cli/tests/unit/kv_test.ts
+++ b/cli/tests/unit/kv_test.ts
@@ -1820,6 +1820,40 @@ Deno.test({
});
Deno.test({
+ name: "different kv instances for enqueue and queueListen",
+ async fn() {
+ const filename = await Deno.makeTempFile({ prefix: "queue_db" });
+ try {
+ const db0 = await Deno.openKv(filename);
+ const db1 = await Deno.openKv(filename);
+ const promise = deferred();
+ let dequeuedMessage: unknown = null;
+ const listener = db0.listenQueue((msg) => {
+ dequeuedMessage = msg;
+ promise.resolve();
+ });
+ try {
+ const res = await db1.enqueue("test");
+ assert(res.ok);
+ assertNotEquals(res.versionstamp, null);
+ await promise;
+ assertEquals(dequeuedMessage, "test");
+ } finally {
+ db0.close();
+ await listener;
+ db1.close();
+ }
+ } finally {
+ try {
+ await Deno.remove(filename);
+ } catch {
+ // pass
+ }
+ }
+ },
+});
+
+Deno.test({
name: "queue graceful close",
async fn() {
const db: Deno.Kv = await Deno.openKv(":memory:");