diff options
author | Côme Chilliet <come.chilliet@nextcloud.com> | 2023-03-03 10:35:50 +0100 |
---|---|---|
committer | Côme Chilliet (Rebase PR Action) <come-nc@users.noreply.github.com> | 2023-03-13 17:36:10 +0000 |
commit | 9b1d7794a826cd87d0dce77c9ba7691a71137e48 (patch) | |
tree | 41aa59fe2f36518314256a37ec6874e72052a774 /tests | |
parent | 4b79e75072f59d2ada4a95413e730a14fe461e9c (diff) | |
download | nextcloud-server-9b1d7794a826cd87d0dce77c9ba7691a71137e48.tar.gz nextcloud-server-9b1d7794a826cd87d0dce77c9ba7691a71137e48.zip |
Add chunking in SystemTagObjectMapper::getTagIdsForObjects
This avoids crashing on Oracle with more than 1000 objects
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/lib/SystemTag/SystemTagObjectMapperTest.php | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/tests/lib/SystemTag/SystemTagObjectMapperTest.php b/tests/lib/SystemTag/SystemTagObjectMapperTest.php index c988db69c30..e77709c781f 100644 --- a/tests/lib/SystemTag/SystemTagObjectMapperTest.php +++ b/tests/lib/SystemTag/SystemTagObjectMapperTest.php @@ -141,6 +141,17 @@ class SystemTagObjectMapperTest extends TestCase { $this->assertEquals([], $tagIdMapping); } + public function testGetTagIdsForALotOfObjects() { + $ids = range(1, 10500); + $tagIdMapping = $this->tagMapper->getTagIdsForObjects( + $ids, + 'testtype' + ); + + $this->assertEquals(10500, count($tagIdMapping)); + $this->assertEquals([$this->tag1->getId(), $this->tag2->getId()], $tagIdMapping[1]); + } + public function testGetObjectsForTags() { $objectIds = $this->tagMapper->getObjectIdsForTags( [$this->tag1->getId(), $this->tag2->getId(), $this->tag3->getId()], @@ -165,7 +176,7 @@ class SystemTagObjectMapperTest extends TestCase { ], $objectIds); } - + public function testGetObjectsForTagsLimitWithMultipleTags() { $this->expectException(\InvalidArgumentException::class); @@ -189,7 +200,7 @@ class SystemTagObjectMapperTest extends TestCase { ], $objectIds); } - + public function testGetObjectsForNonExistingTag() { $this->expectException(\OCP\SystemTag\TagNotFoundException::class); @@ -227,7 +238,7 @@ class SystemTagObjectMapperTest extends TestCase { $this->assertTrue(true, 'No error when reassigning/unassigning'); } - + public function testAssignNonExistingTags() { $this->expectException(\OCP\SystemTag\TagNotFoundException::class); @@ -254,7 +265,7 @@ class SystemTagObjectMapperTest extends TestCase { ], $tagIdMapping, 'None of the tags got assigned'); } - + public function testUnassignNonExistingTags() { $this->expectException(\OCP\SystemTag\TagNotFoundException::class); @@ -385,7 +396,7 @@ class SystemTagObjectMapperTest extends TestCase { ); } - + public function testHaveTagNonExisting() { $this->expectException(\OCP\SystemTag\TagNotFoundException::class); |