|
|
|
|
@ -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']);
|
|
|
|
|
|
|
|
|
|
|