remotes/origin/fix-delete-homeidr-on-userdelete
parent
7062e6636d
commit
964fa1fce3
@ -0,0 +1,50 @@ |
||||
<?php |
||||
/** |
||||
* @author Björn Schießle <schiessle@owncloud.com> |
||||
* |
||||
* @copyright Copyright (c) 2015, ownCloud, Inc. |
||||
* @license AGPL-3.0 |
||||
* |
||||
* This code is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU Affero General Public License, version 3, |
||||
* as published by the Free Software Foundation. |
||||
* |
||||
* This program is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU Affero General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU Affero General Public License, version 3, |
||||
* along with this program. If not, see <http://www.gnu.org/licenses/> |
||||
* |
||||
*/ |
||||
|
||||
|
||||
namespace OCA\Federation; |
||||
|
||||
|
||||
|
||||
class Hooks { |
||||
|
||||
/** @var TrustedServers */ |
||||
private $trustedServers; |
||||
|
||||
public function __construct(TrustedServers $trustedServers) { |
||||
$this->trustedServers = $trustedServers; |
||||
} |
||||
|
||||
/** |
||||
* add servers to the list of trusted servers once a federated share was established |
||||
* |
||||
* @param array $params |
||||
*/ |
||||
public function addServerHook($params) { |
||||
if ( |
||||
$this->trustedServers->getAutoAddServers() === true && |
||||
$this->trustedServers->isTrustedServer($params['server']) === false |
||||
) { |
||||
$this->trustedServers->addServer($params['server']); |
||||
} |
||||
} |
||||
|
||||
} |
||||
@ -0,0 +1,79 @@ |
||||
<?php |
||||
/** |
||||
* @author Björn Schießle <schiessle@owncloud.com> |
||||
* |
||||
* @copyright Copyright (c) 2015, ownCloud, Inc. |
||||
* @license AGPL-3.0 |
||||
* |
||||
* This code is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU Affero General Public License, version 3, |
||||
* as published by the Free Software Foundation. |
||||
* |
||||
* This program is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU Affero General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU Affero General Public License, version 3, |
||||
* along with this program. If not, see <http://www.gnu.org/licenses/> |
||||
* |
||||
*/ |
||||
|
||||
|
||||
namespace OCA\Federation\Tests\lib; |
||||
|
||||
|
||||
use OCA\Federation\Hooks; |
||||
use OCA\Federation\TrustedServers; |
||||
use Test\TestCase; |
||||
|
||||
class HooksTest extends TestCase { |
||||
|
||||
/** @var \PHPUnit_Framework_MockObject_MockObject | TrustedServers */ |
||||
private $trustedServers; |
||||
|
||||
/** @var Hooks */ |
||||
private $hooks; |
||||
|
||||
public function setUp() { |
||||
parent::setUp(); |
||||
|
||||
$this->trustedServers = $this->getMockBuilder('OCA\Federation\TrustedServers') |
||||
->disableOriginalConstructor()->getMock(); |
||||
|
||||
$this->hooks = new Hooks($this->trustedServers); |
||||
} |
||||
|
||||
/** |
||||
* @dataProvider dataTestAddServerHook |
||||
* |
||||
* @param bool $autoAddEnabled is auto-add enabled |
||||
* @param bool $isTrustedServer is the server already in the list of trusted servers |
||||
* @param bool $addServer should the server be added |
||||
*/ |
||||
public function testAddServerHook($autoAddEnabled, $isTrustedServer, $addServer) { |
||||
$this->trustedServers->expects($this->any())->method('getAutoAddServers') |
||||
->willReturn($autoAddEnabled); |
||||
$this->trustedServers->expects($this->any())->method('isTrustedServer') |
||||
->with('url')->willReturn($isTrustedServer); |
||||
|
||||
if ($addServer) { |
||||
$this->trustedServers->expects($this->once())->method('addServer') |
||||
->with('url'); |
||||
} else { |
||||
$this->trustedServers->expects($this->never())->method('addServer'); |
||||
} |
||||
|
||||
$this->hooks->addServerHook(['server' => 'url']); |
||||
|
||||
} |
||||
|
||||
public function dataTestAddServerHook() { |
||||
return [ |
||||
[true, true, false], |
||||
[false, true, false], |
||||
[true, false, true], |
||||
[false, false, false], |
||||
]; |
||||
} |
||||
} |
||||
Loading…
Reference in new issue