|
|
|
|
@ -24,6 +24,7 @@ namespace Test; |
|
|
|
|
use OC\CapabilitiesManager; |
|
|
|
|
use OCP\AppFramework\QueryException; |
|
|
|
|
use OCP\Capabilities\ICapability; |
|
|
|
|
use OCP\Capabilities\IPublicCapability; |
|
|
|
|
use OCP\ILogger; |
|
|
|
|
|
|
|
|
|
class CapabilitiesManagerTest extends TestCase { |
|
|
|
|
@ -35,6 +36,7 @@ class CapabilitiesManagerTest extends TestCase { |
|
|
|
|
private $logger; |
|
|
|
|
|
|
|
|
|
public function setUp() { |
|
|
|
|
parent::setUp(); |
|
|
|
|
$this->logger = $this->getMockBuilder('OCP\ILogger')->getMock(); |
|
|
|
|
$this->manager = new CapabilitiesManager($this->logger); |
|
|
|
|
} |
|
|
|
|
@ -59,6 +61,24 @@ class CapabilitiesManagerTest extends TestCase { |
|
|
|
|
$this->assertEquals(['foo' => 1], $res); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Test a public capabilitie |
|
|
|
|
*/ |
|
|
|
|
public function testPublicCapability() { |
|
|
|
|
$this->manager->registerCapability(function() { |
|
|
|
|
return new PublicSimpleCapability1(); |
|
|
|
|
}); |
|
|
|
|
$this->manager->registerCapability(function() { |
|
|
|
|
return new SimpleCapability2(); |
|
|
|
|
}); |
|
|
|
|
$this->manager->registerCapability(function() { |
|
|
|
|
return new SimpleCapability3(); |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
$res = $this->manager->getCapabilities(true); |
|
|
|
|
$this->assertEquals(['foo' => 1], $res); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Test that we need something that implents ICapability |
|
|
|
|
* @expectedException \InvalidArgumentException |
|
|
|
|
@ -160,6 +180,14 @@ class SimpleCapability3 implements ICapability { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
class PublicSimpleCapability1 implements IPublicCapability { |
|
|
|
|
public function getCapabilities() { |
|
|
|
|
return [ |
|
|
|
|
'foo' => 1 |
|
|
|
|
]; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
class NoCapability { |
|
|
|
|
public function getCapabilities() { |
|
|
|
|
return [ |
|
|
|
|
|