Skip to content

Commit

Permalink
chore: fix test provider
Browse files Browse the repository at this point in the history
  • Loading branch information
darkskygit committed Apr 25, 2024
1 parent dcaf492 commit c983abc
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import { ClientOptions, OpenAI } from 'openai';
import {
ChatMessageRole,
CopilotCapability,
CopilotImageToImageProvider,
CopilotImageToTextProvider,
CopilotProviderType,
CopilotTextToEmbeddingProvider,
Expand All @@ -23,15 +22,13 @@ export class OpenAIProvider
CopilotTextToTextProvider,
CopilotTextToEmbeddingProvider,
CopilotTextToImageProvider,
CopilotImageToImageProvider,
CopilotImageToTextProvider
{
static readonly type = CopilotProviderType.OpenAI;
static readonly capabilities = [
CopilotCapability.TextToText,
CopilotCapability.TextToEmbedding,
CopilotCapability.TextToImage,
CopilotCapability.ImageToImage,
CopilotCapability.ImageToText,
];

Expand Down
10 changes: 7 additions & 3 deletions packages/backend/server/tests/copilot.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import {
CopilotProviderType,
} from '../src/plugins/copilot/types';
import { createTestingModule } from './utils';
import { TestProvider } from './utils/copilot';
import { MockCopilotTestProvider } from './utils/copilot';

const test = ava as TestFn<{
auth: AuthService;
Expand Down Expand Up @@ -402,11 +402,15 @@ test('should be able to get provider', async t => {

test('should be able to register test provider', async t => {
const { provider } = t.context;
registerCopilotProvider(TestProvider);
registerCopilotProvider(MockCopilotTestProvider);

const assertProvider = (cap: CopilotCapability) => {
const p = provider.getProviderByCapability(cap, 'test');
t.is(p?.type, CopilotProviderType.Test, 'should get test provider');
t.is(
p?.type,
CopilotProviderType.Test,
`should get test provider with ${cap}`
);
};

assertProvider(CopilotCapability.TextToText);
Expand Down
13 changes: 11 additions & 2 deletions packages/backend/server/tests/utils/copilot.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import {
} from '../../src/plugins/copilot/providers/openai';
import {
CopilotCapability,
CopilotImageToImageProvider,
CopilotImageToTextProvider,
CopilotProviderType,
CopilotTextToEmbeddingProvider,
Expand All @@ -19,22 +20,30 @@ import {
import { gql } from './common';
import { handleGraphQLError } from './utils';

export class TestProvider
export class MockCopilotTestProvider
extends OpenAIProvider
implements
CopilotTextToTextProvider,
CopilotTextToEmbeddingProvider,
CopilotTextToImageProvider,
CopilotImageToImageProvider,
CopilotImageToTextProvider
{
override readonly availableModels = ['test'];
static override readonly capabilities = [
CopilotCapability.TextToText,
CopilotCapability.TextToEmbedding,
CopilotCapability.TextToImage,
CopilotCapability.ImageToImage,
CopilotCapability.ImageToText,
];

override get type(): CopilotProviderType {
return CopilotProviderType.Test;
}

override getCapabilities(): CopilotCapability[] {
return TestProvider.capabilities;
return MockCopilotTestProvider.capabilities;
}

override isModelAvailable(model: string): boolean {
Expand Down

0 comments on commit c983abc

Please sign in to comment.