n8n/packages/cli/test
Yuliia Pominchuk 7afb35df89
feat(core): Run a catalog workflow on a person's own schedule
A subscription is a cron expression, a timezone and a set of inputs, provisioned
as one durable job owned by the subscription rather than by any node. Creating
one records consent in the same transaction: a schedule is the only reason the
grant exists, so asking twice would be asking the same question twice.

Two stores have to agree — the rows here and the jobs the scheduler runs from —
and nothing keeps them in step, so every path deprovisions before it deletes and
treats a failed provision as a reason to put the row back rather than leave the
two disagreeing.

The handler proves again everything a live request would have proved: that the
person still exists and is enabled, still consents, and may still execute the
workflow. None of those is an error when it fails — consent gets withdrawn and
access gets removed in the ordinary course of things — so the occurrence reports
no dispatch. It loads the subscriber with their role, since there is no
authenticated request to take a fully-loaded user from and the access check reads
the scopes it carries.

Identity is minted per occurrence rather than stored: the token is short-lived by
design, and one written at subscribe time would be long expired by the first run.
The occurrence's dedup key means a redelivered task recognises the execution a
previous delivery already created.

`RunnerBindingService` now reads the binding row instead of an in-memory map.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-05 12:15:27 +02:00
..
integration feat(core): Run a catalog workflow on a person's own schedule 2026-08-05 12:15:27 +02:00
migration feat(core): Emit once-per-agent setup completion telemetry (#35359) 2026-08-03 11:00:37 +00:00
shared test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
unit/utils fix(core): Fix /healthz endpoint when using N8N_PATH (#27665) 2026-03-30 13:05:07 +00:00
extend-expect.ts test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
global-setup.ts chore: Remove references to Jest (#33282) 2026-07-01 09:03:25 +00:00
setup-mocks.ts test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00
setup-test-folder.ts chore: Initial V2 changes (#22553) 2025-12-01 20:44:59 +02:00
setup-testcontainers.ts test: Migrate cli package from Jest to Vitest (#31804) 2026-06-29 21:19:56 +03:00