예제 #1
0
 /**
  * @dataProvider providesConfidentialClassificationData
  * @param $expectedChildren
  * @param $isShared
  */
 public function testPrivateClassification($expectedChildren, $isShared)
 {
     $calObject0 = ['uri' => 'event-0', 'classification' => CalDavBackend::CLASSIFICATION_PUBLIC];
     $calObject1 = ['uri' => 'event-1', 'classification' => CalDavBackend::CLASSIFICATION_CONFIDENTIAL];
     $calObject2 = ['uri' => 'event-2', 'classification' => CalDavBackend::CLASSIFICATION_PRIVATE];
     /** @var \PHPUnit_Framework_MockObject_MockObject | CalDavBackend $backend */
     $backend = $this->getMockBuilder('OCA\\DAV\\CalDAV\\CalDavBackend')->disableOriginalConstructor()->getMock();
     $backend->expects($this->any())->method('getCalendarObjects')->willReturn([$calObject0, $calObject1, $calObject2]);
     $backend->expects($this->any())->method('getMultipleCalendarObjects')->with(666, ['event-0', 'event-1', 'event-2'])->willReturn([$calObject0, $calObject1, $calObject2]);
     $backend->expects($this->any())->method('getCalendarObject')->willReturn($calObject2)->with(666, 'event-2');
     $calendarInfo = ['principaluri' => 'user2', 'id' => 666, 'uri' => 'cal'];
     if ($isShared) {
         $calendarInfo['{http://owncloud.org/ns}owner-principal'] = 'user1';
     }
     $c = new Calendar($backend, $calendarInfo, $this->l10n);
     $children = $c->getChildren();
     $this->assertEquals($expectedChildren, count($children));
     $children = $c->getMultipleChildren(['event-0', 'event-1', 'event-2']);
     $this->assertEquals($expectedChildren, count($children));
     $this->assertEquals(!$isShared, $c->childExists('event-2'));
 }