From 8ab47b64b5fd4ec921d167e418768eae108a9041 Mon Sep 17 00:00:00 2001 From: Marcel Klehr Date: Fri, 20 Oct 2023 13:13:48 +0200 Subject: enh(testing app): Add fake text2image provider Signed-off-by: Marcel Klehr --- apps/testing/lib/AppInfo/Application.php | 2 + .../lib/Provider/FakeText2ImageProvider.php | 43 ++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 apps/testing/lib/Provider/FakeText2ImageProvider.php (limited to 'apps/testing/lib') diff --git a/apps/testing/lib/AppInfo/Application.php b/apps/testing/lib/AppInfo/Application.php index 98c211acaab..a92caeb245a 100644 --- a/apps/testing/lib/AppInfo/Application.php +++ b/apps/testing/lib/AppInfo/Application.php @@ -25,6 +25,7 @@ namespace OCA\Testing\AppInfo; use OCA\Testing\AlternativeHomeUserBackend; +use OCA\Testing\Provider\FakeText2ImageProvider; use OCA\Testing\Provider\FakeTranslationProvider; use OCA\Testing\Provider\FakeTextProcessingProvider; use OCP\AppFramework\App; @@ -40,6 +41,7 @@ class Application extends App implements IBootstrap { public function register(IRegistrationContext $context): void { $context->registerTranslationProvider(FakeTranslationProvider::class); $context->registerTextProcessingProvider(FakeTextProcessingProvider::class); + $context->registerTextToImageProvider(FakeText2ImageProvider::class); } public function boot(IBootContext $context): void { diff --git a/apps/testing/lib/Provider/FakeText2ImageProvider.php b/apps/testing/lib/Provider/FakeText2ImageProvider.php new file mode 100644 index 00000000000..20efe427e16 --- /dev/null +++ b/apps/testing/lib/Provider/FakeText2ImageProvider.php @@ -0,0 +1,43 @@ + + * + * @author Marcel Klehr + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +namespace OCA\Testing\Provider; + +use OCP\TextToImage\IProvider; + +class FakeText2ImageProvider implements IProvider { + + public function getName(): string { + return 'Fake Text2Image provider'; + } + + public function generate(string $prompt, array $resources): void { + foreach ($resources as $resource) { + $read = fopen(__DIR__ . '/../../img/logo.png', 'r'); + stream_copy_to_stream($read, $resource); + } + } + + public function getExpectedRuntime(): int { + return 1; + } +} -- cgit v1.2.3