RoomManager/ResourceManager: Inject IServerContainer instead of using OC Server
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
This commit is contained in:
parent
1c6f666bbf
commit
970242b6ca
|
@ -24,15 +24,28 @@
|
||||||
namespace OC\Calendar\Resource;
|
namespace OC\Calendar\Resource;
|
||||||
|
|
||||||
use OCP\Calendar\Resource\IBackend;
|
use OCP\Calendar\Resource\IBackend;
|
||||||
|
use OCP\IServerContainer;
|
||||||
|
|
||||||
class Manager implements \OCP\Calendar\Resource\IManager {
|
class Manager implements \OCP\Calendar\Resource\IManager {
|
||||||
|
|
||||||
|
/** @var IServerContainer */
|
||||||
|
private $server;
|
||||||
|
|
||||||
/** @var string[] holds all registered resource backends */
|
/** @var string[] holds all registered resource backends */
|
||||||
private $backends = [];
|
private $backends = [];
|
||||||
|
|
||||||
/** @var IBackend[] holds all backends that have been initialized already */
|
/** @var IBackend[] holds all backends that have been initialized already */
|
||||||
private $initializedBackends = [];
|
private $initializedBackends = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Manager constructor.
|
||||||
|
*
|
||||||
|
* @param IServerContainer $server
|
||||||
|
*/
|
||||||
|
public function __construct(IServerContainer $server) {
|
||||||
|
$this->server = $server;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Registers a resource backend
|
* Registers a resource backend
|
||||||
*
|
*
|
||||||
|
@ -66,7 +79,7 @@ class Manager implements \OCP\Calendar\Resource\IManager {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->initializedBackends[$backend] = \OC::$server->query($backend);
|
$this->initializedBackends[$backend] = $this->server->query($backend);
|
||||||
}
|
}
|
||||||
|
|
||||||
return array_values($this->initializedBackends);
|
return array_values($this->initializedBackends);
|
||||||
|
|
|
@ -24,15 +24,28 @@
|
||||||
namespace OC\Calendar\Room;
|
namespace OC\Calendar\Room;
|
||||||
|
|
||||||
use OCP\Calendar\Room\IBackend;
|
use OCP\Calendar\Room\IBackend;
|
||||||
|
use OCP\IServerContainer;
|
||||||
|
|
||||||
class Manager implements \OCP\Calendar\Room\IManager {
|
class Manager implements \OCP\Calendar\Room\IManager {
|
||||||
|
|
||||||
|
/** @var IServerContainer */
|
||||||
|
private $server;
|
||||||
|
|
||||||
/** @var string[] holds all registered resource backends */
|
/** @var string[] holds all registered resource backends */
|
||||||
private $backends = [];
|
private $backends = [];
|
||||||
|
|
||||||
/** @var IBackend[] holds all backends that have been initialized already */
|
/** @var IBackend[] holds all backends that have been initialized already */
|
||||||
private $initializedBackends = [];
|
private $initializedBackends = [];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Manager constructor.
|
||||||
|
*
|
||||||
|
* @param IServerContainer $server
|
||||||
|
*/
|
||||||
|
public function __construct(IServerContainer $server) {
|
||||||
|
$this->server = $server;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Registers a resource backend
|
* Registers a resource backend
|
||||||
*
|
*
|
||||||
|
@ -66,7 +79,7 @@ class Manager implements \OCP\Calendar\Room\IManager {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->initializedBackends[$backend] = \OC::$server->query($backend);
|
$this->initializedBackends[$backend] = $this->server->query($backend);
|
||||||
}
|
}
|
||||||
|
|
||||||
return array_values($this->initializedBackends);
|
return array_values($this->initializedBackends);
|
||||||
|
|
|
@ -25,6 +25,7 @@ namespace Test\Calendar\Resource;
|
||||||
|
|
||||||
use \OC\Calendar\Resource\Manager;
|
use \OC\Calendar\Resource\Manager;
|
||||||
use \OCP\Calendar\Resource\IBackend;
|
use \OCP\Calendar\Resource\IBackend;
|
||||||
|
use OCP\IServerContainer;
|
||||||
use \Test\TestCase;
|
use \Test\TestCase;
|
||||||
|
|
||||||
class ManagerTest extends TestCase {
|
class ManagerTest extends TestCase {
|
||||||
|
@ -32,24 +33,30 @@ class ManagerTest extends TestCase {
|
||||||
/** @var Manager */
|
/** @var Manager */
|
||||||
private $manager;
|
private $manager;
|
||||||
|
|
||||||
|
/** @var IServerContainer */
|
||||||
|
private $server;
|
||||||
|
|
||||||
protected function setUp() {
|
protected function setUp() {
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
$this->manager = new Manager();
|
$this->server = $this->createMock(IServerContainer::class);
|
||||||
|
$this->manager = new Manager($this->server);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testRegisterUnregisterBackend() {
|
public function testRegisterUnregisterBackend() {
|
||||||
$backend1 = $this->createMock(IBackend::class);
|
$backend1 = $this->createMock(IBackend::class);
|
||||||
$backend1->method('getBackendIdentifier')->will($this->returnValue('backend_1'));
|
$backend1->method('getBackendIdentifier')->will($this->returnValue('backend_1'));
|
||||||
\OC::$server->registerService('calendar_resource_backend1', function () use ($backend1) {
|
$this->server->expects($this->at(0))
|
||||||
return $backend1;
|
->method('query')
|
||||||
});
|
->with('calendar_resource_backend1')
|
||||||
|
->will($this->returnValue($backend1));
|
||||||
|
|
||||||
$backend2 = $this->createMock(IBackend::class);
|
$backend2 = $this->createMock(IBackend::class);
|
||||||
$backend2->method('getBackendIdentifier')->will($this->returnValue('backend_2'));
|
$backend2->method('getBackendIdentifier')->will($this->returnValue('backend_2'));
|
||||||
\OC::$server->registerService('calendar_resource_backend2', function () use ($backend2) {
|
$this->server->expects($this->at(1))
|
||||||
return $backend2;
|
->method('query')
|
||||||
});
|
->with('calendar_resource_backend2')
|
||||||
|
->will($this->returnValue($backend2));
|
||||||
|
|
||||||
$this->manager->registerBackend('calendar_resource_backend1');
|
$this->manager->registerBackend('calendar_resource_backend1');
|
||||||
$this->manager->registerBackend('calendar_resource_backend2');
|
$this->manager->registerBackend('calendar_resource_backend2');
|
||||||
|
@ -68,15 +75,17 @@ class ManagerTest extends TestCase {
|
||||||
public function testGetBackend() {
|
public function testGetBackend() {
|
||||||
$backend1 = $this->createMock(IBackend::class);
|
$backend1 = $this->createMock(IBackend::class);
|
||||||
$backend1->method('getBackendIdentifier')->will($this->returnValue('backend_1'));
|
$backend1->method('getBackendIdentifier')->will($this->returnValue('backend_1'));
|
||||||
\OC::$server->registerService('calendar_resource_backend1', function () use ($backend1) {
|
$this->server->expects($this->at(0))
|
||||||
return $backend1;
|
->method('query')
|
||||||
});
|
->with('calendar_resource_backend1')
|
||||||
|
->will($this->returnValue($backend1));
|
||||||
|
|
||||||
$backend2 = $this->createMock(IBackend::class);
|
$backend2 = $this->createMock(IBackend::class);
|
||||||
$backend2->method('getBackendIdentifier')->will($this->returnValue('backend_2'));
|
$backend2->method('getBackendIdentifier')->will($this->returnValue('backend_2'));
|
||||||
\OC::$server->registerService('calendar_resource_backend2', function () use ($backend2) {
|
$this->server->expects($this->at(1))
|
||||||
return $backend2;
|
->method('query')
|
||||||
});
|
->with('calendar_resource_backend2')
|
||||||
|
->will($this->returnValue($backend2));
|
||||||
|
|
||||||
$this->manager->registerBackend('calendar_resource_backend1');
|
$this->manager->registerBackend('calendar_resource_backend1');
|
||||||
$this->manager->registerBackend('calendar_resource_backend2');
|
$this->manager->registerBackend('calendar_resource_backend2');
|
||||||
|
@ -88,15 +97,17 @@ class ManagerTest extends TestCase {
|
||||||
public function testClear() {
|
public function testClear() {
|
||||||
$backend1 = $this->createMock(IBackend::class);
|
$backend1 = $this->createMock(IBackend::class);
|
||||||
$backend1->method('getBackendIdentifier')->will($this->returnValue('backend_1'));
|
$backend1->method('getBackendIdentifier')->will($this->returnValue('backend_1'));
|
||||||
\OC::$server->registerService('calendar_resource_backend1', function () use ($backend1) {
|
$this->server->expects($this->at(0))
|
||||||
return $backend1;
|
->method('query')
|
||||||
});
|
->with('calendar_resource_backend1')
|
||||||
|
->will($this->returnValue($backend1));
|
||||||
|
|
||||||
$backend2 = $this->createMock(IBackend::class);
|
$backend2 = $this->createMock(IBackend::class);
|
||||||
$backend2->method('getBackendIdentifier')->will($this->returnValue('backend_2'));
|
$backend2->method('getBackendIdentifier')->will($this->returnValue('backend_2'));
|
||||||
\OC::$server->registerService('calendar_resource_backend2', function () use ($backend2) {
|
$this->server->expects($this->at(1))
|
||||||
return $backend2;
|
->method('query')
|
||||||
});
|
->with('calendar_resource_backend2')
|
||||||
|
->will($this->returnValue($backend2));
|
||||||
|
|
||||||
$this->manager->registerBackend('calendar_resource_backend1');
|
$this->manager->registerBackend('calendar_resource_backend1');
|
||||||
$this->manager->registerBackend('calendar_resource_backend2');
|
$this->manager->registerBackend('calendar_resource_backend2');
|
||||||
|
|
|
@ -25,6 +25,7 @@ namespace Test\Calendar\Room;
|
||||||
|
|
||||||
use \OC\Calendar\Room\Manager;
|
use \OC\Calendar\Room\Manager;
|
||||||
use \OCP\Calendar\Room\IBackend;
|
use \OCP\Calendar\Room\IBackend;
|
||||||
|
use OCP\IServerContainer;
|
||||||
use \Test\TestCase;
|
use \Test\TestCase;
|
||||||
|
|
||||||
class ManagerTest extends TestCase {
|
class ManagerTest extends TestCase {
|
||||||
|
@ -32,24 +33,30 @@ class ManagerTest extends TestCase {
|
||||||
/** @var Manager */
|
/** @var Manager */
|
||||||
private $manager;
|
private $manager;
|
||||||
|
|
||||||
|
/** @var IServerContainer */
|
||||||
|
private $server;
|
||||||
|
|
||||||
protected function setUp() {
|
protected function setUp() {
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
$this->manager = new Manager();
|
$this->server = $this->createMock(IServerContainer::class);
|
||||||
|
$this->manager = new Manager($this->server);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testRegisterUnregisterBackend() {
|
public function testRegisterUnregisterBackend() {
|
||||||
$backend1 = $this->createMock(IBackend::class);
|
$backend1 = $this->createMock(IBackend::class);
|
||||||
$backend1->method('getBackendIdentifier')->will($this->returnValue('backend_1'));
|
$backend1->method('getBackendIdentifier')->will($this->returnValue('backend_1'));
|
||||||
\OC::$server->registerService('calendar_room_backend1', function () use ($backend1) {
|
$this->server->expects($this->at(0))
|
||||||
return $backend1;
|
->method('query')
|
||||||
});
|
->with('calendar_room_backend1')
|
||||||
|
->will($this->returnValue($backend1));
|
||||||
|
|
||||||
$backend2 = $this->createMock(IBackend::class);
|
$backend2 = $this->createMock(IBackend::class);
|
||||||
$backend2->method('getBackendIdentifier')->will($this->returnValue('backend_2'));
|
$backend2->method('getBackendIdentifier')->will($this->returnValue('backend_2'));
|
||||||
\OC::$server->registerService('calendar_room_backend2', function () use ($backend2) {
|
$this->server->expects($this->at(1))
|
||||||
return $backend2;
|
->method('query')
|
||||||
});
|
->with('calendar_room_backend2')
|
||||||
|
->will($this->returnValue($backend2));
|
||||||
|
|
||||||
$this->manager->registerBackend('calendar_room_backend1');
|
$this->manager->registerBackend('calendar_room_backend1');
|
||||||
$this->manager->registerBackend('calendar_room_backend2');
|
$this->manager->registerBackend('calendar_room_backend2');
|
||||||
|
@ -68,15 +75,17 @@ class ManagerTest extends TestCase {
|
||||||
public function testGetBackend() {
|
public function testGetBackend() {
|
||||||
$backend1 = $this->createMock(IBackend::class);
|
$backend1 = $this->createMock(IBackend::class);
|
||||||
$backend1->method('getBackendIdentifier')->will($this->returnValue('backend_1'));
|
$backend1->method('getBackendIdentifier')->will($this->returnValue('backend_1'));
|
||||||
\OC::$server->registerService('calendar_room_backend1', function () use ($backend1) {
|
$this->server->expects($this->at(0))
|
||||||
return $backend1;
|
->method('query')
|
||||||
});
|
->with('calendar_room_backend1')
|
||||||
|
->will($this->returnValue($backend1));
|
||||||
|
|
||||||
$backend2 = $this->createMock(IBackend::class);
|
$backend2 = $this->createMock(IBackend::class);
|
||||||
$backend2->method('getBackendIdentifier')->will($this->returnValue('backend_2'));
|
$backend2->method('getBackendIdentifier')->will($this->returnValue('backend_2'));
|
||||||
\OC::$server->registerService('calendar_room_backend2', function () use ($backend2) {
|
$this->server->expects($this->at(1))
|
||||||
return $backend2;
|
->method('query')
|
||||||
});
|
->with('calendar_room_backend2')
|
||||||
|
->will($this->returnValue($backend2));
|
||||||
|
|
||||||
$this->manager->registerBackend('calendar_room_backend1');
|
$this->manager->registerBackend('calendar_room_backend1');
|
||||||
$this->manager->registerBackend('calendar_room_backend2');
|
$this->manager->registerBackend('calendar_room_backend2');
|
||||||
|
@ -88,15 +97,17 @@ class ManagerTest extends TestCase {
|
||||||
public function testClear() {
|
public function testClear() {
|
||||||
$backend1 = $this->createMock(IBackend::class);
|
$backend1 = $this->createMock(IBackend::class);
|
||||||
$backend1->method('getBackendIdentifier')->will($this->returnValue('backend_1'));
|
$backend1->method('getBackendIdentifier')->will($this->returnValue('backend_1'));
|
||||||
\OC::$server->registerService('calendar_room_backend1', function () use ($backend1) {
|
$this->server->expects($this->at(0))
|
||||||
return $backend1;
|
->method('query')
|
||||||
});
|
->with('calendar_room_backend1')
|
||||||
|
->will($this->returnValue($backend1));
|
||||||
|
|
||||||
$backend2 = $this->createMock(IBackend::class);
|
$backend2 = $this->createMock(IBackend::class);
|
||||||
$backend2->method('getBackendIdentifier')->will($this->returnValue('backend_2'));
|
$backend2->method('getBackendIdentifier')->will($this->returnValue('backend_2'));
|
||||||
\OC::$server->registerService('calendar_room_backend2', function () use ($backend2) {
|
$this->server->expects($this->at(1))
|
||||||
return $backend2;
|
->method('query')
|
||||||
});
|
->with('calendar_room_backend2')
|
||||||
|
->will($this->returnValue($backend2));
|
||||||
|
|
||||||
$this->manager->registerBackend('calendar_room_backend1');
|
$this->manager->registerBackend('calendar_room_backend1');
|
||||||
$this->manager->registerBackend('calendar_room_backend2');
|
$this->manager->registerBackend('calendar_room_backend2');
|
||||||
|
|
Loading…
Reference in New Issue