Skip to content

Commit 29764e2

Browse files
Jake ChampionJakeChampion
authored andcommitted
add test for multiple deletes at once
1 parent 6c600cf commit 29764e2

File tree

2 files changed

+52
-6
lines changed

2 files changed

+52
-6
lines changed

integration-tests/js-compute/fixtures/app/src/kv-store.js

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -617,10 +617,7 @@ import { routes } from "./routes.js";
617617
});
618618
routes.set("/kv-store/delete/key-does-not-exist-returns-undefined", async () => {
619619
let store = createValidStore()
620-
let result = store.delete(Math.random())
621-
let error = assert(result instanceof Promise, true, `store.delete(Math.random()) instanceof Promise`)
622-
if (error) { return error }
623-
error = assert(await result, undefined, `await store.delete(Math.random())`)
620+
let error = await assertRejects(() => store.delete(Math.random()), "KVStore.prototype.delete: can not delete key which does not exist")
624621
if (error) { return error }
625622
return pass()
626623
});
@@ -636,6 +633,45 @@ import { routes } from "./routes.js";
636633
if (error) { return error }
637634
return pass()
638635
});
636+
routes.set("/kv-store/delete/delete-key-twice", async () => {
637+
let store = createValidStore()
638+
let key = `key-exists-${Math.random()}`;
639+
await store.put(key, 'hello')
640+
let result = store.delete(key)
641+
let error = assert(result instanceof Promise, true, `store.delete(key) instanceof Promise`)
642+
if (error) { return error }
643+
result = await result
644+
error = assert(result, undefined, `(await store.delete(key) === undefined)`)
645+
if (error) { return error }
646+
error = await assertRejects(() => store.delete(key), "KVStore.prototype.delete: can not delete key which does not exist")
647+
if (error) { return error }
648+
return pass()
649+
});
650+
routes.set("/kv-store/delete/multiple-deletes-at-once", async () => {
651+
let store = createValidStore()
652+
let key1 = `key-exists-${Math.random()}`;
653+
await store.put(key1, '1hello1')
654+
let key2 = `key-exists-${Math.random()}`;
655+
await store.put(key2, '2hello2')
656+
let key3 = `key-exists-${Math.random()}`;
657+
await store.put(key3, '3hello3')
658+
let key4 = `key-exists-${Math.random()}`;
659+
await store.put(key4, '4hello4')
660+
let key5 = `key-exists-${Math.random()}`;
661+
await store.put(key5, '5hello5')
662+
let error = await assertResolves(() => {
663+
return Promise.all([
664+
store.delete(key1),
665+
store.delete(key2),
666+
store.delete(key3),
667+
store.delete(key4),
668+
store.delete(key5),
669+
]);
670+
});
671+
672+
if (error) { return error }
673+
return pass()
674+
});
639675
}
640676

641677
// KVStore get method

integration-tests/js-compute/fixtures/app/tests.json

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3678,11 +3678,21 @@
36783678
"status": 200
36793679
}
36803680
},
3681-
"GET /kv-store/delete/multiple-lookups-at-once": {
3681+
"GET /kv-store/delete/delete-key-twice": {
36823682
"environments": ["compute", "viceroy"],
36833683
"downstream_request": {
36843684
"method": "GET",
3685-
"pathname": "/kv-store/delete/multiple-lookups-at-once"
3685+
"pathname": "/kv-store/delete/delete-key-twice"
3686+
},
3687+
"downstream_response": {
3688+
"status": 200
3689+
}
3690+
},
3691+
"GET /kv-store/delete/multiple-deletes-at-once": {
3692+
"environments": ["compute", "viceroy"],
3693+
"downstream_request": {
3694+
"method": "GET",
3695+
"pathname": "/kv-store/delete/multiple-deletes-at-once"
36863696
},
36873697
"downstream_response": {
36883698
"status": 200

0 commit comments

Comments
 (0)