For old android versions it could happen that the requests are performed
with a login name instead of the actual user id, so before this change
the property methods used the wrong value for fetching their information
Signed-off-by: Julius Härtl <jus@bitgrid.net>
* Match first part of the Windows 10 calendar user-agent
* Exposes subscribed calendars for Windows 10 calendar
* Update unit test
Signed-off-by: Mikael Saarinen <mikaels@iki.fi>
- Drop reliance on deprecated global jQuery object.
- Allow testing user interactions.
- Use newer technology stack.
---
Test user interactions with the groupware dav settings
Add infrastructure to test Vue components:
- Use recommended libraries:
- https://vuejs.org/v2/guide/testing.html#Recommendations
- Use jest-dom for robust assertions on the DOM state
- Use user-event to be more representative of user actions
- Code is transpiled by Jest, with the help of vue-jest.
Ignore test files for no-unpublished-import. Prevent ESLint from
flagging:
```
/home/runner/work/server/server/apps/dav/src/views/CalDavSettings.spec.js
Error: 1:24 error "@testing-library/vue" is not published node/no-unpublished-import
Error: 2:23 error "@testing-library/user-event" is not published node/no-unpublished-import
```
Signed-off-by: François Freitag <mail@franek.fr>
Removes warnings:
```
The at() matcher has been deprecated. It will be removed in PHPUnit 10.
Please refactor your test to not rely on the order in which methods are
invoked.
```
Signed-off-by: François Freitag <mail@franek.fr>
Internally it is valid to provide multiple values for a property as
plain string. An exampe is given in the PhpDoc of
AddressBookImpl::search().
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
We had both in places, but the old one isn't used anywhere outside this
app, so it's time to migrate the code.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
The etag is only set for files, but it's also possible that in edge
cases the copy destination node can't be found. In that case we don't
need to set any etag.
Required for #26083
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
6) OCA\DAV\Tests\Unit\DAV\Controller\InvitationResponseControllerTest::testAccept
Trying to configure method "fetch" which cannot be configured because it does not exist, has not been specified, is final, or is static
7) OCA\DAV\Tests\Unit\DAV\Controller\InvitationResponseControllerTest::testAcceptSequence
Trying to configure method "fetch" which cannot be configured because it does not exist, has not been specified, is final, or is static
8) OCA\DAV\Tests\Unit\DAV\Controller\InvitationResponseControllerTest::testAcceptRecurrenceId
Trying to configure method "fetch" which cannot be configured because it does not exist, has not been specified, is final, or is static
9) OCA\DAV\Tests\Unit\DAV\Controller\InvitationResponseControllerTest::testAcceptTokenNotFound
Trying to configure method "fetch" which cannot be configured because it does not exist, has not been specified, is final, or is static
10) OCA\DAV\Tests\Unit\DAV\Controller\InvitationResponseControllerTest::testAcceptExpiredToken
Trying to configure method "fetch" which cannot be configured because it does not exist, has not been specified, is final, or is static
11) OCA\DAV\Tests\Unit\DAV\Controller\InvitationResponseControllerTest::testDecline
Trying to configure method "fetch" which cannot be configured because it does not exist, has not been specified, is final, or is static
12) OCA\DAV\Tests\Unit\DAV\Controller\InvitationResponseControllerTest::testProcessMoreOptionsResult
Trying to configure method "fetch" which cannot be configured because it does not exist, has not been specified, is final, or is static
13) OCA\DAV\Tests\unit\CalDAV\CalendarTest::testConfidentialClassification with data set #0 (3, false)
No method rule is set
14) OCA\DAV\Tests\unit\DAV\Migration\RefreshWebcalJobRegistrarTest::testRun
Trying to configure method "fetch" which cannot be configured because it does not exist, has not been specified, is final, or is static
Signed-off-by: Joas Schilling <coding@schilljs.com>
Use new scope values in settings page.
Adjust all consumers to use the new constants.
Map old scope values to new ones in account property getter.
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
- it is being used on frontend by users
- user and big instances benefit from quicker results and less load
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
when importing ics files from third party services (ex: google), long
running recurrence vcalander objects can contain numerous vevents
relating to past exemptions or edits.
these objects are handled incorrectly, leading to incorrect first and/or
last occurence dates from being inferred. as a result, a number of
imported events are not rendered in the calendar.
this PR makes use of EventIterator's constructor that takes in an array
of VEVENTS to properly handle these complex cases.
Also of note is that other parameter signatures of EventIterator's constructor,
will be deprecated, according to comments in sabre dav EventIterator.php
Signed-off-by: leith abdulla <online-nextcloud@eleith.com>
when iterating through a calendar, recurrance events can throw an
exception if no instances of the recurrance are found.
this exception is of class `Exception` but the try/catch clause in the
webcal refresh loop only catches `BadRequest` exception.
this leads to the exception bubbling up and thus other calendar events
do not get processed by the event iterator.
this PR broadens the exception to handle both BadRequest and
NoInstanceFoundException so that the full webcal can be processed, even
if minor hiccups are processing on vobject
Signed-off-by: leith abdulla <online-nextcloud@eleith.com>
- Make ALLOWED_CONTENT_TYPES public in order to use
- Add $fileName variable which uses "$node->getName()" to get the proper file name and "$file->getMimeType()" along with the ALLOWED_CONTENT_TYPES array in PhotoCache.php to get the proper file extension
- Make "$fileName" the name of the file in the Content-Disposition header when downloading a Contact's photo
- Add filename to the CardDAV integration image export test header
- Change headers in ImageExportPluginTest to reflect changes
Signed-off-by: Jacob Neplokh <me@jacobneplokh.com>
IMipPlugin.php Removed blank lines to make php-cs-fixer happy.
Minor cleanup: bugs found by Psalm static checker
IEMailTemplate: The public interface to addBodyListItem also needs to include the new plainIndent parameter.
IMipPlugin: Fixes an undefined variable for events that do not have DTEND. Also use explicit string conversion for parameters and properties in several places.
The new email template adds an additional blank line before "button" links in plain text, so the tests were fixed to include that additional blank line.
Signed-off-by: Brad Rubenstein <brad@wbr.tech>
Due to our old and new hook system the card dav backend listens to old and new hooks. This triggers this code multiple times and always causes an update. With this change we cache the etag during a request and only trigger the update if the etag has changed. This does not catches all not needed updates, but it does not need another round trip to the database and still covers most cases where multiple attributes are updated during one single request.
Signed-off-by: Morris Jobke <hey@morrisjobke.de>