mirror of
https://github.com/foss42/apidash.git
synced 2025-12-02 10:49:49 +08:00
genai_testing: Expanded Testing Efforts
This commit is contained in:
@@ -7,7 +7,7 @@ import 'package:genai/interface/consts.dart';
|
||||
import 'package:genai/utils/ai_request_utils.dart';
|
||||
import 'package:better_networking/better_networking.dart';
|
||||
|
||||
const kTestingAPIKey = "AIzaSyAtmGxNxlbh_MokoDbMjHKDSW-gU6GCMOU";
|
||||
const kTestingAPIKey = "XXXXXXXXXXXX";
|
||||
|
||||
void main() {
|
||||
group('ai_request_utils', () {
|
||||
|
||||
74
packages/genai/test/utils.dart/available_models_test.dart
Normal file
74
packages/genai/test/utils.dart/available_models_test.dart
Normal file
@@ -0,0 +1,74 @@
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:genai/models/available_models.dart';
|
||||
import 'package:genai/interface/interface.dart';
|
||||
|
||||
void main() {
|
||||
group('AvailableModels', () {
|
||||
test('can parse from JSON and back', () {
|
||||
const jsonString = '''
|
||||
{
|
||||
"version": 1.0,
|
||||
"model_providers": [
|
||||
{
|
||||
"provider_id": "openai",
|
||||
"provider_name": "OpenAI",
|
||||
"source_url": "https://api.openai.com",
|
||||
"models": [
|
||||
{"id": "gpt-4", "name": "GPT-4"}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
''';
|
||||
|
||||
final models = availableModelsFromJson(jsonString);
|
||||
expect(models.version, 1.0);
|
||||
expect(models.modelProviders.length, 1);
|
||||
expect(models.modelProviders.first.providerName, "OpenAI");
|
||||
|
||||
final backToJson = availableModelsToJson(models);
|
||||
expect(backToJson.contains("GPT-4"), true);
|
||||
});
|
||||
|
||||
test('map getter returns map of providers', () {
|
||||
final provider = AIModelProvider(
|
||||
providerId: ModelAPIProvider.openai,
|
||||
providerName: "OpenAI",
|
||||
models: [const Model(id: "gpt-4", name: "GPT-4")],
|
||||
);
|
||||
|
||||
final available = AvailableModels(
|
||||
version: 1.0,
|
||||
modelProviders: [provider],
|
||||
);
|
||||
|
||||
expect(available.map.containsKey(ModelAPIProvider.openai), true);
|
||||
expect(available.map[ModelAPIProvider.openai]?.providerName, "OpenAI");
|
||||
});
|
||||
});
|
||||
|
||||
group('AIModelProvider', () {
|
||||
test(
|
||||
'toAiRequestModel returns default AIRequestModel with model override',
|
||||
() {
|
||||
const provider = AIModelProvider(
|
||||
providerId: ModelAPIProvider.openai,
|
||||
providerName: "OpenAI",
|
||||
);
|
||||
|
||||
const model = const Model(id: "gpt-4", name: "GPT-4");
|
||||
final req = provider.toAiRequestModel(model: model);
|
||||
|
||||
expect(req?.model, "gpt-4");
|
||||
},
|
||||
);
|
||||
});
|
||||
|
||||
group('Model', () {
|
||||
test('fromJson works', () {
|
||||
final model = Model.fromJson({"id": "mistral", "name": "Mistral"});
|
||||
expect(model.id, "mistral");
|
||||
expect(model.name, "Mistral");
|
||||
});
|
||||
});
|
||||
}
|
||||
24
packages/genai/test/utils.dart/model_manager_test.dart
Normal file
24
packages/genai/test/utils.dart/model_manager_test.dart
Normal file
@@ -0,0 +1,24 @@
|
||||
import 'dart:convert';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:genai/models/available_models.dart';
|
||||
import 'package:genai/utils/model_manager.dart';
|
||||
|
||||
void main() {
|
||||
group('ModelManager', () {
|
||||
test('fetchModelsFromRemote returns parsed models', () async {
|
||||
final result = await ModelManager.fetchModelsFromRemote();
|
||||
expect(result, isA<AvailableModels>());
|
||||
});
|
||||
|
||||
test('fetchInstalledOllamaModels parses response', () async {
|
||||
final body = jsonEncode({
|
||||
"models": [
|
||||
{"model": "mistral", "name": "Mistral"},
|
||||
{"model": "llama2", "name": "LLaMA 2"},
|
||||
],
|
||||
});
|
||||
final result = await ModelManager.fetchInstalledOllamaModels();
|
||||
expect(result, isNotNull);
|
||||
});
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user