purescript-httpurple/test/HTTPure/ServerSpec.purs

30 lines
896 B
Haskell
Raw Normal View History

module HTTPure.ServerSpec where
import Prelude
2017-07-10 10:17:13 +00:00
import Control.Monad.Eff.Class as EffClass
import Data.StrMap as StrMap
2017-07-10 10:17:13 +00:00
import Test.Spec as Spec
import Test.Spec.Assertions as Assertions
import HTTPure.Request as Request
import HTTPure.Response as Response
import HTTPure.Server as Server
2017-07-10 10:17:13 +00:00
import HTTPure.SpecHelpers as SpecHelpers
mockRouter :: forall e. Request.Request -> Response.ResponseM e
mockRouter (Request.Get _ path) = pure $ Response.OK StrMap.empty path
mockRouter _ = pure $ Response.OK StrMap.empty ""
2017-07-10 10:17:13 +00:00
serveSpec :: SpecHelpers.Test
serveSpec = Spec.describe "serve" do
2017-07-10 10:17:13 +00:00
Spec.it "boots a server on the given port" do
EffClass.liftEff $ Server.serve 7901 mockRouter $ pure unit
2017-07-18 17:09:03 +00:00
out <- SpecHelpers.get 7901 StrMap.empty "/test"
2017-07-16 17:45:10 +00:00
out `Assertions.shouldEqual` "/test"
2017-07-10 10:17:13 +00:00
serverSpec :: SpecHelpers.Test
serverSpec = Spec.describe "Server" do
serveSpec