diff --git a/src/deploy/functions/release/fabricator.spec.ts b/src/deploy/functions/release/fabricator.spec.ts index bcb17f49f66..1e7a501c530 100644 --- a/src/deploy/functions/release/fabricator.spec.ts +++ b/src/deploy/functions/release/fabricator.spec.ts @@ -1333,7 +1333,13 @@ describe("Fabricator", () => { upsertScheduleV2.resolves(); await fab.setTrigger(ep); - expect(upsertScheduleV2).to.have.been.called; + expect(upsertScheduleV2).to.have.been.calledOnce; + upsertScheduleV2.resetHistory(); + + ep.platform = "run"; + await fab.setTrigger(ep); + expect(upsertScheduleV2).to.have.been.calledOnce; + upsertScheduleV2.restore(); }); it("sets task queue triggers", async () => { @@ -1344,7 +1350,32 @@ describe("Fabricator", () => { upsertTaskQueue.resolves(); await fab.setTrigger(ep); - expect(upsertTaskQueue).to.have.been.called; + expect(upsertTaskQueue).to.have.been.calledOnce; + upsertTaskQueue.resetHistory(); + + ep.platform = "run"; + await fab.setTrigger(ep); + expect(upsertTaskQueue).to.have.been.calledOnce; + upsertTaskQueue.restore(); + }); + + it("sets blocking triggers", async () => { + const ep = endpoint({ + blockingTrigger: { + eventType: "beforeCreate", + }, + }); + const registerBlockingTrigger = sinon.stub(fab, "registerBlockingTrigger"); + registerBlockingTrigger.resolves(); + + await fab.setTrigger(ep); + expect(registerBlockingTrigger).to.have.been.calledOnce; + registerBlockingTrigger.resetHistory(); + + ep.platform = "run"; + await fab.setTrigger(ep); + expect(registerBlockingTrigger).to.have.been.calledOnce; + registerBlockingTrigger.restore(); }); }); @@ -1384,7 +1415,13 @@ describe("Fabricator", () => { deleteScheduleV2.resolves(); await fab.deleteTrigger(ep); - expect(deleteScheduleV2).to.have.been.called; + expect(deleteScheduleV2).to.have.been.calledOnce; + deleteScheduleV2.resetHistory(); + + ep.platform = "run"; + await fab.deleteTrigger(ep); + expect(deleteScheduleV2).to.have.been.calledOnce; + deleteScheduleV2.restore(); }); it("deletes task queue triggers", async () => { @@ -1392,9 +1429,35 @@ describe("Fabricator", () => { taskQueueTrigger: {}, }); const disableTaskQueue = sinon.stub(fab, "disableTaskQueue"); + disableTaskQueue.resolves(); + + await fab.deleteTrigger(ep); + expect(disableTaskQueue).to.have.been.calledOnce; + disableTaskQueue.resetHistory(); + + ep.platform = "run"; + await fab.deleteTrigger(ep); + expect(disableTaskQueue).to.have.been.calledOnce; + disableTaskQueue.restore(); + }); + + it("deletes blocking triggers", async () => { + const ep = endpoint({ + blockingTrigger: { + eventType: "beforeCreate", + }, + }); + const unregisterBlockingTrigger = sinon.stub(fab, "unregisterBlockingTrigger"); + unregisterBlockingTrigger.resolves(); + + await fab.deleteTrigger(ep); + expect(unregisterBlockingTrigger).to.have.been.calledOnce; + unregisterBlockingTrigger.resetHistory(); + ep.platform = "run"; await fab.deleteTrigger(ep); - expect(disableTaskQueue).to.have.been.called; + expect(unregisterBlockingTrigger).to.have.been.calledOnce; + unregisterBlockingTrigger.restore(); }); }); diff --git a/src/deploy/functions/release/fabricator.ts b/src/deploy/functions/release/fabricator.ts index b43339dd955..1792d7f581e 100644 --- a/src/deploy/functions/release/fabricator.ts +++ b/src/deploy/functions/release/fabricator.ts @@ -927,7 +927,7 @@ export class Fabricator { if (endpoint.platform === "gcfv1") { await this.upsertScheduleV1(endpoint); return; - } else if (endpoint.platform === "gcfv2") { + } else if (endpoint.platform === "gcfv2" || endpoint.platform === "run") { await this.upsertScheduleV2(endpoint); return; } else if (endpoint.platform === "run") { @@ -954,7 +954,7 @@ export class Fabricator { if (endpoint.platform === "gcfv1") { await this.deleteScheduleV1(endpoint); return; - } else if (endpoint.platform === "gcfv2") { + } else if (endpoint.platform === "gcfv2" || endpoint.platform === "run") { await this.deleteScheduleV2(endpoint); return; } else if (endpoint.platform === "run") {