Commit Graph

20 Commits

Author SHA1 Message Date
nfebe 25e7dd799e fix(sharing): Align userid config key in UserPlugin with Manager
UserPlugin reads `shareapi_restrict_user_enumeration_full_match_userid`
(no underscore) while Manager.php and the frontend both use
`shareapi_restrict_user_enumeration_full_match_user_id` (with underscore).

This mismatch causes the "disable exact match by user ID" admin setting
to have no effect on actual sharee search results.

Signed-off-by: nfebe <fenn25.fn@gmail.com>
2026-03-12 13:19:09 +01:00
provokateurin bf49f62da3 feat(UserPlugin): Also full match on additional email addresses
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-21 14:36:37 +01:00
provokateurin 7539fdbb72 test(UserPlugin): Cover full match email with sharee enumeration limited to group
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-21 14:36:32 +01:00
provokateurin cfa25ece7e fix(UserPlugin): Rewrite from scratch
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-21 14:29:58 +01:00
provokateurin ad65bcb653 test(UserPlugin): Rewrite unit tests as integration tests
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-01-21 14:29:58 +01:00
Daniel Calviño Sánchez 70ed393b34 test: Add integration tests for excluded groups in contacts and sharees
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-12-09 19:16:59 +01:00
Daniel Calviño Sánchez c40fcba5a4 fix: Fix user collaborators returned when searching for mail collaborators
The MailPlugin collaborator returned results for both user and mail
collaborators, but it was registered only for mail collaborators. While
it might make sense to move the user results to the UserPlugin instead
that change would be more complex and riskier, so for now the MailPlugin
is now registered for both user and mail collaborators and the results
are limited only to the registered type.

As the plugins are registered only with their class and then resolved
when needed using dependency injection it is not possible (as far as I
know) to provide an explicit parameter in the constructor to
differentiate whether the MailPlugin should return user or mail
collaborators. To overcome this two subclasses are introduced,
MailByMailPlugin and UserByMailPlugin, which just hardcode in their
constructor the collaborator type that their parent MailPlugin must use,
and those subclasses are the ones registered instead of the MailPlugin
(which still contains all the logic).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-11-11 01:20:17 +01:00
Daniel Calviño Sánchez dcda12c5db test: Add integration tests to get collaborators without sharebymail app
The "sharebymail" app is enabled by default, so it needs to be enabled
once the scenario ends as other scenarios could expect that the app is
enabled. To solve that now a special step is added that records the
enabled state of the given app and restores it once the scenario ends.

This step only restores the state of already installed apps. If an app
is installed during the test it will not be neither disabled nor
uninstalled after the test ends. Therefore, at least for now, it is
necessary to explicitly call the step to record the app to be restored,
rather than automatically keeping track of the changes in the enabled
state of the apps during the scenario.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-11-11 00:54:38 +01:00
Daniel Calviño Sánchez e4d58d35fa test: Add integration tests for getting user and mail collaborators
The OCS endpoint expects either an int or an array for "shareType".
However, when using "getRowsHash()" only a single key is taken into
account, so instead of:
  | shareType[] | 0 |
  | shareType[] | 4 |
the share types are provided in a single row like:
  | shareTypes | 0 4 |
and then converted to "shareType[]=0&shareType[]=4" when sending the
request.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-11-11 00:54:36 +01:00
Daniel Calviño Sánchez e68e5c3955 test: Add integration tests for getting collaborators by mail addresses
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-11-11 00:54:35 +01:00
Daniel Calviño Sánchez 27b57b8c86 test: Fix getting returned sharees when there are several results
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-11-11 00:54:35 +01:00
Daniel Calviño Sánchez a164ab84d6 test: Check unique display name if provided in the response
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-11-11 00:54:34 +01:00
Richard Steinmetz b7dc720848 feat: calendar federation
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-27 17:14:15 +02:00
Andy Scherzinger 1e04619675 chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-06-06 22:53:41 +02:00
Joas Schilling e2100856ad Add another test for exact matching of a user in group restriction
Signed-off-by: Joas Schilling <coding@schilljs.com>
2020-06-17 12:06:50 +02:00
John Molakvoæ (skjnldsv) ea6f423e2c Extend data returned when searching remote shares
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-10-29 12:55:59 +01:00
Joas Schilling a8e3168c17 200 is ok
Signed-off-by: Joas Schilling <coding@schilljs.com>
2017-03-20 13:13:09 -06:00
Sergio Bertolin 8e99f19c28 Added tests using v2.php
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-20 13:13:08 -06:00
Roeland Jago Douma 6719f8ca60 Add intergration tests
* Only for sharees right now
* Sharing intergration tests fail due to the test setup we have right
  now
2016-03-22 17:13:34 +01:00
Joas Schilling cb56dfec6b Split the context so we don't reset the config on each test 2016-03-15 14:53:16 +01:00