diff --git a/extensions/qa-lab/src/live-transports/matrix/matrix-scenario-flows.test.ts b/extensions/qa-lab/src/live-transports/matrix/matrix-scenario-flows.test.ts index ba4836592cff..ba82482f5064 100644 --- a/extensions/qa-lab/src/live-transports/matrix/matrix-scenario-flows.test.ts +++ b/extensions/qa-lab/src/live-transports/matrix/matrix-scenario-flows.test.ts @@ -5,6 +5,17 @@ import { readQaScenarioExecutionConfig, } from "../../scenario-catalog.js"; +const MATRIX_MENTION_GATE_PRIMARY_SCENARIOS = [ + "matrix-allowbots-default-block", + "matrix-allowbots-mentions-mentioned-room", + "matrix-allowbots-mentions-unmentioned-open-room-block", + "matrix-allowbots-room-override-blocks-account-true", + "matrix-allowbots-room-override-enables-account-off", + "matrix-allowbots-self-sender-ignored", + "matrix-allowbots-true-unmentioned-open-room", + "matrix-mention-metadata-spoof-block", +] as const; + function readModuleBinding( scenario: ReturnType["scenarios"][number], ) { @@ -128,6 +139,21 @@ describe("Matrix QA Lab scenario flows", () => { }); }); + it("attributes Matrix admission and media evidence to behavior the flows execute", () => { + for (const scenarioId of MATRIX_MENTION_GATE_PRIMARY_SCENARIOS) { + expect(readQaScenarioById(scenarioId).coverage, scenarioId).toEqual({ + primary: ["matrix.mention-gates"], + }); + } + expect(readQaScenarioById("matrix-mxid-prefixed-command-block").coverage).toEqual({ + primary: ["matrix.mention-gates"], + secondary: ["channels.channel-native-commands"], + }); + expect(readQaScenarioById("matrix-unsupported-media-safe").coverage).toEqual({ + primary: ["channels.inbound-media-normalization"], + }); + }); + it("loads the voice preflight provider and media overrides", () => { expect(readQaScenarioById("matrix-voice-preflight-mention").execution).toMatchObject({ kind: "flow", diff --git a/qa/scenarios/channels/matrix-allowbots-default-block.yaml b/qa/scenarios/channels/matrix-allowbots-default-block.yaml index 7e59f0e6a0f5..61d3a9880fb9 100644 --- a/qa/scenarios/channels/matrix-allowbots-default-block.yaml +++ b/qa/scenarios/channels/matrix-allowbots-default-block.yaml @@ -4,7 +4,7 @@ scenario: surface: channels coverage: primary: - - channels.room-allowlist-access-policy + - matrix.mention-gates execution: profiles: { "matrix:all": 36, "matrix:fast": 8, "matrix:transport": 35 } kind: flow diff --git a/qa/scenarios/channels/matrix-allowbots-mentions-mentioned-room.yaml b/qa/scenarios/channels/matrix-allowbots-mentions-mentioned-room.yaml index 66f2a5c05c9b..b3b4114c40cf 100644 --- a/qa/scenarios/channels/matrix-allowbots-mentions-mentioned-room.yaml +++ b/qa/scenarios/channels/matrix-allowbots-mentions-mentioned-room.yaml @@ -4,7 +4,7 @@ scenario: surface: channels coverage: primary: - - channels.room-allowlist-access-policy + - matrix.mention-gates execution: profiles: { "matrix:all": 38, "matrix:fast": 9, "matrix:transport": 37 } kind: flow diff --git a/qa/scenarios/channels/matrix-allowbots-mentions-unmentioned-open-room-block.yaml b/qa/scenarios/channels/matrix-allowbots-mentions-unmentioned-open-room-block.yaml index ab13e81180b0..6837b833448b 100644 --- a/qa/scenarios/channels/matrix-allowbots-mentions-unmentioned-open-room-block.yaml +++ b/qa/scenarios/channels/matrix-allowbots-mentions-unmentioned-open-room-block.yaml @@ -4,7 +4,7 @@ scenario: surface: channels coverage: primary: - - channels.room-allowlist-access-policy + - matrix.mention-gates execution: profiles: { "matrix:all": 39, "matrix:transport": 38 } kind: flow diff --git a/qa/scenarios/channels/matrix-allowbots-room-override-blocks-account-true.yaml b/qa/scenarios/channels/matrix-allowbots-room-override-blocks-account-true.yaml index bba2a9159e06..68f0e50cab38 100644 --- a/qa/scenarios/channels/matrix-allowbots-room-override-blocks-account-true.yaml +++ b/qa/scenarios/channels/matrix-allowbots-room-override-blocks-account-true.yaml @@ -4,7 +4,7 @@ scenario: surface: channels coverage: primary: - - channels.room-allowlist-access-policy + - matrix.mention-gates execution: profiles: { "matrix:all": 41, "matrix:transport": 40 } kind: flow diff --git a/qa/scenarios/channels/matrix-allowbots-room-override-enables-account-off.yaml b/qa/scenarios/channels/matrix-allowbots-room-override-enables-account-off.yaml index a7ccf6ed34aa..eb29e5ec8da0 100644 --- a/qa/scenarios/channels/matrix-allowbots-room-override-enables-account-off.yaml +++ b/qa/scenarios/channels/matrix-allowbots-room-override-enables-account-off.yaml @@ -4,7 +4,7 @@ scenario: surface: channels coverage: primary: - - channels.room-allowlist-access-policy + - matrix.mention-gates execution: profiles: { "matrix:all": 42, "matrix:transport": 41 } kind: flow diff --git a/qa/scenarios/channels/matrix-allowbots-self-sender-ignored.yaml b/qa/scenarios/channels/matrix-allowbots-self-sender-ignored.yaml index 126a346ad8a3..aaf4f33adbff 100644 --- a/qa/scenarios/channels/matrix-allowbots-self-sender-ignored.yaml +++ b/qa/scenarios/channels/matrix-allowbots-self-sender-ignored.yaml @@ -4,7 +4,7 @@ scenario: surface: channels coverage: primary: - - channels.room-allowlist-access-policy + - matrix.mention-gates execution: profiles: { "matrix:all": 43, "matrix:transport": 42 } kind: flow diff --git a/qa/scenarios/channels/matrix-allowbots-true-unmentioned-open-room.yaml b/qa/scenarios/channels/matrix-allowbots-true-unmentioned-open-room.yaml index eafbb278f4be..d9241b16d213 100644 --- a/qa/scenarios/channels/matrix-allowbots-true-unmentioned-open-room.yaml +++ b/qa/scenarios/channels/matrix-allowbots-true-unmentioned-open-room.yaml @@ -4,7 +4,7 @@ scenario: surface: channels coverage: primary: - - channels.room-allowlist-access-policy + - matrix.mention-gates execution: profiles: { "matrix:all": 37, "matrix:transport": 36 } kind: flow diff --git a/qa/scenarios/channels/matrix-mention-metadata-spoof-block.yaml b/qa/scenarios/channels/matrix-mention-metadata-spoof-block.yaml index d21f7aa13544..47167cafa36b 100644 --- a/qa/scenarios/channels/matrix-mention-metadata-spoof-block.yaml +++ b/qa/scenarios/channels/matrix-mention-metadata-spoof-block.yaml @@ -4,7 +4,7 @@ scenario: surface: channels coverage: primary: - - channels.room-allowlist-access-policy + - matrix.mention-gates execution: profiles: { "matrix:all": 45, "matrix:transport": 44 } kind: flow diff --git a/qa/scenarios/channels/matrix-mxid-prefixed-command-block.yaml b/qa/scenarios/channels/matrix-mxid-prefixed-command-block.yaml index cb2b8d50a2e5..c2a1ff7ab88d 100644 --- a/qa/scenarios/channels/matrix-mxid-prefixed-command-block.yaml +++ b/qa/scenarios/channels/matrix-mxid-prefixed-command-block.yaml @@ -4,9 +4,9 @@ scenario: surface: channels coverage: primary: - - channels.channel-native-commands - secondary: - matrix.mention-gates + secondary: + - channels.channel-native-commands execution: profiles: { "matrix:all": 44, "matrix:transport": 43 } kind: flow diff --git a/qa/scenarios/channels/matrix-unsupported-media-safe.yaml b/qa/scenarios/channels/matrix-unsupported-media-safe.yaml index db36961811b9..7d6c2aae6a27 100644 --- a/qa/scenarios/channels/matrix-unsupported-media-safe.yaml +++ b/qa/scenarios/channels/matrix-unsupported-media-safe.yaml @@ -5,8 +5,6 @@ scenario: coverage: primary: - channels.inbound-media-normalization - secondary: - - matrix.inbound-media-failure-handling execution: profiles: { "matrix:all": 56, "matrix:media": 5 } kind: flow