summaryrefslogtreecommitdiff
path: root/cli/tests
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests')
-rw-r--r--cli/tests/unit/kv_test.ts74
1 files changed, 74 insertions, 0 deletions
diff --git a/cli/tests/unit/kv_test.ts b/cli/tests/unit/kv_test.ts
index 438ebd7ee..acda9a0e2 100644
--- a/cli/tests/unit/kv_test.ts
+++ b/cli/tests/unit/kv_test.ts
@@ -20,6 +20,9 @@ try {
isCI = true;
}
+// Defined in test_util/src/lib.rs
+Deno.env.set("DENO_KV_ACCESS_TOKEN", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
+
Deno.test({
name: "openKv :memory: no permissions",
permissions: {},
@@ -1932,3 +1935,74 @@ Deno.test({
}
},
});
+
+Deno.test({
+ name: "remote backend",
+ async fn() {
+ const db = await Deno.openKv("http://localhost:4545/kv_remote_authorize");
+ try {
+ await db.set(["some-key"], 1);
+ const entry = await db.get(["some-key"]);
+ assertEquals(entry.value, null);
+ assertEquals(entry.versionstamp, null);
+ } finally {
+ db.close();
+ }
+ },
+});
+
+Deno.test({
+ name: "remote backend invalid format",
+ async fn() {
+ const db = await Deno.openKv(
+ "http://localhost:4545/kv_remote_authorize_invalid_format",
+ );
+ let ok = false;
+ try {
+ await db.set(["some-key"], 1);
+ } catch (e) {
+ if (
+ e.name === "TypeError" &&
+ e.message.startsWith("Metadata error: Failed to decode metadata: ")
+ ) {
+ ok = true;
+ } else {
+ throw e;
+ }
+ } finally {
+ db.close();
+ }
+
+ if (!ok) {
+ throw new Error("did not get expected error");
+ }
+ },
+});
+
+Deno.test({
+ name: "remote backend invalid version",
+ async fn() {
+ const db = await Deno.openKv(
+ "http://localhost:4545/kv_remote_authorize_invalid_version",
+ );
+ let ok = false;
+ try {
+ await db.set(["some-key"], 1);
+ } catch (e) {
+ if (
+ e.name === "TypeError" &&
+ e.message === "Metadata error: Unsupported metadata version: 2"
+ ) {
+ ok = true;
+ } else {
+ throw e;
+ }
+ } finally {
+ db.close();
+ }
+
+ if (!ok) {
+ throw new Error("did not get expected error");
+ }
+ },
+});