Skip to content

Commit d32fa3e

Browse files
authored
fix: stalled response (#226)
1 parent 3e01199 commit d32fa3e

File tree

6 files changed

+33
-15
lines changed

6 files changed

+33
-15
lines changed

src/storage/utils/object.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,10 @@ export async function notifyCollab(api, url, env) {
3030
if (env.COLLAB_SHARED_SECRET) {
3131
headers.authorization = `token ${env.COLLAB_SHARED_SECRET}`;
3232
}
33-
await env.dacollab.fetch(invURL, {
33+
const resp = await env.dacollab.fetch(invURL, {
3434
// TODO: use POST for state changing operations
3535
// method: 'POST',
3636
headers,
3737
});
38+
resp.body.cancel();
3839
}

test/integration/conditional-e2e.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ describe('Conditional Headers End-to-End', () => {
110110
const env = {
111111
AEM_BUCKET_NAME: 'test-bucket',
112112
dacollab: {
113-
fetch: async () => ({ status: 200 }),
113+
fetch: async () => ({ status: 200, body: { cancel: () => {} } }),
114114
},
115115
};
116116
const resp = await handler.default.fetch(req, env);

test/routes/source.test.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,10 @@ describe('Source Route', () => {
1919
it('Test invalidate using service binding', async () => {
2020
const sb_callbacks = [];
2121
const dacollab = {
22-
fetch: async (url) => sb_callbacks.push(url),
22+
fetch: async (url) => {
23+
sb_callbacks.push(url);
24+
return { body: { cancel: () => {} } };
25+
},
2326
};
2427
const env = {
2528
dacollab,

test/storage/object/copy.test.js

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,10 @@ describe('Object copy', () => {
343343
const collabCalled = [];
344344
const env = {
345345
dacollab: {
346-
fetch: (x) => { collabCalled.push(x); },
346+
fetch: (x) => {
347+
collabCalled.push(x);
348+
return { body: { cancel: () => {} } };
349+
},
347350
},
348351
};
349352
const daCtx = {
@@ -569,7 +572,10 @@ describe('Object copy', () => {
569572
const collabCalled = [];
570573
const env = {
571574
dacollab: {
572-
fetch: (x) => { collabCalled.push(x); },
575+
fetch: (x) => {
576+
collabCalled.push(x);
577+
return { body: { cancel: () => {} } };
578+
},
573579
},
574580
};
575581
const daCtx = { bucket: 'mybucket', org: 'xorg' };
@@ -631,7 +637,10 @@ describe('Object copy', () => {
631637
const collabCalled = [];
632638
const env = {
633639
dacollab: {
634-
fetch: (x) => { collabCalled.push(x); },
640+
fetch: (x) => {
641+
collabCalled.push(x);
642+
return { body: { cancel: () => {} } };
643+
},
635644
},
636645
};
637646
const daCtx = { bucket: 'test-bucket', org: 'qqqorg', origin: 'http://qqq' };
@@ -680,7 +689,7 @@ describe('Object copy', () => {
680689
return null;
681690
};
682691

683-
const env = { dacollab: { fetch: () => {} } };
692+
const env = { dacollab: { fetch: () => ({ body: { cancel: () => {} } }) } };
684693
const ctx = {
685694
bucket: 'root-bucket',
686695
org: 'foo',
@@ -713,7 +722,7 @@ describe('Object copy', () => {
713722
DA_JOBS[key] = value;
714723
},
715724
},
716-
dacollab: { fetch: () => {} },
725+
dacollab: { fetch: () => ({ body: { cancel: () => {} } }) },
717726
};
718727
s3Mock.on(ListObjectsV2Command)
719728
.resolves({
@@ -797,7 +806,7 @@ describe('Object copy', () => {
797806
return DA_JOBS[key];
798807
},
799808
},
800-
dacollab: { fetch: () => {} },
809+
dacollab: { fetch: () => ({ body: { cancel: () => {} } }) },
801810
};
802811

803812
// Mock getObject to return content type for HEAD requests
@@ -858,7 +867,7 @@ describe('Object copy', () => {
858867
delete DA_JOBS[key];
859868
},
860869
},
861-
dacollab: { fetch: () => {} },
870+
dacollab: { fetch: () => ({ body: { cancel: () => {} } }) },
862871
};
863872

864873
// Mock getObject to return content type for HEAD requests

test/storage/object/delete.test.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,12 @@ describe('Object delete', () => {
2525
describe('single context', () => {
2626
it('Delete a file', async () => {
2727
const collabCalled = [];
28-
const dacollab = { fetch: (u) => collabCalled.push(u) };
28+
const dacollab = {
29+
fetch: (u) => {
30+
collabCalled.push(u);
31+
return { body: { cancel: () => {} } };
32+
},
33+
};
2934

3035
const client = {};
3136
const env = { dacollab };
@@ -227,8 +232,7 @@ describe('Object delete', () => {
227232
};
228233
const env = {
229234
dacollab: {
230-
fetch: () => {
231-
},
235+
fetch: () => ({ body: { cancel: () => {} } }),
232236
},
233237
};
234238
const mockPostObjectVersion = async () => ({ status: 201 });
@@ -257,8 +261,7 @@ describe('Object delete', () => {
257261
};
258262
const env = {
259263
dacollab: {
260-
fetch: () => {
261-
},
264+
fetch: () => ({ body: { cancel: () => {} } }),
262265
},
263266
};
264267
const mockPostObjectVersion = async () => ({ status: 201 });

test/storage/utils/object.test.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ describe('Storage Object Utils tests', () => {
2121
fetch: async (url) => {
2222
console.log(`invalidate called with ${url}`);
2323
called.push(url);
24+
return { body: { cancel: () => {} } };
2425
},
2526
};
2627
const env = { dacollab };
@@ -53,6 +54,7 @@ describe('Storage Object Utils tests', () => {
5354
console.log(`invalidate called with ${url}`);
5455
assert.strictEqual(opts.headers.authorization, 'token example-secret');
5556
called.push(url);
57+
return { body: { cancel: () => {} } };
5658
},
5759
},
5860
COLLAB_SHARED_SECRET: 'example-secret',

0 commit comments

Comments
 (0)