diff --git a/tests/lib/TaskProcessing/TaskProcessingTest.php b/tests/lib/TaskProcessing/TaskProcessingTest.php index d2f619da349..8b7dba22dea 100644 --- a/tests/lib/TaskProcessing/TaskProcessingTest.php +++ b/tests/lib/TaskProcessing/TaskProcessingTest.php @@ -632,6 +632,7 @@ class TaskProcessingTest extends \Test\TestCase { public function testShouldNotHaveAnyProviders(): void { $this->registrationContext->expects($this->any())->method('getTaskProcessingProviders')->willReturn([]); self::assertCount(0, $this->manager->getAvailableTaskTypes()); + self::assertCount(0, $this->manager->getAvailableTaskTypeIds()); self::assertFalse($this->manager->hasProviders()); self::expectException(PreConditionNotMetException::class); $this->manager->scheduleTask(new Task(TextToText::ID, ['input' => 'Hello'], 'test', null)); @@ -647,6 +648,8 @@ class TaskProcessingTest extends \Test\TestCase { $this->appConfig->setValueString('core', 'ai.taskprocessing_type_preferences', json_encode($taskProcessingTypeSettings), lazy: true); self::assertCount(0, $this->manager->getAvailableTaskTypes()); self::assertCount(1, $this->manager->getAvailableTaskTypes(true)); + self::assertCount(0, $this->manager->getAvailableTaskTypeIds()); + self::assertCount(1, $this->manager->getAvailableTaskTypeIds(true)); self::assertTrue($this->manager->hasProviders()); self::expectException(PreConditionNotMetException::class); $this->manager->scheduleTask(new Task(TextToText::ID, ['input' => 'Hello'], 'test', null)); @@ -659,6 +662,7 @@ class TaskProcessingTest extends \Test\TestCase { new ServiceRegistration('test', BrokenSyncProvider::class) ]); self::assertCount(1, $this->manager->getAvailableTaskTypes()); + self::assertCount(1, $this->manager->getAvailableTaskTypeIds()); self::assertTrue($this->manager->hasProviders()); $task = new Task(TextToText::ID, ['wrongInputKey' => 'Hello'], 'test', null); self::assertNull($task->getId()); @@ -680,6 +684,7 @@ class TaskProcessingTest extends \Test\TestCase { $this->userMountCache->expects($this->any())->method('getMountsForFileId')->willReturn([$mount]); self::assertCount(1, $this->manager->getAvailableTaskTypes()); + self::assertCount(1, $this->manager->getAvailableTaskTypeIds()); self::assertTrue($this->manager->hasProviders()); $audioId = $this->getFile('audioInput', 'Hello')->getId(); @@ -695,6 +700,7 @@ class TaskProcessingTest extends \Test\TestCase { new ServiceRegistration('test', FailingSyncProvider::class) ]); self::assertCount(1, $this->manager->getAvailableTaskTypes()); + self::assertCount(1, $this->manager->getAvailableTaskTypeIds()); self::assertTrue($this->manager->hasProviders()); $task = new Task(TextToText::ID, ['input' => 'Hello'], 'test', null); self::assertNull($task->getId()); @@ -723,6 +729,7 @@ class TaskProcessingTest extends \Test\TestCase { new ServiceRegistration('test', BrokenSyncProvider::class) ]); self::assertCount(1, $this->manager->getAvailableTaskTypes()); + self::assertCount(1, $this->manager->getAvailableTaskTypeIds()); self::assertTrue($this->manager->hasProviders()); $task = new Task(TextToText::ID, ['input' => 'Hello'], 'test', null); self::assertNull($task->getId()); @@ -751,6 +758,7 @@ class TaskProcessingTest extends \Test\TestCase { new ServiceRegistration('test', SuccessfulSyncProvider::class) ]); self::assertCount(1, $this->manager->getAvailableTaskTypes()); + self::assertCount(1, $this->manager->getAvailableTaskTypeIds()); $taskTypeStruct = $this->manager->getAvailableTaskTypes()[array_keys($this->manager->getAvailableTaskTypes())[0]]; self::assertTrue(isset($taskTypeStruct['inputShape']['input'])); self::assertEquals(EShapeType::Text, $taskTypeStruct['inputShape']['input']->getShapeType()); @@ -803,6 +811,7 @@ class TaskProcessingTest extends \Test\TestCase { $this->appConfig->setValueString('core', 'ai.taskprocessing_type_preferences', json_encode($taskProcessingTypeSettings), lazy: true); self::assertCount(1, $this->manager->getAvailableTaskTypes()); + self::assertCount(1, $this->manager->getAvailableTaskTypeIds()); self::assertTrue($this->manager->hasProviders()); $task = new Task(TextToText::ID, ['input' => 'Hello'], 'test', null); @@ -843,6 +852,7 @@ class TaskProcessingTest extends \Test\TestCase { $this->userMountCache->expects($this->any())->method('getMountsForFileId')->willReturn([$mount]); self::assertCount(1, $this->manager->getAvailableTaskTypes()); + self::assertCount(1, $this->manager->getAvailableTaskTypeIds()); self::assertTrue($this->manager->hasProviders()); $audioId = $this->getFile('audioInput', 'Hello')->getId(); @@ -893,6 +903,7 @@ class TaskProcessingTest extends \Test\TestCase { $mount->expects($this->any())->method('getUser')->willReturn($user); $this->userMountCache->expects($this->any())->method('getMountsForFileId')->willReturn([$mount]); self::assertCount(1, $this->manager->getAvailableTaskTypes()); + self::assertCount(1, $this->manager->getAvailableTaskTypeIds()); self::assertTrue($this->manager->hasProviders()); $audioId = $this->getFile('audioInput', 'Hello')->getId(); @@ -952,6 +963,7 @@ class TaskProcessingTest extends \Test\TestCase { new ServiceRegistration('test', SuccessfulSyncProvider::class) ]); self::assertCount(1, $this->manager->getAvailableTaskTypes()); + self::assertCount(1, $this->manager->getAvailableTaskTypeIds()); self::assertTrue($this->manager->hasProviders()); $task = new Task(TextToText::ID, ['input' => 'Hello'], 'test', null); $this->manager->scheduleTask($task); @@ -992,6 +1004,7 @@ class TaskProcessingTest extends \Test\TestCase { ]); $taskTypes = $this->manager->getAvailableTaskTypes(); self::assertCount(1, $taskTypes); + self::assertCount(1, $this->manager->getAvailableTaskTypeIds()); self::assertTrue(isset($taskTypes[TextToTextSummary::ID])); self::assertTrue($this->manager->hasProviders()); $task = new Task(TextToTextSummary::ID, ['input' => 'Hello'], 'test', null); @@ -1023,6 +1036,7 @@ class TaskProcessingTest extends \Test\TestCase { ]); $taskTypes = $this->manager->getAvailableTaskTypes(); self::assertCount(1, $taskTypes); + self::assertCount(1, $this->manager->getAvailableTaskTypeIds()); self::assertTrue(isset($taskTypes[TextToTextSummary::ID])); self::assertTrue($this->manager->hasProviders()); $task = new Task(TextToTextSummary::ID, ['input' => 'Hello'], 'test', null); @@ -1053,6 +1067,7 @@ class TaskProcessingTest extends \Test\TestCase { ]); $taskTypes = $this->manager->getAvailableTaskTypes(); self::assertCount(1, $taskTypes); + self::assertCount(1, $this->manager->getAvailableTaskTypeIds()); self::assertTrue(isset($taskTypes[TextToImage::ID])); self::assertTrue($this->manager->hasProviders()); $task = new Task(TextToImage::ID, ['input' => 'Hello', 'numberOfImages' => 3], 'test', null); @@ -1089,6 +1104,7 @@ class TaskProcessingTest extends \Test\TestCase { ]); $taskTypes = $this->manager->getAvailableTaskTypes(); self::assertCount(1, $taskTypes); + self::assertCount(1, $this->manager->getAvailableTaskTypeIds()); self::assertTrue(isset($taskTypes[TextToImage::ID])); self::assertTrue($this->manager->hasProviders()); $task = new Task(TextToImage::ID, ['input' => 'Hello', 'numberOfImages' => 3], 'test', null); @@ -1178,6 +1194,7 @@ class TaskProcessingTest extends \Test\TestCase { // Assert self::assertArrayHasKey(ExternalTaskType::ID, $availableTypes); + self::assertContains(ExternalTaskType::ID, $this->manager->getAvailableTaskTypeIds()); self::assertEquals(ExternalTaskType::ID, $externalProvider->getTaskTypeId(), 'Test Sanity: Provider must handle the Task Type'); self::assertEquals('External Task Type via Event', $availableTypes[ExternalTaskType::ID]['name']); // Check if shapes match the external type/provider @@ -1230,11 +1247,14 @@ class TaskProcessingTest extends \Test\TestCase { // Act $availableTypes = $this->manager->getAvailableTaskTypes(); + $availableTypeIds = $this->manager->getAvailableTaskTypeIds(); // Assert: Both task types should be available + self::assertContains(AudioToImage::ID, $availableTypeIds); self::assertArrayHasKey(AudioToImage::ID, $availableTypes); self::assertEquals(AudioToImage::class, $availableTypes[AudioToImage::ID]['name']); + self::assertContains(ExternalTaskType::ID, $availableTypeIds); self::assertArrayHasKey(ExternalTaskType::ID, $availableTypes); self::assertEquals('External Task Type via Event', $availableTypes[ExternalTaskType::ID]['name']);