Clean up server exports (#31)

This commit is contained in:
Connor Prussin 2017-07-16 10:45:10 -07:00 committed by GitHub
parent 7f83dcf2fd
commit 9e91350de1
2 changed files with 2 additions and 29 deletions

View File

@ -1,7 +1,5 @@
module HTTPure.Server
( ServerM
, boot
, handleRequest
, serve
) where

View File

@ -3,9 +3,6 @@ module HTTPure.ServerSpec where
import Prelude (bind, discard, pure, unit, ($))
import Control.Monad.Eff.Class as EffClass
import Data.Maybe as Maybe
import Node.Encoding as Encoding
import Node.StreamBuffer as StreamBuffer
import Data.StrMap as StrMap
import Test.Spec as Spec
import Test.Spec.Assertions as Assertions
@ -20,35 +17,13 @@ mockRouter :: forall e. Request.Request -> Response.ResponseM e
mockRouter (Request.Get _ path) = pure $ Response.OK StrMap.empty path
mockRouter _ = pure $ Response.OK StrMap.empty ""
handleRequestSpec :: SpecHelpers.Test
handleRequestSpec = Spec.describe "handleRequest" do
Spec.it "runs the router and writes the response" do
body <- EffClass.liftEff do
buf <- StreamBuffer.writable
Server.handleRequest mockRouter mockRequest $ SpecHelpers.mockResponse buf
StreamBuffer.contents Encoding.UTF8 buf
body `Assertions.shouldEqual` "test1"
where
mockRequest = SpecHelpers.mockRequest "GET" "test1"
bootSpec :: SpecHelpers.Test
bootSpec = Spec.describe "boot" do
Spec.it "boots a server with the given options" do
EffClass.liftEff $ Server.boot options mockRouter $ pure unit
out <- SpecHelpers.get "http://localhost:7900/test1"
out `Assertions.shouldEqual` "/test1"
where
options = { port: 7900, hostname: "localhost", backlog: Maybe.Nothing }
serveSpec :: SpecHelpers.Test
serveSpec = Spec.describe "serve" do
Spec.it "boots a server on the given port" do
EffClass.liftEff $ Server.serve 7901 mockRouter $ pure unit
out <- SpecHelpers.get "http://localhost:7901/test2"
out `Assertions.shouldEqual` "/test2"
out <- SpecHelpers.get "http://localhost:7901/test"
out `Assertions.shouldEqual` "/test"
serverSpec :: SpecHelpers.Test
serverSpec = Spec.describe "Server" do
handleRequestSpec
bootSpec
serveSpec