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