summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@users.noreply.github.com>2021-03-18 16:20:46 +0100
committerGitHub <noreply@github.com>2021-03-18 16:20:46 +0100
commit8942d76f729b51743aba8029812291473c53a270 (patch)
treeaa454ec630424a0298d4ac60d093116faf545e91 /tests
parent15cb3f06247d7d9fc61b22f40192aef4f97f3c92 (diff)
parent8806bbe6fee97a8046c9004e68bba23bcc534de1 (diff)
downloadnextcloud-server-8942d76f729b51743aba8029812291473c53a270.tar.gz
nextcloud-server-8942d76f729b51743aba8029812291473c53a270.zip
Merge pull request #26122 from nextcloud/backport/26004/stable21
[stable21] Allow overwriting isAuthenticated
Diffstat (limited to 'tests')
-rw-r--r--tests/lib/AppFramework/Controller/PublicShareControllerTest.php54
1 files changed, 35 insertions, 19 deletions
diff --git a/tests/lib/AppFramework/Controller/PublicShareControllerTest.php b/tests/lib/AppFramework/Controller/PublicShareControllerTest.php
index f2a60a574af..deffedcec05 100644
--- a/tests/lib/AppFramework/Controller/PublicShareControllerTest.php
+++ b/tests/lib/AppFramework/Controller/PublicShareControllerTest.php
@@ -27,6 +27,34 @@ use OCP\AppFramework\PublicShareController;
use OCP\IRequest;
use OCP\ISession;
+class TestController extends PublicShareController {
+
+ /** @var string */
+ private $hash;
+
+ /** @var bool */
+ private $isProtected;
+
+ public function __construct(string $appName, IRequest $request, ISession $session, string $hash, bool $isProtected) {
+ parent::__construct($appName, $request, $session);
+
+ $this->hash = $hash;
+ $this->isProtected = $isProtected;
+ }
+
+ protected function getPasswordHash(): string {
+ return $this->hash;
+ }
+
+ public function isValidToken(): bool {
+ return false;
+ }
+
+ protected function isPasswordProtected(): bool {
+ return $this->isProtected;
+ }
+}
+
class PublicShareControllerTest extends \Test\TestCase {
/** @var IRequest|\PHPUnit\Framework\MockObject\MockObject */
@@ -34,27 +62,18 @@ class PublicShareControllerTest extends \Test\TestCase {
/** @var ISession|\PHPUnit\Framework\MockObject\MockObject */
private $session;
- /** @var PublicShareController|\PHPUnit\Framework\MockObject\MockObject */
- private $controller;
-
-
protected function setUp(): void {
parent::setUp();
$this->request = $this->createMock(IRequest::class);
$this->session = $this->createMock(ISession::class);
-
- $this->controller = $this->getMockBuilder(PublicShareController::class)
- ->setConstructorArgs([
- 'app',
- $this->request,
- $this->session
- ])->getMock();
}
public function testGetToken() {
- $this->controller->setToken('test');
- $this->assertEquals('test', $this->controller->getToken());
+ $controller = new TestController('app', $this->request, $this->session, 'hash', false);
+
+ $controller->setToken('test');
+ $this->assertEquals('test', $controller->getToken());
}
public function dataIsAuthenticated() {
@@ -74,8 +93,7 @@ class PublicShareControllerTest extends \Test\TestCase {
* @dataProvider dataIsAuthenticated
*/
public function testIsAuthenticatedNotPasswordProtected(bool $protected, string $token1, string $token2, string $hash1, string $hash2, bool $expected) {
- $this->controller->method('isPasswordProtected')
- ->willReturn($protected);
+ $controller = new TestController('app', $this->request, $this->session, $hash2, $protected);
$this->session->method('get')
->willReturnMap([
@@ -83,10 +101,8 @@ class PublicShareControllerTest extends \Test\TestCase {
['public_link_authenticated_password_hash', $hash1],
]);
- $this->controller->setToken($token2);
- $this->controller->method('getPasswordHash')
- ->willReturn($hash2);
+ $controller->setToken($token2);
- $this->assertEquals($expected, $this->controller->isAuthenticated());
+ $this->assertEquals($expected, $controller->isAuthenticated());
}
}