packages feed

ollama-haskell-0.2.1.0: test/Main.hs

{-# 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