elsa-core/test/integration
Sipke Schoorstra fe9217bdfa
test(labels): share InMemory/EF store conformance scenarios (#8122)
* test(labels): share InMemory/EF store conformance scenarios

Add one abstract Labels store suite and run it against InMemory and
EF Core (SQLite) so tenant isolation, NormalizedName uniqueness,
cascade delete, ReplaceAsync, and association lookups stay aligned.

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>

* test(labels): drop provider-specific uniqueness and paging asserts

SaveMany name swaps trip EF BulkUpsert unique indexes, and Memory
ToPage counts after Skip/Take. Keep the shared matrix on contracts
both InMemory and EF/SQLite honor.

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>

* test(labels): map conformance matrix to the #8091 lock list

Keep one scenario per issue invariant so the InMemory/EF harness stays
small and readable: cascade delete, ReplaceAsync, association
finds/deletes, ListAsync order/paging, tenant stamp/isolation, and
per-tenant NormalizedName uniqueness.

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>

* test(labels): cover cross-tenant lookup conformance

* test(labels): use Path.Join for sqlite fixture

* test(labels): lock ID-only ReplaceAsync and SaveMany tenant stamp

Vary every field except Id on the removed association so ReplaceAsync
cannot match the stored row by payload. Also stamp null-tenant batches
through SaveManyAsync on both label and association stores.

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>

* test(labels): stamp null TenantId under a named ambient tenant

Cover SaveAsync and SaveManyAsync for labels and associations when
the ambient tenant is tenant-a, so a default-only stamp cannot pass.

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>

* test(labels): reject tenant-A association leakage under tenant-B

Tenant-B FindByVersion and FindByLabelIds now require assoc-b and
assoc-star, and fail if assoc-a is visible.

Co-authored-by: Sipke Schoorstra <sipkeschoorstra@outlook.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2026-09-13 18:58:36 +02:00
..
Elsa.Activities.IntegrationTests [codex] Fix ForEach completion from nested flowchart (#7702) 2026-06-08 12:04:55 +02:00
Elsa.AI.IntegrationTests fix(bpmn): make document PUT If-Match and save a compare-and-swap (#8092) 2026-09-13 01:40:43 -07:00
Elsa.Alterations.IntegrationTests fix(alterations): preserve tenant context for background alteration jobs (#7962) 2026-09-06 20:07:36 -07:00
Elsa.Bpmn.IntegrationTests fix(bpmn): let a process with only a plain start event publish (#8081) 2026-09-12 11:07:59 -07:00
Elsa.Bpmn.Interchange.IntegrationTests fix(bpmn): make document PUT If-Match and save a compare-and-swap (#8092) 2026-09-13 01:40:43 -07:00
Elsa.Common.IntegrationTests Add unit and integration tests for DownloadHttpFile activity (#7094) 2025-11-24 14:37:06 +01:00
Elsa.Diagnostics.ConsoleLogs.IntegrationTests refactor(auth)!: retire the legacy permission constants and duplicate descriptor types (#7987) 2026-08-25 06:04:32 +02:00
Elsa.Diagnostics.OpenTelemetry.IntegrationTests feat(auth)!: structured authorization model, phases 1-6 (#7980) 2026-08-24 23:44:55 +02:00
Elsa.Diagnostics.StructuredLogs.IntegrationTests [codex] Add live server log streaming diagnostics (#7438) 2026-05-11 00:08:52 +02:00
Elsa.Diagnostics.StructuredLogs.Persistence.Sqlite.IntegrationTests Fix SQLite structured log shell lifecycle (#7461) 2026-05-18 01:04:04 +02:00
Elsa.Dsl.ElsaScript.IntegrationTests Adopt the Jint 4.15 host-integration surface: lazy type globals, enum names, and register-what-is-referenced (#7895) 2026-08-17 01:44:03 +02:00
Elsa.ExternalAuthentication.IntegrationTests test(ext-auth): share store conformance scenarios (#8096) 2026-09-13 15:58:40 +02:00
Elsa.Hosts.SmokeTests test(modular-host): add opt-in role management fixture 2026-09-06 04:25:09 +02:00
Elsa.Http.IntegrationTests Improves HTTP context loss error handling (#7187) 2026-01-12 16:51:30 +01:00
Elsa.JavaScript.IntegrationTests Adopt the Jint 4.15 host-integration surface: lazy type globals, enum names, and register-what-is-referenced (#7895) 2026-08-17 01:44:03 +02:00
Elsa.Labels.Persistence.ConformanceTests test(labels): share InMemory/EF store conformance scenarios (#8122) 2026-09-13 18:58:36 +02:00
Elsa.Resilience.IntegrationTests [codex] Secure Resilience simulate response endpoint (#7505) 2026-05-22 15:27:13 +02:00
Elsa.Workflows.IntegrationTests fix: preserve single latest draft when saving a new identity (#7918) 2026-09-08 01:03:30 +02:00
Elsa.Workflows.Persistence.ConformanceTests test(workflows): share Memory/EF store conformance scenarios (#8115) 2026-09-13 18:07:09 +02:00
Directory.Build.props Add coverage enforcement for test projects (#6950) 2025-10-07 19:59:53 +02:00