Skip to content

Commit 6bf4822

Browse files
committed
fix(testing): implement getExpectedRuntime on FakeTextProcessingProvider
Signed-off-by: Julius Härtl <jus@bitgrid.net>
1 parent 4dc224f commit 6bf4822

5 files changed

Lines changed: 55 additions & 1 deletion

File tree

apps/testing/composer/composer/autoload_classmap.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,6 @@
1515
'OCA\\Testing\\Locking\\FakeDBLockingProvider' => $baseDir . '/../lib/Locking/FakeDBLockingProvider.php',
1616
'OCA\\Testing\\Provider\\FakeText2ImageProvider' => $baseDir . '/../lib/Provider/FakeText2ImageProvider.php',
1717
'OCA\\Testing\\Provider\\FakeTextProcessingProvider' => $baseDir . '/../lib/Provider/FakeTextProcessingProvider.php',
18+
'OCA\\Testing\\Provider\\FakeTextProcessingProviderSync' => $baseDir . '/../lib/Provider/FakeTextProcessingProviderSync.php',
1819
'OCA\\Testing\\Provider\\FakeTranslationProvider' => $baseDir . '/../lib/Provider/FakeTranslationProvider.php',
1920
);

apps/testing/composer/composer/autoload_static.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ class ComposerStaticInitTesting
3030
'OCA\\Testing\\Locking\\FakeDBLockingProvider' => __DIR__ . '/..' . '/../lib/Locking/FakeDBLockingProvider.php',
3131
'OCA\\Testing\\Provider\\FakeText2ImageProvider' => __DIR__ . '/..' . '/../lib/Provider/FakeText2ImageProvider.php',
3232
'OCA\\Testing\\Provider\\FakeTextProcessingProvider' => __DIR__ . '/..' . '/../lib/Provider/FakeTextProcessingProvider.php',
33+
'OCA\\Testing\\Provider\\FakeTextProcessingProviderSync' => __DIR__ . '/..' . '/../lib/Provider/FakeTextProcessingProviderSync.php',
3334
'OCA\\Testing\\Provider\\FakeTranslationProvider' => __DIR__ . '/..' . '/../lib/Provider/FakeTranslationProvider.php',
3435
);
3536

apps/testing/lib/AppInfo/Application.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
use OCA\Testing\AlternativeHomeUserBackend;
2828
use OCA\Testing\Provider\FakeText2ImageProvider;
2929
use OCA\Testing\Provider\FakeTextProcessingProvider;
30+
use OCA\Testing\Provider\FakeTextProcessingProviderSync;
3031
use OCA\Testing\Provider\FakeTranslationProvider;
3132
use OCP\AppFramework\App;
3233
use OCP\AppFramework\Bootstrap\IBootContext;
@@ -41,6 +42,7 @@ public function __construct(array $urlParams = []) {
4142
public function register(IRegistrationContext $context): void {
4243
$context->registerTranslationProvider(FakeTranslationProvider::class);
4344
$context->registerTextProcessingProvider(FakeTextProcessingProvider::class);
45+
$context->registerTextProcessingProvider(FakeTextProcessingProviderSync::class);
4446
$context->registerTextToImageProvider(FakeText2ImageProvider::class);
4547
}
4648

apps/testing/lib/Provider/FakeTextProcessingProvider.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
class FakeTextProcessingProvider implements IProvider {
3131

3232
public function getName(): string {
33-
return 'Fake text processing provider';
33+
return 'Fake text processing provider (asynchronous)';
3434
}
3535

3636
public function process(string $prompt): string {
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
<?php
2+
/**
3+
* @copyright Copyright (c) 2023 Julius Härtl <jus@bitgrid.net>
4+
*
5+
* @author Julius Härtl <jus@bitgrid.net>
6+
*
7+
* @license GNU AGPL version 3 or any later version
8+
*
9+
* This program is free software: you can redistribute it and/or modify
10+
* it under the terms of the GNU Affero General Public License as
11+
* published by the Free Software Foundation, either version 3 of the
12+
* License, or (at your option) any later version.
13+
*
14+
* This program is distributed in the hope that it will be useful,
15+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17+
* GNU Affero General Public License for more details.
18+
*
19+
* You should have received a copy of the GNU Affero General Public License
20+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
21+
*/
22+
23+
namespace OCA\Testing\Provider;
24+
25+
use OCP\TextProcessing\FreePromptTaskType;
26+
use OCP\TextProcessing\IProvider;
27+
use OCP\TextProcessing\IProviderWithExpectedRuntime;
28+
use OCP\TextProcessing\ITaskType;
29+
30+
/**
31+
* @template-implements IProviderWithExpectedRuntime<FreePromptTaskType|ITaskType>
32+
*/
33+
class FakeTextProcessingProviderSync implements IProviderWithExpectedRuntime {
34+
35+
public function getName(): string {
36+
return 'Fake text processing provider (synchronous)';
37+
}
38+
39+
public function process(string $prompt): string {
40+
return strrev($prompt);
41+
}
42+
43+
public function getTaskType(): string {
44+
return FreePromptTaskType::class;
45+
}
46+
47+
public function getExpectedRuntime(): int {
48+
return 1;
49+
}
50+
}

0 commit comments

Comments
 (0)