packages feed

typesafe-hs-0.1.0.0: test/Main.hs

module Main (main) where

import Data.Maybe (fromMaybe)
import System.Environment (lookupEnv)
import Test.Tasty
import TypeSafe.Conformance.JsonSchema (loadSpec)
import TypeSafe.Conformance.OperationsTest qualified
import TypeSafe.Conformance.SchemaTest qualified
import TypeSafe.ReadmeExampleTest qualified
import TypeSafe.SpecVersionTest qualified
import TypeSafe.V1Test qualified
import TypeSafe.Wire.CommonTest qualified
import TypeSafe.Wire.RequestTest qualified
import TypeSafe.Wire.ResponseTest qualified

main :: IO ()
main = do
  spec <- loadSpec . fromMaybe "spec/openapi.json" =<< lookupEnv "TYPESAFE_OPENAPI_SPEC"
  defaultMain $
    testGroup
      "typesafe-hs"
      [ TypeSafe.SpecVersionTest.tests spec,
        TypeSafe.ReadmeExampleTest.tests,
        TypeSafe.Conformance.SchemaTest.tests spec,
        TypeSafe.Conformance.OperationsTest.tests spec,
        TypeSafe.V1Test.tests,
        TypeSafe.Wire.CommonTest.tests,
        TypeSafe.Wire.RequestTest.tests,
        TypeSafe.Wire.ResponseTest.tests
      ]