コード例 #1
0
ファイル: manager.php プロジェクト: evanjt/core
 public function testCountUsersTwoBackends()
 {
     /**
      * @var \Test\Util\User\Dummy | \PHPUnit_Framework_MockObject_MockObject $backend
      */
     $backend1 = $this->getMock('\\Test\\Util\\User\\Dummy');
     $backend1->expects($this->once())->method('countUsers')->will($this->returnValue(7));
     $backend1->expects($this->once())->method('implementsActions')->with(\OC_USER_BACKEND_COUNT_USERS)->will($this->returnValue(true));
     $backend1->expects($this->once())->method('getBackendName')->will($this->returnValue('Mock_Test_Util_User_Dummy'));
     $backend2 = $this->getMock('\\Test\\Util\\User\\Dummy');
     $backend2->expects($this->once())->method('countUsers')->will($this->returnValue(16));
     $backend2->expects($this->once())->method('implementsActions')->with(\OC_USER_BACKEND_COUNT_USERS)->will($this->returnValue(true));
     $backend2->expects($this->once())->method('getBackendName')->will($this->returnValue('Mock_Test_Util_User_Dummy'));
     $manager = new \OC\User\Manager();
     $manager->registerBackend($backend1);
     $manager->registerBackend($backend2);
     $result = $manager->countUsers();
     //because the backends have the same class name, only one value expected
     $this->assertEquals(1, count($result));
     $keys = array_keys($result);
     $this->assertTrue(strpos($keys[0], 'Mock_Test_Util_User_Dummy') !== false);
     $users = array_shift($result);
     //users from backends shall be summed up
     $this->assertEquals(7 + 16, $users);
 }