module TestClient where import Servant ((:>)(..), (:<|>)(..)) import qualified Network.HTTP.Client as H import qualified Proto.Google.Protobuf.Duration as D import qualified Servant.Client as S import TestServer (api) getDur :: S.ClientM D.Duration exSec :: D.Duration -> S.ClientM Int exNSec :: D.Duration -> S.ClientM Int getDur :<|> exSec :<|> exNSec = S.client api run :: Int -> S.ClientM a -> IO (Either S.ServantError a) run port action = do mgr <- H.newManager H.defaultManagerSettings S.runClientM action (S.ClientEnv mgr baseUrl) where baseUrl = S.BaseUrl S.Http "localhost" port ""