aboutsummaryrefslogtreecommitdiffstats
path: root/tests/Test.hs
blob: 152472b07396b2492adcd65113a8f075eb0c4012 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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)