import importlib.metadata
import unittest

from copilot import CopilotClient, ProviderConfig
from litellm import LlmProviders
from litellm import LlmProviders


class SdkImportTest(unittest.TestCase):
    def test_pinned_packages_and_provider_are_available(self) -> None:
        self.assertEqual(
            importlib.metadata.version("github-copilot-sdk"),
            "1.0.8",
        )
        self.assertEqual(importlib.metadata.version("litellm"), "1.95.0")
        self.assertEqual(importlib.metadata.version("litellm"), "1.95.0")
        self.assertEqual(CopilotClient.__name__, "CopilotClient")
        self.assertEqual(ProviderConfig.__name__, "ProviderConfig")
        self.assertEqual(
            LlmProviders.GITHUB_COPILOT.value,
            "github_copilot",
        )
        self.assertEqual(
            LlmProviders.GITHUB_COPILOT.value,
            "github_copilot",
        )


if __name__ == "__main__":
    unittest.main()
