aboutsummaryrefslogtreecommitdiffstats
path: root/tests/Test.hs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-02-21 14:18:13 +0100
committertv <tv@krebsco.de>2026-02-21 22:22:17 +0100
commit55d42f1dd83b428aa0f1352bc0ea1402b9c2b811 (patch)
tree81d5e80b385de42a0d1b48d3edd0d2b66d858b2d /tests/Test.hs
generate initial commit
Generate haskell-http-client from running g4f v-7.1.4. Server started like this: python -m g4f --port 8080 --debug Code generated like this: openapi-generator-cli generate \ -i http://localhost:8080/openapi.json \ -g haskell-http-client \ --skip-validate-spec \ -o g4f-client \ --additional-properties=cabalPackage=g4f-client,cabalVersion=7.1.4,baseModule=G4fApi
Diffstat (limited to 'tests/Test.hs')
-rw-r--r--tests/Test.hs52
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/Test.hs b/tests/Test.hs
new file mode 100644
index 0000000..152472b
--- /dev/null
+++ b/tests/Test.hs
@@ -0,0 +1,52 @@
+{-# LANGUAGE ScopedTypeVariables #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE PartialTypeSignatures #-}
+
+module Main where
+
+import Data.Typeable (Proxy(..))
+import Test.Hspec
+import Test.Hspec.QuickCheck
+
+import PropMime
+import Instances ()
+
+import G4fClient.Model
+import G4fClient.MimeTypes
+
+main :: IO ()
+main =
+ hspec $ modifyMaxSize (const 10) $ do
+ describe "JSON instances" $ do
+ pure ()
+ propMimeEq MimeJSON (Proxy :: Proxy ApiKey)
+ propMimeEq MimeJSON (Proxy :: Proxy AudioResponseModel)
+ propMimeEq MimeJSON (Proxy :: Proxy AudioSpeechConfig)
+ propMimeEq MimeJSON (Proxy :: Proxy ChatCompletion)
+ propMimeEq MimeJSON (Proxy :: Proxy ChatCompletionChoice)
+ propMimeEq MimeJSON (Proxy :: Proxy ChatCompletionMessage)
+ propMimeEq MimeJSON (Proxy :: Proxy ChatCompletionsConfig)
+ propMimeEq MimeJSON (Proxy :: Proxy CompletionTokenDetails)
+ propMimeEq MimeJSON (Proxy :: Proxy Content)
+ propMimeEq MimeJSON (Proxy :: Proxy ContentPart)
+ propMimeEq MimeJSON (Proxy :: Proxy ErrorResponseMessageModel)
+ propMimeEq MimeJSON (Proxy :: Proxy ErrorResponseModel)
+ propMimeEq MimeJSON (Proxy :: Proxy FileResponseModel)
+ propMimeEq MimeJSON (Proxy :: Proxy HTTPValidationError)
+ propMimeEq MimeJSON (Proxy :: Proxy Image)
+ propMimeEq MimeJSON (Proxy :: Proxy ImageGenerationConfig)
+ propMimeEq MimeJSON (Proxy :: Proxy ImagesResponse)
+ propMimeEq MimeJSON (Proxy :: Proxy Message)
+ propMimeEq MimeJSON (Proxy :: Proxy ModelResponseModel)
+ propMimeEq MimeJSON (Proxy :: Proxy PromptTokenDetails)
+ propMimeEq MimeJSON (Proxy :: Proxy ProviderResponseDetailModel)
+ propMimeEq MimeJSON (Proxy :: Proxy ProviderResponseModel)
+ propMimeEq MimeJSON (Proxy :: Proxy Stop)
+ propMimeEq MimeJSON (Proxy :: Proxy ToolCallModel)
+ propMimeEq MimeJSON (Proxy :: Proxy ToolFunctionModel)
+ propMimeEq MimeJSON (Proxy :: Proxy TranscriptionResponseModel)
+ propMimeEq MimeJSON (Proxy :: Proxy UsageModel)
+ propMimeEq MimeJSON (Proxy :: Proxy ValidationError)
+ propMimeEq MimeJSON (Proxy :: Proxy ValidationErrorLocInner)
+