Skip to content

Integration tests fail against a clean Nextcloud 31 (empty-collection JSON, WebDAV 404s, sharing) #112

Description

@a-schild

Summary

With the Testcontainers-based QA loop in place (#111), the integration test suite now runs in CI against a fresh Nextcloud 31 instance. It revealed that ~45 of the 92 tests currently fail against a clean server (Tests run: 92, Failures: 22, Errors: 23).

The CI job's test step is temporarily marked continue-on-error: true so the QA loop can be landed without a permanently-red check. This issue tracks fixing the failures and then removing that flag.

Failure categories

1. Empty-collection JSON deserialization (likely a real library bug)

On a fresh instance the OCS API returns an empty JSON array [] for empty collections, but several answer types expect an object, e.g.:

  • com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize value of type ... from Array value (START_ARRAY) for:
    • provisioning.User
    • provisioning.UserDetailsListAnswer$Users
    • provisioning.GroupListAnswer$Data

This affects real users whenever a collection comes back empty, so it is worth fixing in the library (not just the tests).

2. WebDAV file operations return 404 (~13)

TestFiles upload/download/properties/rename/remove fail with SardineException: 404 Not Found (and a ClientProtocolException on upload). Needs investigation of WebDAV path resolution / test setup against NC31.

3. Sharing (~7)

  • FilesharingConnectorTest.t01_testDoShare → 404 "Please specify a valid account to share with"
  • cascading NoSuchElement: No value present in the dependent share tests (they cannot find the share created by t01).

4. User / group management

  • getSubadminGroupsOfUser → 404 "User does not exist"
  • delete/demote/remove-from-group failures, some cascading from category 1.

Notes

  • Tests are order-dependent (@FixMethodOrder(NAME_ASCENDING)) and share state, so some failures cascade from an earlier one — fixing the root causes (esp. category 1 and the file/share setup) should clear several at once.
  • Once the suite is green, remove continue-on-error from .github/workflows/ci.yml so CI gates again.

Related: #111 (QA loop infrastructure).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions