public function testRun() { $repair = new OldGroupMembershipShares($this->connection, $this->groupManager); $this->groupManager->expects($this->exactly(2))->method('isInGroup')->willReturnMap([['member', 'group', true], ['not-a-member', 'group', false]]); $parent = $this->createShare(Constants::SHARE_TYPE_GROUP, 'group', null); $group2 = $this->createShare(Constants::SHARE_TYPE_GROUP, 'group2', $parent); $user1 = $this->createShare(Constants::SHARE_TYPE_USER, 'user1', $parent); // \OC\Share\Constant::$shareTypeGroupUserUnique === 2 $member = $this->createShare(2, 'member', $parent); $notAMember = $this->createShare(2, 'not-a-member', $parent); $query = $this->connection->getQueryBuilder(); $result = $query->select('id')->from('share')->orderBy('id', 'ASC')->execute(); $rows = $result->fetchAll(); $this->assertSame([['id' => $parent], ['id' => $group2], ['id' => $user1], ['id' => $member], ['id' => $notAMember]], $rows); $result->closeCursor(); $repair->run(); $query = $this->connection->getQueryBuilder(); $result = $query->select('id')->from('share')->orderBy('id', 'ASC')->execute(); $rows = $result->fetchAll(); $this->assertSame([['id' => $parent], ['id' => $group2], ['id' => $user1], ['id' => $member]], $rows); $result->closeCursor(); }
public function testRun() { $repair = new OldGroupMembershipShares($this->connection, $this->groupManager); $this->groupManager->expects($this->exactly(2))->method('isInGroup')->willReturnMap([['member', 'group', true], ['not-a-member', 'group', false]]); $parent = $this->createShare(Constants::SHARE_TYPE_GROUP, 'group', null); $group2 = $this->createShare(Constants::SHARE_TYPE_GROUP, 'group2', $parent); $user1 = $this->createShare(Constants::SHARE_TYPE_USER, 'user1', $parent); // \OC\Share\Constant::$shareTypeGroupUserUnique === 2 $member = $this->createShare(2, 'member', $parent); $notAMember = $this->createShare(2, 'not-a-member', $parent); $query = $this->connection->getQueryBuilder(); $result = $query->select('id')->from('share')->orderBy('id', 'ASC')->execute(); $rows = $result->fetchAll(); $this->assertEquals([['id' => $parent], ['id' => $group2], ['id' => $user1], ['id' => $member], ['id' => $notAMember]], $rows); $result->closeCursor(); /** @var IOutput | \PHPUnit_Framework_MockObject_MockObject $outputMock */ $outputMock = $this->getMockBuilder('\\OCP\\Migration\\IOutput')->disableOriginalConstructor()->getMock(); $repair->run($outputMock); $query = $this->connection->getQueryBuilder(); $result = $query->select('id')->from('share')->orderBy('id', 'ASC')->execute(); $rows = $result->fetchAll(); $this->assertEquals([['id' => $parent], ['id' => $group2], ['id' => $user1], ['id' => $member]], $rows); $result->closeCursor(); }