testConnection method
Test the connection with the current provider settings. Sends a prompt asking the AI to introduce itself.
Implementation
Future<void> testConnection() async {
final provider = selectedProvider.value;
final apiKey = apiKeyController.text.trim();
final model = modelController.text.trim().isNotEmpty
? modelController.text.trim()
: defaultModel;
final baseUrl = baseUrlController.text.trim().isNotEmpty
? baseUrlController.text.trim()
: defaultBaseUrl;
if (AuthService.requiresApiKey(provider) && apiKey.isEmpty) {
testError.value =
'API key is required for '
'${AuthService.providerDisplayName(provider)}';
testResult.value = null;
return;
}
isTesting.value = true;
testResult.value = null;
testError.value = null;
try {
final response = await _sendTestMessage(
provider: provider,
apiKey: apiKey,
model: model,
baseUrl: baseUrl,
);
testResult.value = response;
testError.value = null;
} catch (e) {
testError.value = e.toString().replaceFirst('Exception: ', '');
testResult.value = null;
} finally {
isTesting.value = false;
}
}