{-# LANGUAGE OverloadedStrings #-} module Main (main) where import Data.Text (unpack) import Ollama (Version (..), getVersion) import Test.Ollama.Blob qualified as Blob import Test.Ollama.Chat qualified as Chat import Test.Ollama.Common qualified as Common import Test.Ollama.Copy qualified as Copy import Test.Ollama.Create qualified as Create import Test.Ollama.Delete qualified as Delete import Test.Ollama.Embedding qualified as Embeddings import Test.Ollama.Generate qualified as Generate import Test.Ollama.List qualified as List import Test.Ollama.Load qualified as Load import Test.Ollama.Show qualified as Show import Test.Tasty tests :: TestTree tests = testGroup "Tests" [ -- Core functionality tests Generate.tests , Chat.tests , Embeddings.tests , -- Model management tests Show.tests , List.tests , Copy.tests , Create.tests , Delete.tests , Load.tests , -- Utility and blob tests Blob.tests , Common.tests ] main :: IO () main = do eRes <- getVersion case eRes of Left err -> print err Right (Version r) -> do putStrLn $ "Ollama client version: " <> unpack r defaultMain tests