From a3664877aba24e3fefa303ea16459b05bb1b4672 Mon Sep 17 00:00:00 2001 From: Richard Steinmetz Date: Thu, 23 Jan 2025 21:12:16 +0100 Subject: [PATCH] fix(dav): default calendar and address book not created on first login Signed-off-by: Richard Steinmetz --- apps/dav/lib/AppInfo/Application.php | 2 +- build/integration/dav_features/caldav.feature | 5 +++++ build/integration/dav_features/carddav.feature | 4 ++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/apps/dav/lib/AppInfo/Application.php b/apps/dav/lib/AppInfo/Application.php index d8aa02d131294..168144b2f5ec5 100644 --- a/apps/dav/lib/AppInfo/Application.php +++ b/apps/dav/lib/AppInfo/Application.php @@ -104,6 +104,7 @@ use OCP\Config\BeforePreferenceSetEvent; use OCP\Contacts\IManager as IContactsManager; use OCP\DB\Events\AddMissingIndicesEvent; +use OCP\EventDispatcher\GenericEvent; use OCP\EventDispatcher\IEventDispatcher; use OCP\Federation\Events\TrustedServerRemovedEvent; use OCP\Files\AppData\IAppDataFactory; @@ -113,7 +114,6 @@ use OCP\User\Events\OutOfOfficeScheduledEvent; use Psr\Container\ContainerInterface; use Psr\Log\LoggerInterface; -use Symfony\Component\EventDispatcher\GenericEvent; use Throwable; use function is_null; diff --git a/build/integration/dav_features/caldav.feature b/build/integration/dav_features/caldav.feature index b306859086387..10b4fdfdcac89 100644 --- a/build/integration/dav_features/caldav.feature +++ b/build/integration/dav_features/caldav.feature @@ -79,3 +79,8 @@ Feature: caldav When "user0" requests principal "users/user0" on the endpoint "/remote.php/dav/principals/" Then The CalDAV response should be multi status And The CalDAV response should contain a property "{urn:ietf:params:xml:ns:caldav}schedule-default-calendar-URL" with a href value "/remote.php/dav/calendars/user0/MyCalendar2/" + + Scenario: Should create default calendar on first login + Given user "first-login" exists + When "first-login" requests calendar "first-login/personal" on the endpoint "/remote.php/dav/calendars/" + Then The CalDAV HTTP status code should be "207" diff --git a/build/integration/dav_features/carddav.feature b/build/integration/dav_features/carddav.feature index 15f1e95e73770..322c63f8bce7c 100644 --- a/build/integration/dav_features/carddav.feature +++ b/build/integration/dav_features/carddav.feature @@ -72,3 +72,7 @@ Feature: carddav When "user0" sends a create addressbook request to "admin/MyAddressbook2" on the endpoint "/remote.php/dav/addressbooks/" Then The CardDAV HTTP status code should be "404" And The CardDAV exception is "Internal Server Error" + + Scenario: Should create default addressbook on first login + Given user "first-login" exists + Then "first-login" requests addressbook "first-login/contacts" with statuscode "207" on the endpoint "/remote.php/dav/addressbooks/users/"