summaryrefslogtreecommitdiffstats
path: root/testing/test_providers.py
diff options
context:
space:
mode:
Diffstat (limited to 'testing/test_providers.py')
-rw-r--r--testing/test_providers.py76
1 files changed, 0 insertions, 76 deletions
diff --git a/testing/test_providers.py b/testing/test_providers.py
deleted file mode 100644
index cd82fe7c..00000000
--- a/testing/test_providers.py
+++ /dev/null
@@ -1,76 +0,0 @@
-import sys
-from pathlib import Path
-from colorama import Fore, Style
-
-sys.path.append(str(Path(__file__).parent.parent))
-
-from g4f import BaseProvider, models, Provider
-
-logging = False
-
-
-def main():
- providers = get_providers()
- failed_providers = []
-
- for _provider in providers:
- if _provider.needs_auth:
- continue
- print("Provider:", _provider.__name__)
- result = test(_provider)
- print("Result:", result)
- if _provider.working and not result:
- failed_providers.append(_provider)
-
- print()
-
- if failed_providers:
- print(f"{Fore.RED + Style.BRIGHT}Failed providers:{Style.RESET_ALL}")
- for _provider in failed_providers:
- print(f"{Fore.RED}{_provider.__name__}")
- else:
- print(f"{Fore.GREEN + Style.BRIGHT}All providers are working")
-
-
-def get_providers() -> list[type[BaseProvider]]:
- provider_names = dir(Provider)
- ignore_names = [
- "annotations",
- "base_provider",
- "retry_provider",
- "BaseProvider",
- "AsyncProvider",
- "AsyncGeneratorProvider",
- "RetryProvider",
- ]
- return [
- getattr(Provider, provider_name)
- for provider_name in provider_names
- if not provider_name.startswith("__") and provider_name not in ignore_names
- ]
-
-
-def create_response(_provider: type[BaseProvider]) -> str:
- model = models.gpt_35_turbo.name if _provider.supports_gpt_35_turbo else models.default.name
- response = _provider.create_completion(
- model=model,
- messages=[{"role": "user", "content": "Hello, who are you? Answer in detail much as possible."}],
- stream=False,
- )
- return "".join(response)
-
-
-def test(_provider: type[BaseProvider]) -> bool:
- try:
- response = create_response(_provider)
- assert type(response) is str
- assert len(response) > 0
- return response
- except Exception as e:
- if logging:
- print(e)
- return False
-
-
-if __name__ == "__main__":
- main() \ No newline at end of file