Browse Source
Inject \OCP\IURLGenerator to make tests work
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
pull/6177/head
Lukas Reschke
8 years ago
No known key found for this signature in database
GPG Key ID: B9F6980CF6E759B1
4 changed files with
16 additions and
5 deletions
-
core/Controller/TwoFactorChallengeController.php
-
lib/private/NavigationManager.php
-
lib/private/legacy/user.php
-
tests/lib/NavigationManagerTest.php
|
|
|
@ -70,7 +70,7 @@ class TwoFactorChallengeController extends Controller { |
|
|
|
* @return string |
|
|
|
*/ |
|
|
|
protected function getLogoutUrl() { |
|
|
|
return OC_User::getLogoutUrl(); |
|
|
|
return OC_User::getLogoutUrl($this->urlGenerator); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
|
|
|
|
@ -187,7 +187,7 @@ class NavigationManager implements INavigationManager { |
|
|
|
'icon' => $this->urlGenerator->imagePath('settings', 'admin.svg'), |
|
|
|
]); |
|
|
|
|
|
|
|
$logoutUrl = \OC_User::getLogoutUrl(); |
|
|
|
$logoutUrl = \OC_User::getLogoutUrl($this->urlGenerator); |
|
|
|
if($logoutUrl !== '') { |
|
|
|
// Logout
|
|
|
|
$this->add([ |
|
|
|
|
|
|
|
@ -283,15 +283,16 @@ class OC_User { |
|
|
|
/** |
|
|
|
* Returns the current logout URL valid for the currently logged-in user |
|
|
|
* |
|
|
|
* @param \OCP\IURLGenerator $urlGenerator |
|
|
|
* @return string |
|
|
|
*/ |
|
|
|
public static function getLogoutUrl() { |
|
|
|
public static function getLogoutUrl(\OCP\IURLGenerator $urlGenerator) { |
|
|
|
$backend = self::findFirstActiveUsedBackend(); |
|
|
|
if ($backend) { |
|
|
|
return $backend->getLogoutUrl(); |
|
|
|
} |
|
|
|
|
|
|
|
$logoutUrl = \OC::$server->getURLGenerator()->linkToRouteAbsolute( |
|
|
|
$logoutUrl = $urlGenerator->linkToRouteAbsolute( |
|
|
|
'core.login.logout', |
|
|
|
[ |
|
|
|
'requesttoken' => \OCP\Util::callRegister(), |
|
|
|
|
|
|
|
@ -217,6 +217,16 @@ class NavigationManagerTest extends TestCase { |
|
|
|
$this->urlGenerator->expects($this->any())->method('linkToRoute')->willReturnCallback(function() { |
|
|
|
return "/apps/test/"; |
|
|
|
}); |
|
|
|
$this->urlGenerator |
|
|
|
->expects($this->once()) |
|
|
|
->method('linkToRouteAbsolute') |
|
|
|
->with( |
|
|
|
'core.login.logout', |
|
|
|
[ |
|
|
|
'requesttoken' => \OCP\Util::callRegister(), |
|
|
|
] |
|
|
|
) |
|
|
|
->willReturn('https://example.com/logout'); |
|
|
|
$user = $this->createMock(IUser::class); |
|
|
|
$user->expects($this->any())->method('getUID')->willReturn('user001'); |
|
|
|
$this->userSession->expects($this->any())->method('getUser')->willReturn($user); |
|
|
|
@ -260,7 +270,7 @@ class NavigationManagerTest extends TestCase { |
|
|
|
[ |
|
|
|
'id' => 'logout', |
|
|
|
'order' => 99999, |
|
|
|
'href' => \OC_User::getLogoutUrl(), |
|
|
|
'href' => 'https://example.com/logout', |
|
|
|
'icon' => '/apps/core/img/actions/logout.svg', |
|
|
|
'name' => 'Log out', |
|
|
|
'active' => false, |
|
|
|
|