8000 fix(cloudflare): call wfp endpoint when deleting workers (#434) · sam-goodwin/alchemy@d109d98 · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Commit d109d98

Browse files
authored
fix(cloudflare): call wfp endpoint when deleting workers (#434)
1 parent 2b21d41 commit d109d98

File tree

2 files changed

+29
-8
lines changed

2 files changed

+29
-8
lines changed

alchemy/src/cloudflare/worker.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1018,7 +1018,9 @@ export const _Worker = Resource(
10181018
if (props.version) {
10191019
// For versions, use the preview URL if available
10201020
workerUrl = versionResult?.previewUrl;
1021-
} else {
1021+
} else if (!props.namespace) {
1022+
// namespaces don't support URLs
1023+
10221024
// For regular workers, use the normal URL configuration
10231025
workerUrl = await configureURL(
10241026
this,
@@ -1194,7 +1196,9 @@ export async function deleteWorker<B extends Bindings>(
11941196

11951197
// Delete worker
11961198
const deleteResponse = await api.delete(
1197-
`/accounts/${api.accountId}/workers/scripts/${workerName}?force=true`,
1199+
props.namespace
1200+
? `/accounts/${api.accountId}/workers/dispatch/namespaces/${props.namespace}/scripts/${workerName}?force=true`
1201+
: `/accounts/${api.accountId}/workers/scripts/${workerName}?force=true`,
11981202
);
11991203

12001204
// Check for success (2xx status code)

alchemy/test/cloudflare/dispatch-namespace.test.ts

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ describe("Dispatch Namespace Resource", () => {
7676
});
7777

7878
test("comprehensive dispatch namespace and worker integration", async (scope) => {
79-
const workerName = `${BRANCH_PREFIX}-target-worker`;
79+
const workerName = `${BRANCH_PREFIX}-dispatch-namespace-target-worker`;
8080
const dispatcherWorkerName = `${BRANCH_PREFIX}-dispatcher-worker`;
8181
const namespaceName = `${BRANCH_PREFIX}-comprehensive-test`;
8282

@@ -102,7 +102,6 @@ describe("Dispatch Namespace Resource", () => {
102102
}
103103
`,
104104
namespace: dispatchNamespace,
105-
url: false,
106105
});
107106

108107
// 3. Create a worker bound to the namespace (dispatcher)
@@ -131,8 +130,11 @@ describe("Dispatch Namespace Resource", () => {
131130
expect(text).toEqual("Dispatch response: Hello from dispatch namespace!");
132131
} finally {
133132
await alchemy.destroy(scope);
134-
if (targetWorker) {
135-
await assertWorkerDoesNotExist(targetWorker.name);
133+
if (targetWorker && dispatchNamespace) {
134+
await assertWorkerInNamespaceDoesNotExist(
135+
targetWorker.name,
136+
dispatchNamespace.namespace,
137+
);
136138
}
137139
if (dispatcherWorker) {
138140
await assertWorkerDoesNotExist(dispatcherWorker.name);
@@ -232,8 +234,11 @@ describe("Dispatch Namespace Resource", () => {
232234
}
233235

234236
await alchemy.destroy(scope);
235-
if (assetWorker) {
236-
await assertWorkerDoesNotExist(assetWorker.name);
237+
if (assetWorker && dispatchNamespace) {
238+
await assertWorkerInNamespaceDoesNotExist(
239+
assetWorker.name,
240+
dispatchNamespace.namespace,
241+
);
237242
}
238243
if (dispatcherWorker) {
239244
await assertWorkerDoesNotExist(dispatcherWorker.name);
@@ -274,4 +279,16 @@ describe("Dispatch Namespace Resource", () => {
274279

275280
expect(response.status).toEqual(404);
276281
}
282+
283+
async function assertWorkerInNamespaceDoesNotExist(
284+
workerName: string,
285+
namespace: string,
286+
): Promise<void> {
287+
const api = await createCloudflareApi();
288+
const response = await api.get(
289+
`/accounts/${api.accountId}/workers/dispatch/namespaces/${namespace}/scripts/${workerName}`,
290+
);
291+
292+
expect(response.status).toEqual(404);
293+
}
277294
});

0 commit comments

Comments
 (0)
0