aboutsummaryrefslogtreecommitdiffstats
path: root/tests/data
diff options
context:
space:
mode:
Diffstat (limited to 'tests/data')
-rw-r--r--tests/data/app/code-checker/test-const.php10
-rw-r--r--tests/data/app/code-checker/test-deprecated-constant-alias.php8
-rw-r--r--tests/data/app/code-checker/test-deprecated-constant-sub-alias.php8
-rw-r--r--tests/data/app/code-checker/test-deprecated-constant-sub.php8
-rw-r--r--tests/data/app/code-checker/test-deprecated-constant.php6
-rw-r--r--tests/data/app/code-checker/test-deprecated-function-alias.php6
-rw-r--r--tests/data/app/code-checker/test-deprecated-function-sub-alias.php6
-rw-r--r--tests/data/app/code-checker/test-deprecated-function-sub.php6
-rw-r--r--tests/data/app/code-checker/test-deprecated-function.php4
-rw-r--r--tests/data/app/code-checker/test-deprecated-method.php5
-rw-r--r--tests/data/app/code-checker/test-deprecated-use-alias.php9
-rw-r--r--tests/data/app/code-checker/test-deprecated-use-sub-alias.php9
-rw-r--r--tests/data/app/code-checker/test-deprecated-use-sub.php9
-rw-r--r--tests/data/app/code-checker/test-deprecated-use.php9
-rw-r--r--tests/data/app/code-checker/test-equal.php11
-rw-r--r--tests/data/app/code-checker/test-extends.php8
-rw-r--r--tests/data/app/code-checker/test-identical-operator.php13
-rw-r--r--tests/data/app/code-checker/test-implements.php9
-rw-r--r--tests/data/app/code-checker/test-new.php10
-rw-r--r--tests/data/app/code-checker/test-not-equal.php11
-rw-r--r--tests/data/app/code-checker/test-static-call.php10
-rw-r--r--tests/data/app/code-checker/test-use.php12
-rw-r--r--tests/data/app/description-multi-lang.xml4
-rw-r--r--tests/data/app/description-single-lang.xml4
-rw-r--r--tests/data/app/expected-info.json9
-rw-r--r--tests/data/app/expected-info.json.license3
-rw-r--r--tests/data/app/invalid-info.xml5
-rw-r--r--tests/data/app/navigation-one-item.json5
-rw-r--r--tests/data/app/navigation-one-item.json.license2
-rw-r--r--tests/data/app/navigation-one-item.xml4
-rw-r--r--tests/data/app/navigation-two-items.json5
-rw-r--r--tests/data/app/navigation-two-items.json.license2
-rw-r--r--tests/data/app/navigation-two-items.xml4
-rw-r--r--tests/data/app/valid-info.xml6
-rw-r--r--tests/data/app/various-single-item.json50
-rw-r--r--tests/data/app/various-single-item.json.license2
-rw-r--r--tests/data/app/various-single-item.xml22
-rw-r--r--tests/data/broken-video.webmbin0 -> 1714189 bytes
-rw-r--r--tests/data/certificates/openSslTrustedCertificate.crt25
-rw-r--r--tests/data/emails/new-account-email-custom.html44
-rw-r--r--tests/data/emails/new-account-email-single-button.html10
-rw-r--r--tests/data/emails/new-account-email.html44
-rw-r--r--tests/data/ics/event-builder-complete.ics17
-rw-r--r--tests/data/ics/event-builder-complete.ics.license2
-rw-r--r--tests/data/ics/event-builder-without-attendees.ics14
-rw-r--r--tests/data/ics/event-builder-without-attendees.ics.license2
-rw-r--r--tests/data/ics/free-busy-request.ics14
-rw-r--r--tests/data/ics/free-busy-request.ics.license2
-rw-r--r--tests/data/integritycheck/SomeApp.crt.license2
-rw-r--r--tests/data/integritycheck/SomeApp.key.license2
-rw-r--r--tests/data/integritycheck/core.crt.license3
-rw-r--r--tests/data/integritycheck/core.key.license2
-rw-r--r--tests/data/integritycheck/mimetypeListModified/core/js/mimetypelist.js182
-rw-r--r--tests/data/integritycheck/mimetypeListModified/core/signature.json4
-rw-r--r--tests/data/integritycheck/root.crt.license2
-rw-r--r--tests/data/integritycheck/root.key.license2
-rw-r--r--tests/data/scss/styles-error.scss4
-rw-r--r--tests/data/scss/styles-success.scss6
-rw-r--r--tests/data/setUploadLimit/htaccess3
-rw-r--r--tests/data/svg/files-app-red.svg4
-rw-r--r--tests/data/svg/mixed-red.svg4
-rw-r--r--tests/data/svg/mixed-source.svg4
-rw-r--r--tests/data/svg/rect-black.svg4
-rw-r--r--tests/data/svg/rect-red.svg4
-rw-r--r--tests/data/svg/settings-admin-red.svg6
-rw-r--r--tests/data/testimage-large.jpgbin0 -> 338250 bytes
-rw-r--r--tests/data/testimage.webpbin0 -> 3854 bytes
67 files changed, 467 insertions, 259 deletions
diff --git a/tests/data/app/code-checker/test-const.php b/tests/data/app/code-checker/test-const.php
deleted file mode 100644
index 7ea3bd6c870..00000000000
--- a/tests/data/app/code-checker/test-const.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-
-/**
- * Class BadClass - accessing consts on blacklisted classes is not allowed
- */
-class BadClass {
- public function foo() {
- $bar = \OC_API::ADMIN_AUTH;
- }
-}
diff --git a/tests/data/app/code-checker/test-deprecated-constant-alias.php b/tests/data/app/code-checker/test-deprecated-constant-alias.php
deleted file mode 100644
index b5a5bfdb762..00000000000
--- a/tests/data/app/code-checker/test-deprecated-constant-alias.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-use OCP\NamespaceName\ClassName as Alias;
-
-/**
- * Class BadClass - creating an instance of a blacklisted class is not allowed
- */
-Alias::CONSTANT_NAME;
diff --git a/tests/data/app/code-checker/test-deprecated-constant-sub-alias.php b/tests/data/app/code-checker/test-deprecated-constant-sub-alias.php
deleted file mode 100644
index 9b1757aa683..00000000000
--- a/tests/data/app/code-checker/test-deprecated-constant-sub-alias.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-use OCP\NamespaceName as SubAlias;
-
-/**
- * Class BadClass - creating an instance of a blacklisted class is not allowed
- */
-SubAlias\ClassName::CONSTANT_NAME;
diff --git a/tests/data/app/code-checker/test-deprecated-constant-sub.php b/tests/data/app/code-checker/test-deprecated-constant-sub.php
deleted file mode 100644
index 86e0ff52efe..00000000000
--- a/tests/data/app/code-checker/test-deprecated-constant-sub.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-use OCP\NamespaceName;
-
-/**
- * Class BadClass - creating an instance of a blacklisted class is not allowed
- */
-NamespaceName\ClassName::CONSTANT_NAME;
diff --git a/tests/data/app/code-checker/test-deprecated-constant.php b/tests/data/app/code-checker/test-deprecated-constant.php
deleted file mode 100644
index 170b1d9e5ad..00000000000
--- a/tests/data/app/code-checker/test-deprecated-constant.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-/**
- * Class BadClass - creating an instance of a blacklisted class is not allowed
- */
-\OCP\NamespaceName\ClassName::CONSTANT_NAME;
diff --git a/tests/data/app/code-checker/test-deprecated-function-alias.php b/tests/data/app/code-checker/test-deprecated-function-alias.php
deleted file mode 100644
index 28ed5051191..00000000000
--- a/tests/data/app/code-checker/test-deprecated-function-alias.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-use OCP\NamespaceName\ClassName as Alias;
-
-Alias::functionName();
-Alias::methodName();
diff --git a/tests/data/app/code-checker/test-deprecated-function-sub-alias.php b/tests/data/app/code-checker/test-deprecated-function-sub-alias.php
deleted file mode 100644
index 73dd5814531..00000000000
--- a/tests/data/app/code-checker/test-deprecated-function-sub-alias.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-use OCP\NamespaceName as SubAlias;
-
-SubAlias\ClassName::functionName();
-SubAlias\ClassName::methodName();
diff --git a/tests/data/app/code-checker/test-deprecated-function-sub.php b/tests/data/app/code-checker/test-deprecated-function-sub.php
deleted file mode 100644
index c08d3bad8c0..00000000000
--- a/tests/data/app/code-checker/test-deprecated-function-sub.php
+++ /dev/null
@@ -1,6 +0,0 @@
-<?php
-
-use OCP\NamespaceName;
-
-NamespaceName\ClassName::functionName();
-NamespaceName\ClassName::methodName();
diff --git a/tests/data/app/code-checker/test-deprecated-function.php b/tests/data/app/code-checker/test-deprecated-function.php
deleted file mode 100644
index 12a144a7118..00000000000
--- a/tests/data/app/code-checker/test-deprecated-function.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php
-
-\OCP\NamespaceName\ClassName::functionName();
-\OCP\NamespaceName\ClassName::methodName();
diff --git a/tests/data/app/code-checker/test-deprecated-method.php b/tests/data/app/code-checker/test-deprecated-method.php
deleted file mode 100644
index ee2fdb642d4..00000000000
--- a/tests/data/app/code-checker/test-deprecated-method.php
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-
-$class = new \OCP\NamespaceName\ClassName();
-$class->methodName();
-$class::methodName();
diff --git a/tests/data/app/code-checker/test-deprecated-use-alias.php b/tests/data/app/code-checker/test-deprecated-use-alias.php
deleted file mode 100644
index a92187fa880..00000000000
--- a/tests/data/app/code-checker/test-deprecated-use-alias.php
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-
-use OCP\AppFramework\IApi as OAFIA;
-
-/**
- * Class BadClass - creating an instance of a blacklisted class is not allowed
- */
-class BadClass implements OAFIA {
-}
diff --git a/tests/data/app/code-checker/test-deprecated-use-sub-alias.php b/tests/data/app/code-checker/test-deprecated-use-sub-alias.php
deleted file mode 100644
index 9da4b75d216..00000000000
--- a/tests/data/app/code-checker/test-deprecated-use-sub-alias.php
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-
-use OCP\AppFramework as OAF;
-
-/**
- * Class BadClass - creating an instance of a blacklisted class is not allowed
- */
-class BadClass implements OAF\IApi {
-}
diff --git a/tests/data/app/code-checker/test-deprecated-use-sub.php b/tests/data/app/code-checker/test-deprecated-use-sub.php
deleted file mode 100644
index a53e9a7229e..00000000000
--- a/tests/data/app/code-checker/test-deprecated-use-sub.php
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-
-use OCP\AppFramework;
-
-/**
- * Class BadClass - creating an instance of a blacklisted class is not allowed
- */
-class BadClass implements AppFramework\IApi {
-}
diff --git a/tests/data/app/code-checker/test-deprecated-use.php b/tests/data/app/code-checker/test-deprecated-use.php
deleted file mode 100644
index ebf2c90bc5a..00000000000
--- a/tests/data/app/code-checker/test-deprecated-use.php
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-
-use OCP\AppFramework\IApi;
-
-/**
- * Class BadClass - creating an instance of a blacklisted class is not allowed
- */
-class BadClass implements IApi {
-}
diff --git a/tests/data/app/code-checker/test-equal.php b/tests/data/app/code-checker/test-equal.php
deleted file mode 100644
index 90543ba7258..00000000000
--- a/tests/data/app/code-checker/test-equal.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-
-/**
- * Class BadClass - uses equal instead of identical operator
- */
-class BadClass {
- public function foo() {
- if (true == false) {
- }
- }
-}
diff --git a/tests/data/app/code-checker/test-extends.php b/tests/data/app/code-checker/test-extends.php
deleted file mode 100644
index 39d29da92dc..00000000000
--- a/tests/data/app/code-checker/test-extends.php
+++ /dev/null
@@ -1,8 +0,0 @@
-<?php
-
-/**
- * Class BadClass - sub class a forbidden class is not allowed
- */
-class BadClass extends OC_Hook {
-
-}
diff --git a/tests/data/app/code-checker/test-identical-operator.php b/tests/data/app/code-checker/test-identical-operator.php
deleted file mode 100644
index 4c7641ede89..00000000000
--- a/tests/data/app/code-checker/test-identical-operator.php
+++ /dev/null
@@ -1,13 +0,0 @@
-<?php
-
-/**
- * Class GoodClass - uses identical operator
- */
-class GoodClass {
- public function foo() {
- if (true === false) {
- }
- if (true !== false) {
- }
- }
-}
diff --git a/tests/data/app/code-checker/test-implements.php b/tests/data/app/code-checker/test-implements.php
deleted file mode 100644
index 3bf2f959b52..00000000000
--- a/tests/data/app/code-checker/test-implements.php
+++ /dev/null
@@ -1,9 +0,0 @@
-<?php
-
-/**
- * Class BadClass - sub class a forbidden class is not allowed
- * NOTE: lowercase typo is intended
- */
-class BadClass implements oC_Avatar {
-
-}
diff --git a/tests/data/app/code-checker/test-new.php b/tests/data/app/code-checker/test-new.php
deleted file mode 100644
index 0522d473d96..00000000000
--- a/tests/data/app/code-checker/test-new.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-
-/**
- * Class BadClass - creating an instance of a blacklisted class is not allowed
- */
-class BadClass {
- public function foo() {
- $bar = new OC_AppConfig();
- }
-}
diff --git a/tests/data/app/code-checker/test-not-equal.php b/tests/data/app/code-checker/test-not-equal.php
deleted file mode 100644
index d9a8d1c25c6..00000000000
--- a/tests/data/app/code-checker/test-not-equal.php
+++ /dev/null
@@ -1,11 +0,0 @@
-<?php
-
-/**
- * Class BadClass - uses equal instead of identical operator
- */
-class BadClass {
- public function foo() {
- if (true != false) {
- }
- }
-}
diff --git a/tests/data/app/code-checker/test-static-call.php b/tests/data/app/code-checker/test-static-call.php
deleted file mode 100644
index 4afe0b1174d..00000000000
--- a/tests/data/app/code-checker/test-static-call.php
+++ /dev/null
@@ -1,10 +0,0 @@
-<?php
-
-/**
- * Class BadClass - calling static methods on blacklisted classes is not allowed
- */
-class BadClass {
- public function foo() {
- OC_App::isEnabled('bar');
- }
-}
diff --git a/tests/data/app/code-checker/test-use.php b/tests/data/app/code-checker/test-use.php
deleted file mode 100644
index 9c4824f9767..00000000000
--- a/tests/data/app/code-checker/test-use.php
+++ /dev/null
@@ -1,12 +0,0 @@
-<?php
-
-use OC_AppConfig as UseConfig;
-
-/**
- * Class BadClass - creating an instance of a blacklisted class is not allowed
- */
-class BadClass {
- public function foo() {
- $bar = new UseConfig();
- }
-}
diff --git a/tests/data/app/description-multi-lang.xml b/tests/data/app/description-multi-lang.xml
index e7eee3bcb8b..be1dd616a99 100644
--- a/tests/data/app/description-multi-lang.xml
+++ b/tests/data/app/description-multi-lang.xml
@@ -1,4 +1,8 @@
<?xml version="1.0"?>
+<!--
+ - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ - SPDX-License-Identifier: AGPL-3.0-or-later
+-->
<info>
<id>files_encryption</id>
<name>Server-side Encryption</name>
diff --git a/tests/data/app/description-single-lang.xml b/tests/data/app/description-single-lang.xml
index 5fb1ba07e8e..36fb2aacbe2 100644
--- a/tests/data/app/description-single-lang.xml
+++ b/tests/data/app/description-single-lang.xml
@@ -1,4 +1,8 @@
<?xml version="1.0"?>
+<!--
+ - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ - SPDX-License-Identifier: AGPL-3.0-or-later
+-->
<info>
<id>files_encryption</id>
<name>Server-side Encryption</name>
diff --git a/tests/data/app/expected-info.json b/tests/data/app/expected-info.json
index 8527f18a2c0..40ba6104104 100644
--- a/tests/data/app/expected-info.json
+++ b/tests/data/app/expected-info.json
@@ -6,7 +6,9 @@
"name": "Server-side Encryption",
"description": "\n\tThis application encrypts all files accessed by ownCloud at rest, wherever they are stored. As an example, with this application enabled, external cloud based Amazon S3 storage will be encrypted, protecting this data on storage outside of the control of the Admin. When this application is enabled for the first time, all files are encrypted as users log in and are prompted for their password. The recommended recovery key option enables recovery of files in case the key is lost. \n\tNote that this app encrypts all files that are touched by ownCloud, so external storage providers and applications such as SharePoint will see new files encrypted when they are accessed. Encryption is based on AES 128 or 256 bit keys. More information is available in the Encryption documentation \n\t",
"licence": "AGPL",
- "author": "Sam Tuke, Bjoern Schiessle, Florin Peter",
+ "author": [
+ "Sam Tuke, Bjoern Schiessle, Florin Peter"
+ ],
"requiremin": "4",
"shipped": "true",
"documentation": {
@@ -65,7 +67,10 @@
"min-version": "7.0.1",
"max-version": "8"
}
- }
+ },
+ "backend": [
+ "caldav"
+ ]
},
"repair-steps": {
"install": [],
diff --git a/tests/data/app/expected-info.json.license b/tests/data/app/expected-info.json.license
new file mode 100644
index 00000000000..328cbf7b249
--- /dev/null
+++ b/tests/data/app/expected-info.json.license
@@ -0,0 +1,3 @@
+SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+SPDX-License-Identifier: AGPL-3.0-only
diff --git a/tests/data/app/invalid-info.xml b/tests/data/app/invalid-info.xml
index 0ddb13b89c0..1c39ae2d625 100644
--- a/tests/data/app/invalid-info.xml
+++ b/tests/data/app/invalid-info.xml
@@ -1,4 +1,9 @@
<?xml version="1.0"?>
+<!--
+ - SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ - SPDX-FileCopyrightText: 2014 ownCloud, Inc.
+ - SPDX-License-Identifier: AGPL-3.0-only
+-->
<info
<id>files_encryption</id>
<name>Server-side Encryption</name>
diff --git a/tests/data/app/navigation-one-item.json b/tests/data/app/navigation-one-item.json
index c9002da6b0d..2bd81461586 100644
--- a/tests/data/app/navigation-one-item.json
+++ b/tests/data/app/navigation-one-item.json
@@ -29,7 +29,8 @@
"min-version": "16",
"max-version": "16"
}
- }
+ },
+ "backend": []
},
"background-jobs": [
"OCA\\Activity\\BackgroundJob\\EmailNotification",
@@ -82,4 +83,4 @@
"uninstall": []
},
"two-factor-providers": []
-} \ No newline at end of file
+}
diff --git a/tests/data/app/navigation-one-item.json.license b/tests/data/app/navigation-one-item.json.license
new file mode 100644
index 00000000000..cbd71b0f672
--- /dev/null
+++ b/tests/data/app/navigation-one-item.json.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/tests/data/app/navigation-one-item.xml b/tests/data/app/navigation-one-item.xml
index a03e5c8ffbf..cb0bd5f2929 100644
--- a/tests/data/app/navigation-one-item.xml
+++ b/tests/data/app/navigation-one-item.xml
@@ -1,4 +1,8 @@
<?xml version="1.0"?>
+<!--
+ - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
+ - SPDX-License-Identifier: AGPL-3.0-or-later
+-->
<info xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://apps.nextcloud.com/schema/apps/info.xsd">
<id>activity</id>
diff --git a/tests/data/app/navigation-two-items.json b/tests/data/app/navigation-two-items.json
index a7579217238..4b081d3bbd9 100644
--- a/tests/data/app/navigation-two-items.json
+++ b/tests/data/app/navigation-two-items.json
@@ -29,7 +29,8 @@
"min-version": "16",
"max-version": "16"
}
- }
+ },
+ "backend": []
},
"background-jobs": [
"OCA\\Activity\\BackgroundJob\\EmailNotification",
@@ -88,4 +89,4 @@
"uninstall": []
},
"two-factor-providers": []
-} \ No newline at end of file
+}
diff --git a/tests/data/app/navigation-two-items.json.license b/tests/data/app/navigation-two-items.json.license
new file mode 100644
index 00000000000..cbd71b0f672
--- /dev/null
+++ b/tests/data/app/navigation-two-items.json.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/tests/data/app/navigation-two-items.xml b/tests/data/app/navigation-two-items.xml
index fba60a2871d..153e12e6511 100644
--- a/tests/data/app/navigation-two-items.xml
+++ b/tests/data/app/navigation-two-items.xml
@@ -1,4 +1,8 @@
<?xml version="1.0"?>
+<!--
+ - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors
+ - SPDX-License-Identifier: AGPL-3.0-or-later
+-->
<info xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="https://apps.nextcloud.com/schema/apps/info.xsd">
<id>activity</id>
diff --git a/tests/data/app/valid-info.xml b/tests/data/app/valid-info.xml
index 4788d046c13..d2569788399 100644
--- a/tests/data/app/valid-info.xml
+++ b/tests/data/app/valid-info.xml
@@ -1,4 +1,9 @@
<?xml version="1.0"?>
+<!--
+ - SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ - SPDX-FileCopyrightText: 2014 ownCloud, Inc.
+ - SPDX-License-Identifier: AGPL-3.0-only
+-->
<info>
<id>files_encryption</id>
<name>Server-side Encryption</name>
@@ -29,5 +34,6 @@
<lib>curl</lib>
<os>Linux</os>
<owncloud min-version="7.0.1" max-version="8" />
+ <backend>caldav</backend>
</dependencies>
</info>
diff --git a/tests/data/app/various-single-item.json b/tests/data/app/various-single-item.json
new file mode 100644
index 00000000000..ae5e751ab49
--- /dev/null
+++ b/tests/data/app/various-single-item.json
@@ -0,0 +1,50 @@
+{
+ "id": "notifications",
+ "name": "Notifications",
+ "description": "A single screenshot should be an array",
+ "version": "1.0.0",
+ "licence": "agpl",
+ "author": [
+ "Joas Schilling"
+ ],
+ "dependencies": {
+ "nextcloud": {
+ "@attributes": {
+ "min-version": "16",
+ "max-version": "16"
+ }
+ },
+ "backend": []
+ },
+ "screenshot": [
+ "https://raw.githubusercontent.com/nextcloud/notifications/refs/heads/master/docs/screenshot.png"
+ ],
+ "category": [
+ "monitoring"
+ ],
+ "info": [],
+ "background-jobs": [],
+ "activity": {
+ "filters": [],
+ "settings": [],
+ "providers": []
+ },
+ "commands": [],
+ "remote": [],
+ "public": [],
+ "repair-steps": {
+ "install": [],
+ "pre-migration": [],
+ "post-migration": [],
+ "live-migration": [],
+ "uninstall": []
+ },
+ "settings": {
+ "admin": [],
+ "admin-section": [],
+ "personal": [],
+ "personal-section": []
+ },
+ "two-factor-providers": [],
+ "types": []
+}
diff --git a/tests/data/app/various-single-item.json.license b/tests/data/app/various-single-item.json.license
new file mode 100644
index 00000000000..84f7e70446e
--- /dev/null
+++ b/tests/data/app/various-single-item.json.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/tests/data/app/various-single-item.xml b/tests/data/app/various-single-item.xml
new file mode 100644
index 00000000000..cb9595516e1
--- /dev/null
+++ b/tests/data/app/various-single-item.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<!--
+ - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
+ - SPDX-License-Identifier: AGPL-3.0-or-later
+-->
+<info xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="https://apps.nextcloud.com/schema/apps/info.xsd">
+ <id>notifications</id>
+ <name>Notifications</name>
+ <description>A single screenshot should be an array</description>
+ <version>1.0.0</version>
+ <licence>agpl</licence>
+ <author>Joas Schilling</author>
+
+ <category>monitoring</category>
+
+ <screenshot>https://raw.githubusercontent.com/nextcloud/notifications/refs/heads/master/docs/screenshot.png</screenshot>
+
+ <dependencies>
+ <nextcloud min-version="16" max-version="16"/>
+ </dependencies>
+</info>
diff --git a/tests/data/broken-video.webm b/tests/data/broken-video.webm
new file mode 100644
index 00000000000..0cafb9314f8
--- /dev/null
+++ b/tests/data/broken-video.webm
Binary files differ
diff --git a/tests/data/certificates/openSslTrustedCertificate.crt b/tests/data/certificates/openSslTrustedCertificate.crt
new file mode 100644
index 00000000000..21af3485995
--- /dev/null
+++ b/tests/data/certificates/openSslTrustedCertificate.crt
@@ -0,0 +1,25 @@
+-----BEGIN TRUSTED CERTIFICATE-----
+MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCB
+qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf
+Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw
+MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV
+BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3MDAwMDAwWhcNMzYw
+NzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5j
+LjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYG
+A1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
+IG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqG
+SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCsoPD7gFnUnMekz52hWXMJEEUMDSxuaPFs
+W0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ1CRfBsDMRJSUjQJib+ta
+3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGcq/gcfomk
+6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6
+Sk/KaAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94J
+NqR32HuHUETVPm4pafs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBA
+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XP
+r87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUFAAOCAQEAeRHAS7ORtvzw6WfU
+DW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeEuzLlQRHAd9mz
+YJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX
+xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2
+/qxAeeWsEG89jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/
+LHbTY5xZ3Y+m4Q6gLkH3LpVHz7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7
+jVaMaDAMMAoGCCsGAQUFBwMB
+-----END TRUSTED CERTIFICATE-----
diff --git a/tests/data/emails/new-account-email-custom.html b/tests/data/emails/new-account-email-custom.html
index e1c9fd4fb4f..6c0986a44a8 100644
--- a/tests/data/emails/new-account-email-custom.html
+++ b/tests/data/emails/new-account-email-custom.html
@@ -23,7 +23,7 @@
<tbody>
<tr style="padding:0;text-align:left;vertical-align:top">
<center data-parsed="" style="background-color:#0082c9;min-width:175px;max-height:175px; padding:35px 0px;border-radius:200px">
- <img class="logo float-center" src="https://example.org/img/logo-mail-header.png" alt="TestCloud" align="center" style="-ms-interpolation-mode:bicubic;clear:both;display:block;float:none;margin:0 auto;outline:0;text-align:center;text-decoration:none;max-height:105px;max-width:105px;width:auto;height:auto">
+ <img class="logo float-center" src="https://example.org/img/logo-mail-header.png" alt="TestCloud" align="center" style="-ms-interpolation-mode:bicubic;clear:both;display:block;float:none;margin:0 auto;outline:0;text-align:center;text-decoration:none;max-height:105px;max-width:105px;width:auto;height:auto" width="252" height="120">
</center>
</tr>
</tbody>
@@ -107,32 +107,46 @@
<tr style="padding:0;text-align:left;vertical-align:top">
<th style="Margin:0;color:#0a0a0a;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.3;margin:0;padding:0;text-align:left">
<center data-parsed="" style="min-width:490px;width:100%">
- <table class="button btn default primary float-center" style="Margin:0 0 30px 0;border-collapse:collapse;border-spacing:0;display:inline-block;float:none;margin:0 0 30px 0;margin-right:15px;max-height:60px;max-width:300px;padding:0;text-align:center;vertical-align:top;width:auto;background:#0082c9;background-color:#0082c9;color:#fefefe;">
- <tr style="padding:0;text-align:left;vertical-align:top">
- <td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;border-collapse:collapse!important;color:#0a0a0a;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
- <table style="border-collapse:collapse;border-spacing:0;padding:0;text-align:left;vertical-align:top;width:100%">
+ <!--[if (gte mso 9)|(IE)]>
+ <table>
+ <tr>
+ <td>
+ <![endif]-->
+ <table class="button btn default primary float-center" style="Margin:0 0 30px 0;border-collapse:collapse;border-spacing:0;display:inline-block;float:none;margin:0 0 30px 0;margin-right:15px;border-radius:8px;max-width:300px;padding:0;text-align:center;vertical-align:top;width:auto;background:#0082c9;background-color:#0082c9;color:#fefefe;">
<tr style="padding:0;text-align:left;vertical-align:top">
- <td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;border:0 solid #0082c9;border-collapse:collapse!important;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
- <a href="https://example.org/resetPassword/123" style="Margin:0;border:0 solid #0082c9;border-radius:2px;color:#ffffff;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:regular;line-height:1.3;margin:0;padding:10px 25px 10px 25px;text-align:left;outline:1px solid #ffffff;text-decoration:none">Set your password</a>
+ <td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;border-collapse:collapse!important;color:#0a0a0a;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:normal;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
+ <table style="border-collapse:collapse;border-spacing:0;padding:0;text-align:left;vertical-align:top;width:100%">
+ <tr style="padding:0;text-align:left;vertical-align:top">
+ <td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;border:0 solid #0082c9;border-collapse:collapse!important;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:normal;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
+ <a href="https://example.org/resetPassword/123" style="Margin:0;border:0 solid #0082c9;color:#ffffff;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:regular;line-height:normal;margin:0;padding:8px;text-align:left;outline:1px solid #ffffff;text-decoration:none">Set your password</a>
+ </td>
+ </tr>
+ </table>
</td>
</tr>
</table>
+ <!--[if (gte mso 9)|(IE)]>
</td>
- </tr>
- </table>
- <table class="button btn default secondary float-center" style="Margin:0 0 30px 0;border-collapse:collapse;border-spacing:0;display:inline-block;float:none;margin:0 0 30px 0;max-height:40px;max-width:300px;padding:0;text-align:center;vertical-align:top;width:auto">
- <tr style="padding:0;text-align:left;vertical-align:top">
- <td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;border-collapse:collapse!important;color:#0a0a0a;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
- <table style="border-collapse:collapse;border-spacing:0;padding:0;text-align:left;vertical-align:top;width:100%">
+ <td>
+ <![endif]-->
+ <table class="button btn default secondary float-center" style="Margin:0 0 30px 0;border-collapse:collapse;border-spacing:0;display:inline-block;float:none;background-color: #ccc;margin:0 0 30px 0;max-height:40px;max-width:300px;padding:1px;border-radius:8px;text-align:center;vertical-align:top;width:auto">
<tr style="padding:0;text-align:left;vertical-align:top">
- <td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;background:#777;border:0 solid #777;border-collapse:collapse!important;color:#fefefe;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
- <a href="https://nextcloud.com/install/#install-clients" style="Margin:0;background-color:#fff;border:0 solid #777;border-radius:2px;color:#6C6C6C!important;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:regular;line-height:1.3;margin:0;outline:1px solid #CBCBCB;padding:10px 25px 10px 25px;text-align:left;text-decoration:none">Install Client</a>
+ <td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;border-collapse:collapse!important;color:#0a0a0a;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:normal;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
+ <table style="border-collapse:collapse;border-spacing:0;padding:0;text-align:left;vertical-align:top;width:100%">
+ <tr style="padding:0;text-align:left;vertical-align:top">
+ <td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;border:0 solid #777;border-collapse:collapse!important;color:#fefefe;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:normal;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
+ <a href="https://nextcloud.com/install/#install-clients" style="Margin:0;background-color:#fff;border:0 solid #777;color:#6C6C6C!important;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:regular;line-height:normal;margin:0;border-radius: 7px;padding:8px;text-align:left;text-decoration:none">Install Client</a>
+ </td>
+ </tr>
+ </table>
</td>
</tr>
</table>
+ <!--[if (gte mso 9)|(IE)]>
</td>
</tr>
</table>
+ <![endif]-->
</center>
</th>
<th class="expander" style="Margin:0;color:#0a0a0a;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.3;margin:0;padding:0!important;text-align:left;visibility:hidden;width:0"></th>
diff --git a/tests/data/emails/new-account-email-single-button.html b/tests/data/emails/new-account-email-single-button.html
index 35ad9b14a1c..ee5f0582464 100644
--- a/tests/data/emails/new-account-email-single-button.html
+++ b/tests/data/emails/new-account-email-single-button.html
@@ -23,7 +23,7 @@
<tbody>
<tr style="padding:0;text-align:left;vertical-align:top">
<center data-parsed="" style="background-color:#0082c9;min-width:175px;max-height:175px; padding:35px 0px;border-radius:200px">
- <img class="logo float-center" src="https://example.org/img/logo-mail-header.png" alt="TestCloud" align="center" style="-ms-interpolation-mode:bicubic;clear:both;display:block;float:none;margin:0 auto;outline:0;text-align:center;text-decoration:none;max-height:105px;max-width:105px;width:auto;height:auto">
+ <img class="logo float-center" src="https://example.org/img/logo-mail-header.png" alt="TestCloud" align="center" style="-ms-interpolation-mode:bicubic;clear:both;display:block;float:none;margin:0 auto;outline:0;text-align:center;text-decoration:none;max-height:105px;max-width:105px;width:auto;height:auto" width="252" height="120">
</center>
</tr>
</tbody>
@@ -107,13 +107,13 @@
<tr style="padding:0;text-align:left;vertical-align:top">
<th style="Margin:0;color:#0a0a0a;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.3;margin:0;padding:0;text-align:left">
<center data-parsed="" style="min-width:490px;width:100%">
- <table class="button btn default primary float-center" style="Margin:0;border-collapse:collapse;border-spacing:0;display:inline-block;float:none;margin:0;max-height:60px;padding:0;text-align:center;vertical-align:top;width:auto;background:#0082c9;color:#fefefe;background-color:#0082c9;">
+ <table class="button btn default primary float-center" style="Margin:0;border-collapse:collapse;border-spacing:0;display:inline-block;float:none;margin:0;border-radius:8px;padding:0;text-align:center;vertical-align:top;width:auto;background:#0082c9;color:#fefefe;background-color:#0082c9;">
<tr style="padding:0;text-align:left;vertical-align:top">
- <td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;border-collapse:collapse!important;color:#0a0a0a;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
+ <td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;border-collapse:collapse!important;color:#0a0a0a;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:normal;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
<table style="border-collapse:collapse;border-spacing:0;padding:0;text-align:left;vertical-align:top;width:100%">
<tr style="padding:0;text-align:left;vertical-align:top">
- <td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;border:0 solid #0082c9;border-collapse:collapse!important;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
- <a href="https://example.org/resetPassword/123" style="Margin:0;border:0 solid #0082c9;border-radius:2px;color:#ffffff;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:regular;line-height:1.3;margin:0;padding:10px 25px 10px 25px;text-align:left;outline:1px solid #ffffff;text-decoration:none">Set your password</a>
+ <td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;border:0 solid #0082c9;border-collapse:collapse!important;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:normal;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
+ <a href="https://example.org/resetPassword/123" style="Margin:0;border:0 solid #0082c9;color:#ffffff;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:regular;line-height:normal;margin:0;padding:8px;text-align:left;outline:1px solid #ffffff;text-decoration:none">Set your password</a>
</td>
</tr>
</table>
diff --git a/tests/data/emails/new-account-email.html b/tests/data/emails/new-account-email.html
index e879f441206..bc9cda6fd9c 100644
--- a/tests/data/emails/new-account-email.html
+++ b/tests/data/emails/new-account-email.html
@@ -23,7 +23,7 @@
<tbody>
<tr style="padding:0;text-align:left;vertical-align:top">
<center data-parsed="" style="background-color:#0082c9;min-width:175px;max-height:175px; padding:35px 0px;border-radius:200px">
- <img class="logo float-center" src="https://example.org/img/logo-mail-header.png" alt="TestCloud" align="center" style="-ms-interpolation-mode:bicubic;clear:both;display:block;float:none;margin:0 auto;outline:0;text-align:center;text-decoration:none;max-height:105px;max-width:105px;width:auto;height:auto">
+ <img class="logo float-center" src="https://example.org/img/logo-mail-header.png" alt="TestCloud" align="center" style="-ms-interpolation-mode:bicubic;clear:both;display:block;float:none;margin:0 auto;outline:0;text-align:center;text-decoration:none;max-height:105px;max-width:105px;width:auto;height:auto" width="252" height="120">
</center>
</tr>
</tbody>
@@ -107,32 +107,46 @@
<tr style="padding:0;text-align:left;vertical-align:top">
<th style="Margin:0;color:#0a0a0a;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.3;margin:0;padding:0;text-align:left">
<center data-parsed="" style="min-width:490px;width:100%">
- <table class="button btn default primary float-center" style="Margin:0 0 30px 0;border-collapse:collapse;border-spacing:0;display:inline-block;float:none;margin:0 0 30px 0;margin-right:15px;max-height:60px;max-width:300px;padding:0;text-align:center;vertical-align:top;width:auto;background:#0082c9;background-color:#0082c9;color:#fefefe;">
- <tr style="padding:0;text-align:left;vertical-align:top">
- <td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;border-collapse:collapse!important;color:#0a0a0a;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
- <table style="border-collapse:collapse;border-spacing:0;padding:0;text-align:left;vertical-align:top;width:100%">
+ <!--[if (gte mso 9)|(IE)]>
+ <table>
+ <tr>
+ <td>
+ <![endif]-->
+ <table class="button btn default primary float-center" style="Margin:0 0 30px 0;border-collapse:collapse;border-spacing:0;display:inline-block;float:none;margin:0 0 30px 0;margin-right:15px;border-radius:8px;max-width:300px;padding:0;text-align:center;vertical-align:top;width:auto;background:#0082c9;background-color:#0082c9;color:#fefefe;">
<tr style="padding:0;text-align:left;vertical-align:top">
- <td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;border:0 solid #0082c9;border-collapse:collapse!important;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
- <a href="https://example.org/resetPassword/123" style="Margin:0;border:0 solid #0082c9;border-radius:2px;color:#ffffff;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:regular;line-height:1.3;margin:0;padding:10px 25px 10px 25px;text-align:left;outline:1px solid #ffffff;text-decoration:none">Set your password</a>
+ <td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;border-collapse:collapse!important;color:#0a0a0a;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:normal;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
+ <table style="border-collapse:collapse;border-spacing:0;padding:0;text-align:left;vertical-align:top;width:100%">
+ <tr style="padding:0;text-align:left;vertical-align:top">
+ <td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;border:0 solid #0082c9;border-collapse:collapse!important;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:normal;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
+ <a href="https://example.org/resetPassword/123" style="Margin:0;border:0 solid #0082c9;color:#ffffff;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:regular;line-height:normal;margin:0;padding:8px;text-align:left;outline:1px solid #ffffff;text-decoration:none">Set your password</a>
+ </td>
+ </tr>
+ </table>
</td>
</tr>
</table>
+ <!--[if (gte mso 9)|(IE)]>
</td>
- </tr>
- </table>
- <table class="button btn default secondary float-center" style="Margin:0 0 30px 0;border-collapse:collapse;border-spacing:0;display:inline-block;float:none;margin:0 0 30px 0;max-height:40px;max-width:300px;padding:0;text-align:center;vertical-align:top;width:auto">
- <tr style="padding:0;text-align:left;vertical-align:top">
- <td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;border-collapse:collapse!important;color:#0a0a0a;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
- <table style="border-collapse:collapse;border-spacing:0;padding:0;text-align:left;vertical-align:top;width:100%">
+ <td>
+ <![endif]-->
+ <table class="button btn default secondary float-center" style="Margin:0 0 30px 0;border-collapse:collapse;border-spacing:0;display:inline-block;float:none;background-color: #ccc;margin:0 0 30px 0;max-height:40px;max-width:300px;padding:1px;border-radius:8px;text-align:center;vertical-align:top;width:auto">
<tr style="padding:0;text-align:left;vertical-align:top">
- <td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;background:#777;border:0 solid #777;border-collapse:collapse!important;color:#fefefe;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:1.3;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
- <a href="https://nextcloud.com/install/#install-clients" style="Margin:0;background-color:#fff;border:0 solid #777;border-radius:2px;color:#6C6C6C!important;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:regular;line-height:1.3;margin:0;outline:1px solid #CBCBCB;padding:10px 25px 10px 25px;text-align:left;text-decoration:none">Install Client</a>
+ <td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;border-collapse:collapse!important;color:#0a0a0a;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:normal;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
+ <table style="border-collapse:collapse;border-spacing:0;padding:0;text-align:left;vertical-align:top;width:100%">
+ <tr style="padding:0;text-align:left;vertical-align:top">
+ <td style="-moz-hyphens:auto;-webkit-hyphens:auto;Margin:0;border:0 solid #777;border-collapse:collapse!important;color:#fefefe;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:400;hyphens:auto;line-height:normal;margin:0;padding:0;text-align:left;vertical-align:top;word-wrap:break-word">
+ <a href="https://nextcloud.com/install/#install-clients" style="Margin:0;background-color:#fff;border:0 solid #777;color:#6C6C6C!important;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:regular;line-height:normal;margin:0;border-radius: 7px;padding:8px;text-align:left;text-decoration:none">Install Client</a>
+ </td>
+ </tr>
+ </table>
</td>
</tr>
</table>
+ <!--[if (gte mso 9)|(IE)]>
</td>
</tr>
</table>
+ <![endif]-->
</center>
</th>
<th class="expander" style="Margin:0;color:#0a0a0a;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.3;margin:0;padding:0!important;text-align:left;visibility:hidden;width:0"></th>
diff --git a/tests/data/ics/event-builder-complete.ics b/tests/data/ics/event-builder-complete.ics
new file mode 100644
index 00000000000..65fe8e6cf13
--- /dev/null
+++ b/tests/data/ics/event-builder-complete.ics
@@ -0,0 +1,17 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//Sabre//Sabre VObject 4.5.6//EN
+CALSCALE:GREGORIAN
+BEGIN:VEVENT
+UID:event-uid-123
+DTSTAMP:20250105T000000Z
+SUMMARY:My event
+DTSTART:20250105T170958Z
+DTEND:20250105T171958Z
+STATUS:CONFIRMED
+DESCRIPTION:Foo bar baz
+ORGANIZER:mailto:organizer@domain.tld
+ATTENDEE:mailto:attendee1@domain.tld
+ATTENDEE:mailto:attendee2@domain.tld
+END:VEVENT
+END:VCALENDAR
diff --git a/tests/data/ics/event-builder-complete.ics.license b/tests/data/ics/event-builder-complete.ics.license
new file mode 100644
index 00000000000..f7f52efa96f
--- /dev/null
+++ b/tests/data/ics/event-builder-complete.ics.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/tests/data/ics/event-builder-without-attendees.ics b/tests/data/ics/event-builder-without-attendees.ics
new file mode 100644
index 00000000000..fad48caa3a9
--- /dev/null
+++ b/tests/data/ics/event-builder-without-attendees.ics
@@ -0,0 +1,14 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//Sabre//Sabre VObject 4.5.6//EN
+CALSCALE:GREGORIAN
+BEGIN:VEVENT
+UID:event-uid-123
+DTSTAMP:20250105T000000Z
+SUMMARY:My event
+DTSTART:20250105T170958Z
+DTEND:20250105T171958Z
+STATUS:CONFIRMED
+DESCRIPTION:Foo bar baz
+END:VEVENT
+END:VCALENDAR
diff --git a/tests/data/ics/event-builder-without-attendees.ics.license b/tests/data/ics/event-builder-without-attendees.ics.license
new file mode 100644
index 00000000000..f7f52efa96f
--- /dev/null
+++ b/tests/data/ics/event-builder-without-attendees.ics.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/tests/data/ics/free-busy-request.ics b/tests/data/ics/free-busy-request.ics
new file mode 100644
index 00000000000..dd01d35b671
--- /dev/null
+++ b/tests/data/ics/free-busy-request.ics
@@ -0,0 +1,14 @@
+BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//Sabre//Sabre VObject 4.5.6//EN
+CALSCALE:GREGORIAN
+METHOD:REQUEST
+BEGIN:VFREEBUSY
+DTSTART:20250116T060000Z
+DTEND:20250117T060000Z
+ORGANIZER:mailto:admin@imap.localhost
+ATTENDEE:mailto:admin@imap.localhost
+ATTENDEE:mailto:user@imap.localhost
+ATTENDEE:mailto:empty@imap.localhost
+END:VFREEBUSY
+END:VCALENDAR
diff --git a/tests/data/ics/free-busy-request.ics.license b/tests/data/ics/free-busy-request.ics.license
new file mode 100644
index 00000000000..f7f52efa96f
--- /dev/null
+++ b/tests/data/ics/free-busy-request.ics.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
+SPDX-License-Identifier: AGPL-3.0-or-later
diff --git a/tests/data/integritycheck/SomeApp.crt.license b/tests/data/integritycheck/SomeApp.crt.license
new file mode 100644
index 00000000000..2598a98f44c
--- /dev/null
+++ b/tests/data/integritycheck/SomeApp.crt.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: 2015 ownCloud, Inc.
+SPDX-License-Identifier: AGPL-3.0-only
diff --git a/tests/data/integritycheck/SomeApp.key.license b/tests/data/integritycheck/SomeApp.key.license
new file mode 100644
index 00000000000..2598a98f44c
--- /dev/null
+++ b/tests/data/integritycheck/SomeApp.key.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: 2015 ownCloud, Inc.
+SPDX-License-Identifier: AGPL-3.0-only
diff --git a/tests/data/integritycheck/core.crt.license b/tests/data/integritycheck/core.crt.license
new file mode 100644
index 00000000000..328cbf7b249
--- /dev/null
+++ b/tests/data/integritycheck/core.crt.license
@@ -0,0 +1,3 @@
+SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
+SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+SPDX-License-Identifier: AGPL-3.0-only
diff --git a/tests/data/integritycheck/core.key.license b/tests/data/integritycheck/core.key.license
new file mode 100644
index 00000000000..2598a98f44c
--- /dev/null
+++ b/tests/data/integritycheck/core.key.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: 2015 ownCloud, Inc.
+SPDX-License-Identifier: AGPL-3.0-only
diff --git a/tests/data/integritycheck/mimetypeListModified/core/js/mimetypelist.js b/tests/data/integritycheck/mimetypeListModified/core/js/mimetypelist.js
index 7fa68a44dcb..2ac7338d04b 100644
--- a/tests/data/integritycheck/mimetypeListModified/core/js/mimetypelist.js
+++ b/tests/data/integritycheck/mimetypeListModified/core/js/mimetypelist.js
@@ -10,13 +10,15 @@ OC.MimeTypeList={
aliases: {
"application/coreldraw": "image",
"application/epub+zip": "text",
- "application/font-sfnt": "image",
- "application/font-woff": "image",
+ "application/font-sfnt": "font",
+ "application/font-woff": "font",
"application/gpx+xml": "location",
"application/gzip": "package/x-generic",
"application/illustrator": "image",
+ "application/internet-shortcut": "link",
"application/javascript": "text/code",
"application/json": "text/code",
+ "application/km": "mindmap",
"application/msaccess": "file",
"application/msexcel": "x-office/spreadsheet",
"application/msonenote": "x-office/document",
@@ -26,21 +28,22 @@ OC.MimeTypeList={
"application/postscript": "image",
"application/rss+xml": "application/xml",
"application/vnd.android.package-archive": "package/x-generic",
- "application/vnd.lotus-wordpro": "x-office/document",
+ "application/vnd.excalidraw+json": "whiteboard",
"application/vnd.garmin.tcx+xml": "location",
"application/vnd.google-earth.kml+xml": "location",
"application/vnd.google-earth.kmz": "location",
- "application/vnd.ms-excel": "x-office/spreadsheet",
+ "application/vnd.lotus-wordpro": "x-office/document",
"application/vnd.ms-excel.addin.macroEnabled.12": "x-office/spreadsheet",
"application/vnd.ms-excel.sheet.binary.macroEnabled.12": "x-office/spreadsheet",
"application/vnd.ms-excel.sheet.macroEnabled.12": "x-office/spreadsheet",
"application/vnd.ms-excel.template.macroEnabled.12": "x-office/spreadsheet",
- "application/vnd.ms-fontobject": "image",
- "application/vnd.ms-powerpoint": "x-office/presentation",
+ "application/vnd.ms-excel": "x-office/spreadsheet",
+ "application/vnd.ms-fontobject": "font",
"application/vnd.ms-powerpoint.addin.macroEnabled.12": "x-office/presentation",
"application/vnd.ms-powerpoint.presentation.macroEnabled.12": "x-office/presentation",
"application/vnd.ms-powerpoint.slideshow.macroEnabled.12": "x-office/presentation",
"application/vnd.ms-powerpoint.template.macroEnabled.12": "x-office/presentation",
+ "application/vnd.ms-powerpoint": "x-office/presentation",
"application/vnd.ms-visio.drawing.macroEnabled.12": "application/vnd.visio",
"application/vnd.ms-visio.drawing": "application/vnd.visio",
"application/vnd.ms-visio.stencil.macroEnabled.12": "application/vnd.visio",
@@ -49,37 +52,40 @@ OC.MimeTypeList={
"application/vnd.ms-visio.template": "application/vnd.visio",
"application/vnd.ms-word.document.macroEnabled.12": "x-office/document",
"application/vnd.ms-word.template.macroEnabled.12": "x-office/document",
- "application/vnd.oasis.opendocument.presentation": "x-office/presentation",
+ "application/vnd.oasis.opendocument.graphics-flat-xml": "x-office/drawing",
+ "application/vnd.oasis.opendocument.graphics-template": "x-office/drawing",
+ "application/vnd.oasis.opendocument.graphics": "x-office/drawing",
+ "application/vnd.oasis.opendocument.presentation-flat-xml": "x-office/presentation",
"application/vnd.oasis.opendocument.presentation-template": "x-office/presentation",
- "application/vnd.oasis.opendocument.spreadsheet": "x-office/spreadsheet",
+ "application/vnd.oasis.opendocument.presentation": "x-office/presentation",
+ "application/vnd.oasis.opendocument.spreadsheet-flat-xml": "x-office/spreadsheet",
"application/vnd.oasis.opendocument.spreadsheet-template": "x-office/spreadsheet",
- "application/vnd.oasis.opendocument.text": "x-office/document",
+ "application/vnd.oasis.opendocument.spreadsheet": "x-office/spreadsheet",
+ "application/vnd.oasis.opendocument.text-flat-xml": "x-office/document",
"application/vnd.oasis.opendocument.text-master": "x-office/document",
"application/vnd.oasis.opendocument.text-template": "x-office/document",
- "application/vnd.oasis.opendocument.graphics": "x-office/drawing",
- "application/vnd.oasis.opendocument.graphics-template": "x-office/drawing",
"application/vnd.oasis.opendocument.text-web": "x-office/document",
- "application/vnd.oasis.opendocument.text-flat-xml": "x-office/document",
- "application/vnd.oasis.opendocument.spreadsheet-flat-xml": "x-office/spreadsheet",
- "application/vnd.oasis.opendocument.graphics-flat-xml": "x-office/drawing",
- "application/vnd.oasis.opendocument.presentation-flat-xml": "x-office/presentation",
+ "application/vnd.oasis.opendocument.text": "x-office/document",
"application/vnd.openxmlformats-officedocument.presentationml.presentation": "x-office/presentation",
"application/vnd.openxmlformats-officedocument.presentationml.slideshow": "x-office/presentation",
"application/vnd.openxmlformats-officedocument.presentationml.template": "x-office/presentation",
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "x-office/spreadsheet",
"application/vnd.openxmlformats-officedocument.spreadsheetml.template": "x-office/spreadsheet",
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document.docxf": "x-office/form-template",
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document.oform": "x-office/form",
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": "x-office/document",
"application/vnd.openxmlformats-officedocument.wordprocessingml.template": "x-office/document",
"application/vnd.visio": "x-office/document",
"application/vnd.wordperfect": "x-office/document",
+ "application/vnd.xmind.workbook": "mindmap",
"application/x-7z-compressed": "package/x-generic",
"application/x-bzip2": "package/x-generic",
"application/x-cbr": "text",
- "application/x-compressed": "package/x-generic",
"application/x-dcraw": "image",
"application/x-deb": "package/x-generic",
"application/x-fictionbook+xml": "text",
- "application/x-font": "image",
+ "application/x-font": "font",
+ "application/x-freemind": "mindmap",
"application/x-gimp": "image",
"application/x-gzip": "application/gzip",
"application/x-iwork-keynote-sffkey": "x-office/presentation",
@@ -95,8 +101,11 @@ OC.MimeTypeList={
"application/xml": "text/html",
"application/yaml": "text/code",
"application/zip": "package/x-generic",
+ "application/zstd": "package/x-generic",
"database": "file",
"httpd/unix-directory": "dir",
+ "image/targa": "image/tga",
+ "image/x-emf": "image/emf",
"text/css": "text/code",
"text/csv": "x-office/spreadsheet",
"text/html": "text/code",
@@ -105,16 +114,11 @@ OC.MimeTypeList={
"text/x-h": "text/code",
"text/x-java-source": "text/code",
"text/x-ldif": "text/code",
+ "text/x-nfo": "text/code",
"text/x-python": "text/code",
+ "text/x-rst": "text",
"text/x-shellscript": "text/code",
"web": "text/code",
- "application/internet-shortcut": "link",
- "application/km": "mindmap",
- "application/x-freemind": "mindmap",
- "application/vnd.xmind.workbook": "mindmap",
- "image/targa": "image/tga",
- "application/vnd.openxmlformats-officedocument.wordprocessingml.document.oform": "x-office/form",
- "application/vnd.openxmlformats-officedocument.wordprocessingml.document.docxf": "x-office/form-template",
"my-custom/mimetype": "custom"
},
files: [
@@ -129,6 +133,7 @@ OC.MimeTypeList={
"folder-public",
"folder-shared",
"folder-starred",
+ "font",
"image",
"link",
"location",
@@ -139,6 +144,7 @@ OC.MimeTypeList={
"text-code",
"text-vcard",
"video",
+ "whiteboard",
"x-office-document",
"x-office-drawing",
"x-office-form",
@@ -146,5 +152,131 @@ OC.MimeTypeList={
"x-office-presentation",
"x-office-spreadsheet"
],
- themes: []
+ themes: [],
+ names: {'application/cmd': t('core', "Windows Command Script"),
+'application/epub+zip': t('core', "Electronic book document"),
+'application/font-sfnt': t('core', "TrueType Font Collection"),
+'application/font-woff': t('core', "Web Open Font Format"),
+'application/gpx+xml': t('core', "GPX geographic data"),
+'application/gzip': t('core', "Gzip archive"),
+'application/illustrator': t('core', "Adobe Illustrator document"),
+'application/java': t('core', "Java source code"),
+'application/javascript': t('core', "JavaScript source code"),
+'application/json': t('core', "JSON document"),
+'application/msaccess': t('core', "Microsoft Access database"),
+'application/msonenote': t('core', "Microsoft OneNote document"),
+'application/msword': t('core', "Microsoft Word document"),
+'application/octet-stream': t('core', "Unknown"),
+'application/pdf': t('core', "PDF document"),
+'application/postscript': t('core', "PostScript document"),
+'application/rss+xml': t('core', "RSS summary"),
+'application/vnd.android.package-archive': t('core', "Android package"),
+'application/vnd.google-earth.kml+xml': t('core', "KML geographic data"),
+'application/vnd.google-earth.kmz': t('core', "KML geographic compressed data"),
+'application/vnd.lotus-wordpro': t('core', "Lotus Word Pro document"),
+'application/vnd.ms-excel': t('core', "Excel spreadsheet"),
+'application/vnd.ms-excel.addin.macroEnabled.12': t('core', "Excel add-in"),
+'application/vnd.ms-excel.sheet.binary.macroEnabled.12': t('core', "Excel 2007 binary spreadsheet"),
+'application/vnd.ms-excel.sheet.macroEnabled.12': t('core', "Excel spreadsheet"),
+'application/vnd.ms-excel.template.macroEnabled.12': t('core', "Excel spreadsheet template"),
+'application/vnd.ms-outlook': t('core', "Outlook Message"),
+'application/vnd.ms-powerpoint': t('core', "PowerPoint presentation"),
+'application/vnd.ms-powerpoint.addin.macroEnabled.12': t('core', "PowerPoint add-in"),
+'application/vnd.ms-powerpoint.presentation.macroEnabled.12': t('core', "PowerPoint presentation"),
+'application/vnd.ms-powerpoint.slideshow.macroEnabled.12': t('core', "PowerPoint presentation"),
+'application/vnd.ms-powerpoint.template.macroEnabled.12': t('core', "PowerPoint presentation template"),
+'application/vnd.ms-word.document.macroEnabled.12': t('core', "Word document"),
+'application/vnd.oasis.opendocument.formula': t('core', "ODF formula"),
+'application/vnd.oasis.opendocument.graphics': t('core', "ODG drawing"),
+'application/vnd.oasis.opendocument.graphics-flat-xml': t('core', "ODG drawing (Flat XML)"),
+'application/vnd.oasis.opendocument.graphics-template': t('core', "ODG template"),
+'application/vnd.oasis.opendocument.presentation': t('core', "ODP presentation"),
+'application/vnd.oasis.opendocument.presentation-flat-xml': t('core', "ODP presentation (Flat XML)"),
+'application/vnd.oasis.opendocument.presentation-template': t('core', "ODP template"),
+'application/vnd.oasis.opendocument.spreadsheet': t('core', "ODS spreadsheet"),
+'application/vnd.oasis.opendocument.spreadsheet-flat-xml': t('core', "ODS spreadsheet (Flat XML)"),
+'application/vnd.oasis.opendocument.spreadsheet-template': t('core', "ODS template"),
+'application/vnd.oasis.opendocument.text': t('core', "ODT document"),
+'application/vnd.oasis.opendocument.text-flat-xml': t('core', "ODT document (Flat XML)"),
+'application/vnd.oasis.opendocument.text-template': t('core', "ODT template"),
+'application/vnd.openxmlformats-officedocument.presentationml.presentation': t('core', "PowerPoint 2007 presentation"),
+'application/vnd.openxmlformats-officedocument.presentationml.slideshow': t('core', "PowerPoint 2007 show"),
+'application/vnd.openxmlformats-officedocument.presentationml.template': t('core', "PowerPoint 2007 presentation template"),
+'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet': t('core', "Excel 2007 spreadsheet"),
+'application/vnd.openxmlformats-officedocument.spreadsheetml.template': t('core', "Excel 2007 spreadsheet template"),
+'application/vnd.openxmlformats-officedocument.wordprocessingml.document': t('core', "Word 2007 document"),
+'application/vnd.openxmlformats-officedocument.wordprocessingml.template': t('core', "Word 2007 document template"),
+'application/vnd.visio': t('core', "Microsoft Visio document"),
+'application/vnd.wordperfect': t('core', "WordPerfect document"),
+'application/x-7z-compressed': t('core', "7-zip archive"),
+'application/x-blender': t('core', "Blender scene"),
+'application/x-bzip2': t('core', "Bzip2 archive"),
+'application/x-deb': t('core', "Debian package"),
+'application/x-fictionbook+xml': t('core', "FictionBook document"),
+'application/x-font': t('core', "Unknown font"),
+'application/x-krita': t('core', "Krita document"),
+'application/x-mobipocket-ebook': t('core', "Mobipocket e-book"),
+'application/x-msi': t('core', "Windows Installer package"),
+'application/x-perl': t('core', "Perl script"),
+'application/x-php': t('core', "PHP script"),
+'application/x-tar': t('core', "Tar archive"),
+'application/xml': t('core', "XML document"),
+'application/yaml': t('core', "YAML document"),
+'application/zip': t('core', "Zip archive"),
+'application/zstd': t('core', "Zstandard archive"),
+'audio/aac': t('core', "AAC audio"),
+'audio/flac': t('core', "FLAC audio"),
+'audio/mp4': t('core', "MPEG-4 audio"),
+'audio/mpeg': t('core', "MP3 audio"),
+'audio/ogg': t('core', "Ogg audio"),
+'audio/wav': t('core', "RIFF\/WAVe standard Audio"),
+'audio/webm': t('core', "WebM audio"),
+'audio/x-scpls': t('core', "MP3 ShoutCast playlist"),
+'image/bmp': t('core', "Windows BMP image"),
+'image/bpg': t('core', "Better Portable Graphics image"),
+'image/emf': t('core', "EMF image"),
+'image/gif': t('core', "GIF image"),
+'image/heic': t('core', "HEIC image"),
+'image/heif': t('core', "HEIF image"),
+'image/jp2': t('core', "JPEG-2000 JP2 image"),
+'image/jpeg': t('core', "JPEG image"),
+'image/png': t('core', "PNG image"),
+'image/svg+xml': t('core', "SVG image"),
+'image/tga': t('core', "Truevision Targa image"),
+'image/tiff': t('core', "TIFF image"),
+'image/webp': t('core', "WebP image"),
+'image/x-dcraw': t('core', "Digital raw image"),
+'image/x-icon': t('core', "Windows Icon"),
+'message/rfc822': t('core', "Email message"),
+'text/calendar': t('core', "VCS\/ICS calendar"),
+'text/css': t('core', "CSS stylesheet"),
+'text/csv': t('core', "CSV document"),
+'text/html': t('core', "HTML document"),
+'text/markdown': t('core', "Markdown document"),
+'text/org': t('core', "Org-mode file"),
+'text/plain': t('core', "Plain text document"),
+'text/rtf': t('core', "Rich Text document"),
+'text/vcard': t('core', "Electronic business card"),
+'text/x-c++src': t('core', "C++ source code"),
+'text/x-java-source': t('core', "Java source code"),
+'text/x-ldif': t('core', "LDIF address book"),
+'text/x-nfo': t('core', "NFO document"),
+'text/x-php': t('core', "PHP source"),
+'text/x-python': t('core', "Python script"),
+'text/x-rst': t('core', "ReStructuredText document"),
+'video/3gpp': t('core', "3GPP multimedia file"),
+'video/MP2T': t('core', "MPEG video"),
+'video/dv': t('core', "DV video"),
+'video/mp2t': t('core', "MPEG-2 transport stream"),
+'video/mp4': t('core', "MPEG-4 video"),
+'video/mpeg': t('core', "MPEG video"),
+'video/ogg': t('core', "Ogg video"),
+'video/quicktime': t('core', "QuickTime video"),
+'video/webm': t('core', "WebM video"),
+'video/x-flv': t('core', "Flash video"),
+'video/x-matroska': t('core', "Matroska video"),
+'video/x-ms-wmv': t('core', "Windows Media video"),
+'video/x-msvideo': t('core', "AVI video"),
+'my-custom/mimetype': t('core', "Custom Document"),
+},
};
diff --git a/tests/data/integritycheck/mimetypeListModified/core/signature.json b/tests/data/integritycheck/mimetypeListModified/core/signature.json
index aff5fb38e41..04f4c1b923c 100644
--- a/tests/data/integritycheck/mimetypeListModified/core/signature.json
+++ b/tests/data/integritycheck/mimetypeListModified/core/signature.json
@@ -1,7 +1,7 @@
{
"hashes": {
- "core\/js\/mimetypelist.js": "e47768d024b1b8cc4a24c91892e9b4a4489c713f9aa8b251e6a300a954d3105d56ae2214519c62ef0d621102cac91eb009c863f7b9368e9f463a4f102a1ad91b"
+ "core\/js\/mimetypelist.js": "1bb7ea82996776ad23da2841beefe7b80b3d25d410c6aaf53f73d094705ad95694520427888c16922286645208d7619de3c71c9c8e22c13dabc7c8bf26c92b57"
},
- "signature": "r24gCYJNRAR7PoX9jEWOkx7ErNucehmdbskGQJIhLPdUbFyBoQw4wgFPlrf8j4GDkchEbpcq0Kf1Bp\/JRuV47TVj+rrmqgX\/LqQKgbENxws8rZy9EXoG9slb7LnMhpueRQdnT94KvU7ntbwSXE4BM0tbE51\/rHtAvtnUbkDiZuv\/d6dRjRVbJ5\/Br+DIPveMJSgRBD+gNwktXTWQ6wEHFBynuqASZFNFypZ4OJyM4KXhlYWpl5Bx5pqAXpWroyOVIu1GB83EAf5vwjc9fHH8Envu13WGDZB5MIQc+h22r\/4j\/scugfL3RbDZie3JSq3ADV+TmsBra9gYsLdE0zde8AQRlb1cugldzKNpjcguyjZ8PP\/8mCg8cBSesRF9Qo2RN\/MWiaB+JPjusY76uNfXhfG7pQ06SCkU5S1\/AxdIGi5VfGGi08lVJWEIZzmOuXzvbx1hacAxSOmDIq2j3j8JirMobGURzn+zDjl94qZ9Y2AG5SIgdGBfKmBQRmbiPGO1sGfjFFVPotlFvFxZlKl8cMkLK2gmXIzyxe8OkfL66LSinfxiDQDuAeFLX7IMtkIDreQHhWFatFj1G\/3TjLwxaRzm+dk9L70f0DSkhg603zdQQvR7dQ9VOnGwlFlnMpDYRMc\/pLWEYn7vp2A1wQFrb5CEU+C84ll8oKeNrhfEyBM=",
+ "signature": "g+orHgCwPo9+RODiV5AgTdXTeQrN0avYsww7M1jHefef12kPX38MDUVWaMYYjEMw3r7G9pgHqfBPzQcZ4WmTaPnUm7E3Anb8P71jTpFwOzKdR4o\/uu1QfEeMcIMNfoD7ikkg4IKsroD+XreRPJOxVL81Ouse+QnTOGcicUS2V2uFFxc9Is7I9TeGCVawWzDYOLXkbTGRekSS863vz3tdmgCEmFCcCd498GHPTnkCvm5D52zqbeJCnVitjNzvtPY+zUmEpei\/CMOQoAQul9\/bP\/89bSgOgJYaWIgmN7X3FGuPOAiS62XZ6eBlBDdjT67m8VbVw75zFY3HV6YwrcOri6zvTv4Uc6Xy2fm+mxNuIkn+0vnOnhik0bW46gFFpBlBrFbMS7fZgPhvjLwkew1GjL+sAnejnuLEUYVHbisJr4CtmkJFzeG\/WK85PQOTPfHiZd550vu7RH8sYrRpXHrAFu\/w4Ziw93CJO0CU0xXHATmtb9mn47dtsXLEYw0NbZWMxWAV7JPGHbW6qxn1nYm+1aKpm+UEhZ2ZbBW5LnGEGU+hTg7LpR9OHyvo2ASORvrgWF5c4S3US8MRLXmDrv76Oux0WaktRNZUm7W0r9HyUCkCdzOJi4ZWB1w951wJgvplTDWQtYkZ3T7ujsRPT6YGH\/WvvBSKcLKi5PcZUmCiH\/Q=",
"certificate": "-----BEGIN CERTIFICATE-----\r\nMIIEvjCCAqagAwIBAgIUc\/0FxYrsgSs9rDxp03EJmbjN0NwwDQYJKoZIhvcNAQEF\r\nBQAwIzEhMB8GA1UECgwYb3duQ2xvdWQgQ29kZSBTaWduaW5nIENBMB4XDTE1MTEw\r\nMzIxMDMzM1oXDTE2MTEwMzIxMDMzM1owDzENMAsGA1UEAwwEY29yZTCCAiIwDQYJ\r\nKoZIhvcNAQEBBQADggIPADCCAgoCggIBALb6EgHpkAqZbO5vRO8XSh7G7XGWHw5s\r\niOf4RwPXR6SE9bWZEm\/b72SfWk\/\/J6AbrD8WiOzBuT\/ODy6k5T1arEdHO+Pux0W1\r\nMxYJJI4kH74KKgMpC0SB0Rt+8WrMqV1r3hhJ46df6Xr\/xolP3oD+eLbShPcblhdS\r\nVtkZEkoev8Sh6L2wDCeHDyPxzvj1w2dTdGVO9Kztn0xIlyfEBakqvBWtcxyi3Ln0\r\nklnxlMx3tPDUE4kqvpia9qNiB1AN2PV93eNr5\/2riAzIssMFSCarWCx0AKYb54+d\r\nxLpcYFyqPJ0ydBCkF78DD45RCZet6PNYkdzgbqlUWEGGomkuDoJbBg4wzgzO0D77\r\nH87KFhYW8tKFFvF1V3AHl\/sFQ9tDHaxM9Y0pZ2jPp\/ccdiqnmdkBxBDqsiRvHvVB\r\nCn6qpb4vWGFC7vHOBfYspmEL1zLlKXZv3ezMZEZw7O9ZvUP3VO\/wAtd2vUW8UFiq\r\ns2v1QnNLN6jNh51obcwmrBvWhJy9vQIdtIjQbDxqWTHh1zUSrw9wrlklCBZ\/zrM0\r\ni8nfCFwTxWRxp3H9KoECzO\/zS5R5KIS7s3\/wq\/w9T2Ie4rcecgXwDizwnn0C\/aKc\r\nbDIjujpL1s9HO05pcD\/V3wKcPZ1izymBkmMyIbL52iRVN5FTVHeZdXPpFuq+CTQJ\r\nQ238lC+A\/KOVAgMBAAEwDQYJKoZIhvcNAQEFBQADggIBAGoKTnh8RfJV4sQItVC2\r\nAvfJagkrIqZ3iiQTUBQGTKBsTnAqE1H7QgUSV9vSd+8rgvHkyZsRjmtyR1e3A6Ji\r\noNCXUbExC\/0iCPUqdHZIVb+Lc\/vWuv4ByFMybGPydgtLoEUX2ZrKFWmcgZFDUSRd\r\n9Uj26vtUhCC4bU4jgu6hIrR9IuxOBLQUxGTRZyAcXvj7obqRAEZwFAKQgFpfpqTb\r\nH+kjcbZSaAlLVSF7vBc1syyI8RGYbqpwvtREqJtl5IEIwe6huEqJ3zPnlP2th\/55\r\ncf3Fovj6JJgbb9XFxrdnsOsDOu\/tpnaRWlvv5ib4+SzG5wWFT5UUEo4Wg2STQiiX\r\nuVSRQxK1LE1yg84bs3NZk9FSQh4B8vZVuRr5FaJsZZkwlFlhRO\/\/+TJtXRbyNgsf\r\noMRZGi8DLGU2SGEAHcRH\/QZHq\/XDUWVzdxrSBYcy7GSpT7UDVzGv1rEJUrn5veP1\r\n0KmauAqtiIaYRm4f6YBsn0INcZxzIPZ0p8qFtVZBPeHhvQtvOt0iXI\/XUxEWOa2F\r\nK2EqhErgMK\/N07U1JJJay5tYZRtvkGq46oP\/5kQG8hYST0MDK6VihJoPpvCmAm4E\r\npEYKQ96x6A4EH9Y9mZlYozH\/eqmxPbTK8n89\/p7Ydun4rI+B2iiLnY8REWWy6+UQ\r\nV204fGUkJqW5CrKy3P3XvY9X\r\n-----END CERTIFICATE-----"
} \ No newline at end of file
diff --git a/tests/data/integritycheck/root.crt.license b/tests/data/integritycheck/root.crt.license
new file mode 100644
index 00000000000..2598a98f44c
--- /dev/null
+++ b/tests/data/integritycheck/root.crt.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: 2015 ownCloud, Inc.
+SPDX-License-Identifier: AGPL-3.0-only
diff --git a/tests/data/integritycheck/root.key.license b/tests/data/integritycheck/root.key.license
new file mode 100644
index 00000000000..2598a98f44c
--- /dev/null
+++ b/tests/data/integritycheck/root.key.license
@@ -0,0 +1,2 @@
+SPDX-FileCopyrightText: 2015 ownCloud, Inc.
+SPDX-License-Identifier: AGPL-3.0-only
diff --git a/tests/data/scss/styles-error.scss b/tests/data/scss/styles-error.scss
index bd6c6d4ffb5..4f3c8330a6b 100644
--- a/tests/data/scss/styles-error.scss
+++ b/tests/data/scss/styles-error.scss
@@ -1 +1,5 @@
+/**
+ * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
body { error }
diff --git a/tests/data/scss/styles-success.scss b/tests/data/scss/styles-success.scss
index bf4efa71a6a..343ddf43ef2 100644
--- a/tests/data/scss/styles-success.scss
+++ b/tests/data/scss/styles-success.scss
@@ -1 +1,5 @@
-body { background-color: $color-primary; } \ No newline at end of file
+/**
+ * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+body { background-color: $color-primary; }
diff --git a/tests/data/setUploadLimit/htaccess b/tests/data/setUploadLimit/htaccess
index 53b06d5ae22..06e2c7ec2e4 100644
--- a/tests/data/setUploadLimit/htaccess
+++ b/tests/data/setUploadLimit/htaccess
@@ -10,8 +10,7 @@
<IfModule mod_env.c>
# Add security and privacy related headers
Header set X-Content-Type-Options "nosniff"
- Header set X-XSS-Protection "1; mode=block"
- Header set X-Robots-Tag "none"
+ Header set X-Robots-Tag "noindex, nofollow"
Header set X-Frame-Options "SAMEORIGIN"
SetEnv modHeadersAvailable true
</IfModule>
diff --git a/tests/data/svg/files-app-red.svg b/tests/data/svg/files-app-red.svg
index 81d7fca1472..1a8ad23cf74 100644
--- a/tests/data/svg/files-app-red.svg
+++ b/tests/data/svg/files-app-red.svg
@@ -1 +1,5 @@
+<!--
+ - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
+ - SPDX-License-Identifier: AGPL-3.0-or-later
+-->
<svg xmlns="http://www.w3.org/2000/svg" height="32" viewBox="0 0 32 32" width="32" version="1.1"><path fill="#f00" d="m3 4c-0.5 0-1 0.5-1 1v22c0 0.52 0.48 1 1 1h26c0.52 0 1-0.482 1-1v-18c0-0.5-0.5-1-1-1h-13l-4-4z"/></svg>
diff --git a/tests/data/svg/mixed-red.svg b/tests/data/svg/mixed-red.svg
index 5e3727abd46..37e786a23b5 100644
--- a/tests/data/svg/mixed-red.svg
+++ b/tests/data/svg/mixed-red.svg
@@ -1 +1,5 @@
+<!--
+ - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ - SPDX-License-Identifier: AGPL-3.0-or-later
+-->
<svg width="50mm" height="50mm" version="1.1" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg"><g transform="translate(0,-247)"><rect x="3.3609" y="250.93" width="16.253" height="15.497" fill="#f00"/><ellipse cx="37.089" cy="257.97" rx="8.5517" ry="7.9375" fill="#f00"/><circle cx="12.19" cy="281.31" r="10" fill="#f00"/><rect x="29.293" y="272.81" width="16.253" height="15.497" fill="#f00"/></g></svg>
diff --git a/tests/data/svg/mixed-source.svg b/tests/data/svg/mixed-source.svg
index e4a94136c52..94449355a28 100644
--- a/tests/data/svg/mixed-source.svg
+++ b/tests/data/svg/mixed-source.svg
@@ -1 +1,5 @@
+<!--
+ - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ - SPDX-License-Identifier: AGPL-3.0-or-later
+-->
<svg width="50mm" height="50mm" version="1.1" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg"><g transform="translate(0,-247)"><rect x="3.3609" y="250.93" width="16.253" height="15.497"/><ellipse cx="37.089" cy="257.97" rx="8.5517" ry="7.9375" fill="#123456"/><circle cx="12.19" cy="281.31" r="10"/><rect x="29.293" y="272.81" width="16.253" height="15.497" fill="#6474a5"/></g></svg>
diff --git a/tests/data/svg/rect-black.svg b/tests/data/svg/rect-black.svg
index 85ab8442c35..accedfff892 100644
--- a/tests/data/svg/rect-black.svg
+++ b/tests/data/svg/rect-black.svg
@@ -1 +1,5 @@
+<!--
+ - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ - SPDX-License-Identifier: AGPL-3.0-or-later
+-->
<svg width="50mm" height="50mm" version="1.1" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg"><g transform="translate(0,-247)"><rect x="10" y="257" width="30" height="30"/></g></svg>
diff --git a/tests/data/svg/rect-red.svg b/tests/data/svg/rect-red.svg
index 8f0fae7f617..dbe93f8a423 100644
--- a/tests/data/svg/rect-red.svg
+++ b/tests/data/svg/rect-red.svg
@@ -1 +1,5 @@
+<!--
+ - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
+ - SPDX-License-Identifier: AGPL-3.0-or-later
+-->
<svg width="50mm" height="50mm" version="1.1" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg"><g transform="translate(0,-247)"><rect x="10" y="257" width="30" height="30" fill="#f00"/></g></svg>
diff --git a/tests/data/svg/settings-admin-red.svg b/tests/data/svg/settings-admin-red.svg
index 54d7d3a9b15..26a24cfde8a 100644
--- a/tests/data/svg/settings-admin-red.svg
+++ b/tests/data/svg/settings-admin-red.svg
@@ -1 +1,5 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 16 16" height="16" width="16" version="1.1"><path color="#000" d="m1 1v4h4v-4h-4zm5 1v2h8v-2h-8zm-5 4v4h4v-4h-4zm5 1v2h8v-2h-8zm-5 4v4h4v-4h-4zm1 1h2v2h-2v-2zm4 0v2h8v-2h-8z" fill="#f00"/></svg>
+<!--
+ - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
+ - SPDX-License-Identifier: AGPL-3.0-or-later
+-->
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" height="16" width="16" version="1.1"><path color="#000" d="m1 1v4h4v-4h-4zm5 1v2h8v-2h-8zm-5 4v4h4v-4h-4zm5 1v2h8v-2h-8zm-5 4v4h4v-4h-4zm1 1h2v2h-2v-2zm4 0v2h8v-2h-8z" fill="#f00"/></svg>
diff --git a/tests/data/testimage-large.jpg b/tests/data/testimage-large.jpg
new file mode 100644
index 00000000000..7b4df1bdcfc
--- /dev/null
+++ b/tests/data/testimage-large.jpg
Binary files differ
diff --git a/tests/data/testimage.webp b/tests/data/testimage.webp
new file mode 100644
index 00000000000..d54cbfe8d27
--- /dev/null
+++ b/tests/data/testimage.webp
Binary files differ