Skip to content

Commit 37b3855

Browse files
committed
fix(ci): disable OCM signed requests for federated share tests
The federated editing Cypress tests were failing because self-federated OCM share notifications were being rejected due to RFC 9421 signature verification failures. The CI server runs over plain HTTP, but OCMSignatoryManager::fetchJwks() hardcodes https:// for JWKS URLs, causing the fetch to fail. This results in confirmSignedOrigin() throwing "instance is supposed to sign its request" and returning HTTP 400, so the pending share is never created for the recipient and document.odt never appears in the files list. Set ocm_signed_request_disabled=true to bypass the signing requirement in the HTTP test environment, where inter-server TLS is unavailable. Also add an early assertion in shareFileToRemoteUser() so any future federation setup failures produce a clear Cypress error rather than silently cascading into a timeout on cy.openFile(). Assisted-by: ClaudeCode:claude-sonnet-4-6 Signed-off-by: Elizabeth Danzberger <elizabeth@elzody.dev>
1 parent 4b6eb3e commit 37b3855

2 files changed

Lines changed: 3 additions & 0 deletions

File tree

.github/workflows/cypress-e2e.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ jobs:
154154
php occ config:app:set richdocuments wopi_url --value="http://localhost:9980"
155155
php occ config:app:set richdocuments public_wopi_url --value="http://localhost:9980"
156156
php occ config:system:set allow_local_remote_servers --value true --type bool
157+
php occ config:app:set core ocm_signed_request_disabled --value true --type bool
157158
php occ richdocuments:activate-config
158159
159160
curl http://admin:admin@localhost:8081/ocs/v1.php/cloud/capabilities\?format\=json -H 'OCS-APIRequest: true'

cypress/support/commands.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,8 @@ Cypress.Commands.add('shareFileToRemoteUser', (user, path, targetUser, shareData
145145
url: `${url}/ocs/v2.php/apps/files_sharing/api/v1/remote_shares/pending?format=json`,
146146
})
147147
}).then(({ body }) => {
148+
cy.wrap(body.ocs.data).should('have.length.greaterThan', 0,
149+
'No pending federated shares found for recipient — federation setup likely failed')
148150
for (const index in body.ocs.data) {
149151
cy.ocsRequest(targetUser, {
150152
method: 'POST',

0 commit comments

Comments
 (0)