aboutsummaryrefslogtreecommitdiffstats
path: root/tests/lib/OCS/ApiHelperTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lib/OCS/ApiHelperTest.php')
-rw-r--r--tests/lib/OCS/ApiHelperTest.php49
1 files changed, 49 insertions, 0 deletions
diff --git a/tests/lib/OCS/ApiHelperTest.php b/tests/lib/OCS/ApiHelperTest.php
new file mode 100644
index 00000000000..334fca7169e
--- /dev/null
+++ b/tests/lib/OCS/ApiHelperTest.php
@@ -0,0 +1,49 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+namespace Test\OCS;
+
+use OC\OCS\ApiHelper;
+use OCP\IRequest;
+
+class ApiHelperTest extends \Test\TestCase {
+ public static function versionDataScriptNameProvider(): array {
+ return [
+ // Valid script name
+ [
+ '/master/ocs/v2.php', true,
+ ],
+
+ // Invalid script names
+ [
+ '/master/ocs/v2.php/someInvalidPathName', false,
+ ],
+ [
+ '/master/ocs/v1.php', false,
+ ],
+ [
+ '', false,
+ ],
+ ];
+ }
+
+ #[\PHPUnit\Framework\Attributes\DataProvider('versionDataScriptNameProvider')]
+ public function testIsV2(string $scriptName, bool $expected): void {
+ $request = $this->getMockBuilder(IRequest::class)
+ ->disableOriginalConstructor()
+ ->getMock();
+ $request
+ ->expects($this->once())
+ ->method('getScriptName')
+ ->willReturn($scriptName);
+
+ $this->assertEquals($expected, $this->invokePrivate(new ApiHelper, 'isV2', [$request]));
+ }
+}