diff options
| author | tv <tv@krebsco.de> | 2026-02-21 14:18:13 +0100 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-02-21 22:22:17 +0100 |
| commit | 55d42f1dd83b428aa0f1352bc0ea1402b9c2b811 (patch) | |
| tree | 81d5e80b385de42a0d1b48d3edd0d2b66d858b2d /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.hs | 52 |
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) + |
