Browse Source

test(fakeAI): Allow to specify whether the fake providers should fail

Signed-off-by: Joas Schilling <coding@schilljs.com>
pull/49358/head
Joas Schilling 1 year ago
committed by backportbot[bot]
parent
commit
a2e672b701
  1. 10
      apps/testing/lib/TaskProcessing/FakeContextWriteProvider.php
  2. 10
      apps/testing/lib/TaskProcessing/FakeTextToImageProvider.php
  3. 10
      apps/testing/lib/TaskProcessing/FakeTextToTextProvider.php
  4. 10
      apps/testing/lib/TaskProcessing/FakeTextToTextSummaryProvider.php
  5. 7
      apps/testing/lib/TaskProcessing/FakeTranscribeProvider.php
  6. 7
      apps/testing/lib/TaskProcessing/FakeTranslateProvider.php

10
apps/testing/lib/TaskProcessing/FakeContextWriteProvider.php

@ -9,7 +9,9 @@ declare(strict_types=1);
namespace OCA\Testing\TaskProcessing;
use OCA\Testing\AppInfo\Application;
use OCP\AppFramework\Services\IAppConfig;
use OCP\TaskProcessing\EShapeType;
use OCP\TaskProcessing\Exception\ProcessingException;
use OCP\TaskProcessing\ISynchronousProvider;
use OCP\TaskProcessing\ShapeDescriptor;
use OCP\TaskProcessing\ShapeEnumValue;
@ -18,7 +20,9 @@ use RuntimeException;
class FakeContextWriteProvider implements ISynchronousProvider {
public function __construct() {
public function __construct(
protected IAppConfig $appConfig,
) {
}
public function getId(): string {
@ -90,6 +94,10 @@ class FakeContextWriteProvider implements ISynchronousProvider {
}
public function process(?string $userId, array $input, callable $reportProgress): array {
if ($this->appConfig->getAppValueBool('fail-' . $this->getId())) {
throw new ProcessingException('Failing as set by AppConfig');
}
if (
!isset($input['style_input']) || !is_string($input['style_input'])
|| !isset($input['source_input']) || !is_string($input['source_input'])

10
apps/testing/lib/TaskProcessing/FakeTextToImageProvider.php

@ -9,7 +9,9 @@ declare(strict_types=1);
namespace OCA\Testing\TaskProcessing;
use OCA\Testing\AppInfo\Application;
use OCP\AppFramework\Services\IAppConfig;
use OCP\TaskProcessing\EShapeType;
use OCP\TaskProcessing\Exception\ProcessingException;
use OCP\TaskProcessing\ISynchronousProvider;
use OCP\TaskProcessing\ShapeDescriptor;
use OCP\TaskProcessing\TaskTypes\TextToImage;
@ -17,7 +19,9 @@ use RuntimeException;
class FakeTextToImageProvider implements ISynchronousProvider {
public function __construct() {
public function __construct(
protected IAppConfig $appConfig,
) {
}
public function getId(): string {
@ -77,6 +81,10 @@ class FakeTextToImageProvider implements ISynchronousProvider {
}
public function process(?string $userId, array $input, callable $reportProgress): array {
if ($this->appConfig->getAppValueBool('fail-' . $this->getId())) {
throw new ProcessingException('Failing as set by AppConfig');
}
if (!isset($input['input']) || !is_string($input['input'])) {
throw new RuntimeException('Invalid prompt');
}

10
apps/testing/lib/TaskProcessing/FakeTextToTextProvider.php

@ -9,7 +9,9 @@ declare(strict_types=1);
namespace OCA\Testing\TaskProcessing;
use OCA\Testing\AppInfo\Application;
use OCP\AppFramework\Services\IAppConfig;
use OCP\TaskProcessing\EShapeType;
use OCP\TaskProcessing\Exception\ProcessingException;
use OCP\TaskProcessing\ISynchronousProvider;
use OCP\TaskProcessing\ShapeDescriptor;
use OCP\TaskProcessing\ShapeEnumValue;
@ -18,7 +20,9 @@ use RuntimeException;
class FakeTextToTextProvider implements ISynchronousProvider {
public function __construct() {
public function __construct(
protected IAppConfig $appConfig,
) {
}
public function getId(): string {
@ -90,6 +94,10 @@ class FakeTextToTextProvider implements ISynchronousProvider {
}
public function process(?string $userId, array $input, callable $reportProgress): array {
if ($this->appConfig->getAppValueBool('fail-' . $this->getId())) {
throw new ProcessingException('Failing as set by AppConfig');
}
if (isset($input['model']) && is_string($input['model'])) {
$model = $input['model'];
} else {

10
apps/testing/lib/TaskProcessing/FakeTextToTextSummaryProvider.php

@ -10,7 +10,9 @@ declare(strict_types=1);
namespace OCA\Testing\TaskProcessing;
use OCA\Testing\AppInfo\Application;
use OCP\AppFramework\Services\IAppConfig;
use OCP\TaskProcessing\EShapeType;
use OCP\TaskProcessing\Exception\ProcessingException;
use OCP\TaskProcessing\ISynchronousProvider;
use OCP\TaskProcessing\ShapeDescriptor;
use OCP\TaskProcessing\ShapeEnumValue;
@ -19,7 +21,9 @@ use RuntimeException;
class FakeTextToTextSummaryProvider implements ISynchronousProvider {
public function __construct() {
public function __construct(
protected IAppConfig $appConfig,
) {
}
public function getId(): string {
@ -91,6 +95,10 @@ class FakeTextToTextSummaryProvider implements ISynchronousProvider {
}
public function process(?string $userId, array $input, callable $reportProgress): array {
if ($this->appConfig->getAppValueBool('fail-' . $this->getId())) {
throw new ProcessingException('Failing as set by AppConfig');
}
if (isset($input['model']) && is_string($input['model'])) {
$model = $input['model'];
} else {

7
apps/testing/lib/TaskProcessing/FakeTranscribeProvider.php

@ -9,7 +9,9 @@ declare(strict_types=1);
namespace OCA\Testing\TaskProcessing;
use OCA\Testing\AppInfo\Application;
use OCP\AppFramework\Services\IAppConfig;
use OCP\Files\File;
use OCP\TaskProcessing\Exception\ProcessingException;
use OCP\TaskProcessing\ISynchronousProvider;
use OCP\TaskProcessing\TaskTypes\AudioToText;
use RuntimeException;
@ -17,6 +19,7 @@ use RuntimeException;
class FakeTranscribeProvider implements ISynchronousProvider {
public function __construct(
protected IAppConfig $appConfig,
) {
}
@ -72,6 +75,10 @@ class FakeTranscribeProvider implements ISynchronousProvider {
if (!isset($input['input']) || !$input['input'] instanceof File || !$input['input']->isReadable()) {
throw new RuntimeException('Invalid input file');
}
if ($this->appConfig->getAppValueBool('fail-' . $this->getId())) {
throw new ProcessingException('Failing as set by AppConfig');
}
$inputFile = $input['input'];
$transcription = 'Fake transcription result';

7
apps/testing/lib/TaskProcessing/FakeTranslateProvider.php

@ -9,8 +9,10 @@ declare(strict_types=1);
namespace OCA\Testing\TaskProcessing;
use OCA\Testing\AppInfo\Application;
use OCP\AppFramework\Services\IAppConfig;
use OCP\L10N\IFactory;
use OCP\TaskProcessing\EShapeType;
use OCP\TaskProcessing\Exception\ProcessingException;
use OCP\TaskProcessing\ISynchronousProvider;
use OCP\TaskProcessing\ShapeDescriptor;
use OCP\TaskProcessing\ShapeEnumValue;
@ -21,6 +23,7 @@ class FakeTranslateProvider implements ISynchronousProvider {
public function __construct(
private IFactory $l10nFactory,
protected IAppConfig $appConfig,
) {
}
@ -113,6 +116,10 @@ class FakeTranslateProvider implements ISynchronousProvider {
}
public function process(?string $userId, array $input, callable $reportProgress): array {
if ($this->appConfig->getAppValueBool('fail-' . $this->getId())) {
throw new ProcessingException('Failing as set by AppConfig');
}
if (isset($input['model']) && is_string($input['model'])) {
$model = $input['model'];
} else {

Loading…
Cancel
Save