|
|
@@ -13,6 +13,8 @@ use OC\AllConfig; |
|
|
|
use OC\User\Database; |
|
|
|
use OC\User\Manager; |
|
|
|
use OCP\EventDispatcher\IEventDispatcher; |
|
|
|
use OCP\ICache; |
|
|
|
use OCP\ICacheFactory; |
|
|
|
use OCP\IConfig; |
|
|
|
use OCP\IUser; |
|
|
|
use Symfony\Component\EventDispatcher\EventDispatcherInterface; |
|
|
@@ -33,6 +35,10 @@ class ManagerTest extends TestCase { |
|
|
|
private $oldDispatcher; |
|
|
|
/** @var IEventDispatcher */ |
|
|
|
private $eventDispatcher; |
|
|
|
/** @var ICacheFactory */ |
|
|
|
private $cacheFactory; |
|
|
|
/** @var ICache */ |
|
|
|
private $cache; |
|
|
|
|
|
|
|
protected function setUp(): void { |
|
|
|
parent::setUp(); |
|
|
@@ -40,11 +46,17 @@ class ManagerTest extends TestCase { |
|
|
|
$this->config = $this->createMock(IConfig::class); |
|
|
|
$this->oldDispatcher = $this->createMock(EventDispatcherInterface::class); |
|
|
|
$this->eventDispatcher = $this->createMock(IEventDispatcher::class); |
|
|
|
$this->cacheFactory = $this->createMock(ICacheFactory::class); |
|
|
|
$this->cache = $this->createMock(ICache::class); |
|
|
|
|
|
|
|
$this->cacheFactory->method('createDistributed') |
|
|
|
->with('user_backend_map') |
|
|
|
->willReturn($this->cache); |
|
|
|
} |
|
|
|
|
|
|
|
public function testGetBackends() { |
|
|
|
$userDummyBackend = $this->createMock(\Test\Util\User\Dummy::class); |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->eventDispatcher); |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher); |
|
|
|
$manager->registerBackend($userDummyBackend); |
|
|
|
$this->assertEquals([$userDummyBackend], $manager->getBackends()); |
|
|
|
$dummyDatabaseBackend = $this->createMock(Database::class); |
|
|
@@ -63,7 +75,7 @@ class ManagerTest extends TestCase { |
|
|
|
->with($this->equalTo('foo')) |
|
|
|
->willReturn(true); |
|
|
|
|
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->eventDispatcher); |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher); |
|
|
|
$manager->registerBackend($backend); |
|
|
|
|
|
|
|
$this->assertTrue($manager->userExists('foo')); |
|
|
@@ -79,14 +91,14 @@ class ManagerTest extends TestCase { |
|
|
|
->with($this->equalTo('foo')) |
|
|
|
->willReturn(false); |
|
|
|
|
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->eventDispatcher); |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher); |
|
|
|
$manager->registerBackend($backend); |
|
|
|
|
|
|
|
$this->assertFalse($manager->userExists('foo')); |
|
|
|
} |
|
|
|
|
|
|
|
public function testUserExistsNoBackends() { |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->eventDispatcher); |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher); |
|
|
|
|
|
|
|
$this->assertFalse($manager->userExists('foo')); |
|
|
|
} |
|
|
@@ -110,7 +122,7 @@ class ManagerTest extends TestCase { |
|
|
|
->with($this->equalTo('foo')) |
|
|
|
->willReturn(true); |
|
|
|
|
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->eventDispatcher); |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher); |
|
|
|
$manager->registerBackend($backend1); |
|
|
|
$manager->registerBackend($backend2); |
|
|
|
|
|
|
@@ -134,7 +146,7 @@ class ManagerTest extends TestCase { |
|
|
|
$backend2->expects($this->never()) |
|
|
|
->method('userExists'); |
|
|
|
|
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->eventDispatcher); |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher); |
|
|
|
$manager->registerBackend($backend1); |
|
|
|
$manager->registerBackend($backend2); |
|
|
|
|
|
|
@@ -161,7 +173,7 @@ class ManagerTest extends TestCase { |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->eventDispatcher); |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher); |
|
|
|
$manager->registerBackend($backend); |
|
|
|
|
|
|
|
$user = $manager->checkPassword('foo', 'bar'); |
|
|
@@ -180,7 +192,7 @@ class ManagerTest extends TestCase { |
|
|
|
->method('implementsActions') |
|
|
|
->willReturn(false); |
|
|
|
|
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->eventDispatcher); |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher); |
|
|
|
$manager->registerBackend($backend); |
|
|
|
|
|
|
|
$this->assertFalse($manager->checkPassword('foo', 'bar')); |
|
|
@@ -198,7 +210,7 @@ class ManagerTest extends TestCase { |
|
|
|
$backend->expects($this->never()) |
|
|
|
->method('loginName2UserName'); |
|
|
|
|
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->eventDispatcher); |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher); |
|
|
|
$manager->registerBackend($backend); |
|
|
|
|
|
|
|
$this->assertEquals('foo', $manager->get('foo')->getUID()); |
|
|
@@ -214,7 +226,7 @@ class ManagerTest extends TestCase { |
|
|
|
->with($this->equalTo('foo')) |
|
|
|
->willReturn(false); |
|
|
|
|
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->eventDispatcher); |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher); |
|
|
|
$manager->registerBackend($backend); |
|
|
|
|
|
|
|
$this->assertEquals(null, $manager->get('foo')); |
|
|
@@ -232,7 +244,7 @@ class ManagerTest extends TestCase { |
|
|
|
$backend->expects($this->never()) |
|
|
|
->method('loginName2UserName'); |
|
|
|
|
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->eventDispatcher); |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher); |
|
|
|
$manager->registerBackend($backend); |
|
|
|
|
|
|
|
$this->assertEquals('bLeNdEr', $manager->get('bLeNdEr')->getUID()); |
|
|
@@ -250,7 +262,7 @@ class ManagerTest extends TestCase { |
|
|
|
$backend->expects($this->never()) |
|
|
|
->method('loginName2UserName'); |
|
|
|
|
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->eventDispatcher); |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher); |
|
|
|
$manager->registerBackend($backend); |
|
|
|
|
|
|
|
$result = $manager->search('fo'); |
|
|
@@ -284,7 +296,7 @@ class ManagerTest extends TestCase { |
|
|
|
$backend2->expects($this->never()) |
|
|
|
->method('loginName2UserName'); |
|
|
|
|
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->eventDispatcher); |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher); |
|
|
|
$manager->registerBackend($backend1); |
|
|
|
$manager->registerBackend($backend2); |
|
|
|
|
|
|
@@ -338,7 +350,7 @@ class ManagerTest extends TestCase { |
|
|
|
->willReturn(true); |
|
|
|
|
|
|
|
|
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->eventDispatcher); |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher); |
|
|
|
$manager->registerBackend($backend); |
|
|
|
|
|
|
|
$this->expectException(\InvalidArgumentException::class, $exception); |
|
|
@@ -365,7 +377,7 @@ class ManagerTest extends TestCase { |
|
|
|
$backend->expects($this->never()) |
|
|
|
->method('loginName2UserName'); |
|
|
|
|
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->eventDispatcher); |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher); |
|
|
|
$manager->registerBackend($backend); |
|
|
|
|
|
|
|
$user = $manager->createUser('foo', 'bar'); |
|
|
@@ -392,7 +404,7 @@ class ManagerTest extends TestCase { |
|
|
|
->with($this->equalTo('foo')) |
|
|
|
->willReturn(true); |
|
|
|
|
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->eventDispatcher); |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher); |
|
|
|
$manager->registerBackend($backend); |
|
|
|
|
|
|
|
$manager->createUser('foo', 'bar'); |
|
|
@@ -413,14 +425,14 @@ class ManagerTest extends TestCase { |
|
|
|
$backend->expects($this->never()) |
|
|
|
->method('userExists'); |
|
|
|
|
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->eventDispatcher); |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher); |
|
|
|
$manager->registerBackend($backend); |
|
|
|
|
|
|
|
$this->assertFalse($manager->createUser('foo', 'bar')); |
|
|
|
} |
|
|
|
|
|
|
|
public function testCreateUserNoBackends() { |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->eventDispatcher); |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher); |
|
|
|
|
|
|
|
$this->assertFalse($manager->createUser('foo', 'bar')); |
|
|
|
} |
|
|
@@ -440,7 +452,7 @@ class ManagerTest extends TestCase { |
|
|
|
->with('MyUid', 'MyPassword') |
|
|
|
->willReturn(false); |
|
|
|
|
|
|
|
$manager = new Manager($this->config, $this->oldDispatcher, $this->eventDispatcher); |
|
|
|
$manager = new Manager($this->config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher); |
|
|
|
$manager->createUserFromBackend('MyUid', 'MyPassword', $backend); |
|
|
|
} |
|
|
|
|
|
|
@@ -480,7 +492,7 @@ class ManagerTest extends TestCase { |
|
|
|
->with($this->equalTo('foo')) |
|
|
|
->willReturn(true); |
|
|
|
|
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->eventDispatcher); |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher); |
|
|
|
$manager->registerBackend($backend1); |
|
|
|
$manager->registerBackend($backend2); |
|
|
|
|
|
|
@@ -488,7 +500,7 @@ class ManagerTest extends TestCase { |
|
|
|
} |
|
|
|
|
|
|
|
public function testCountUsersNoBackend() { |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->eventDispatcher); |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher); |
|
|
|
|
|
|
|
$result = $manager->countUsers(); |
|
|
|
$this->assertTrue(is_array($result)); |
|
|
@@ -513,7 +525,7 @@ class ManagerTest extends TestCase { |
|
|
|
->method('getBackendName') |
|
|
|
->willReturn('Mock_Test_Util_User_Dummy'); |
|
|
|
|
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->eventDispatcher); |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher); |
|
|
|
$manager->registerBackend($backend); |
|
|
|
|
|
|
|
$result = $manager->countUsers(); |
|
|
@@ -554,7 +566,7 @@ class ManagerTest extends TestCase { |
|
|
|
->method('getBackendName') |
|
|
|
->willReturn('Mock_Test_Util_User_Dummy'); |
|
|
|
|
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->eventDispatcher); |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher); |
|
|
|
$manager->registerBackend($backend1); |
|
|
|
$manager->registerBackend($backend2); |
|
|
|
|
|
|
@@ -655,7 +667,7 @@ class ManagerTest extends TestCase { |
|
|
|
} |
|
|
|
|
|
|
|
public function testDeleteUser() { |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->eventDispatcher); |
|
|
|
$manager = new \OC\User\Manager($this->config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher); |
|
|
|
$backend = new \Test\Util\User\Dummy(); |
|
|
|
|
|
|
|
$manager->registerBackend($backend); |
|
|
@@ -689,7 +701,7 @@ class ManagerTest extends TestCase { |
|
|
|
->with($this->equalTo('uid2')) |
|
|
|
->willReturn(true); |
|
|
|
|
|
|
|
$manager = new \OC\User\Manager($config, $this->oldDispatcher, $this->eventDispatcher); |
|
|
|
$manager = new \OC\User\Manager($config, $this->oldDispatcher, $this->cacheFactory, $this->eventDispatcher); |
|
|
|
$manager->registerBackend($backend); |
|
|
|
|
|
|
|
$users = $manager->getByEmail('test@example.com'); |