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).
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: trueso 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.Userprovisioning.UserDetailsListAnswer$Usersprovisioning.GroupListAnswer$DataThis 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)
TestFilesupload/download/properties/rename/remove fail withSardineException: 404 Not Found(and aClientProtocolExceptionon 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"NoSuchElement: No value presentin the dependent share tests (they cannot find the share created by t01).4. User / group management
getSubadminGroupsOfUser→ 404 "User does not exist"Notes
@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.continue-on-errorfrom.github/workflows/ci.ymlso CI gates again.Related: #111 (QA loop infrastructure).