on master help sign in
wai-app-static: add test for mkSettings (embedded) with ssIndices
commit60593dad2666b3a5f065325ff929a9f4f034543a authorSönke Hahn <soenkehahn@gmail.com> dateSat 7 Nov 2015, 12:03 (11 years ago) parent816574e
3 files changed+19−7
wai-app-static/test/EmbeddedTestEntries.hs+5 wai-app-static/test/WaiAppEmbeddedTest.hs+12−5 wai-app-static/test/WaiAppStaticTest.hs+2−2
wai-app-static/test/EmbeddedTestEntries.hs+5
@@ -42,4 +42,9 @@ mkEntries = return
4242 , EmbeddableEntry "e6.txt"
4343 "text/plain"
4444 (Right [| return ("" :: T.Text, body 1000 'W') |] )
45+
46+ -- An index file
47+ , EmbeddableEntry "index.html"
48+ "text/html"
49+ (Right [| return ("" :: T.Text, "index file") |] )
4550 ]
wai-app-static/test/WaiAppEmbeddedTest.hs+12−5
@@ -8,16 +8,15 @@ import Network.Wai.Application.Static (staticApp)
88import Network.Wai.Test
99import Test.Hspec
1010import WaiAppStatic.Storage.Embedded
11−
12−embApp :: Application
13−embApp = staticApp $(mkSettings mkEntries)
11+import WaiAppStatic.Types
1412
1513defRequest :: Request
1614defRequest = defaultRequest
1715
1816embSpec :: Spec
1917embSpec = do
20− let embed = flip runSession embApp
18+ let embedSettings settings = flip runSession (staticApp settings)
19+ let embed = embedSettings $(mkSettings mkEntries)
2120 describe "embedded, compressed entry" $ do
2221 it "served correctly" $ embed $ do
2322 req <- request (setRawPathInfo defRequest "e1.txt")
@@ -33,6 +32,15 @@ embSpec = do
3332 { requestHeaders = [("If-None-Match", "Etag 1")] }
3433 assertStatus 304 req
3534
35+ it "ssIndices works" $ do
36+ let testSettings = $(mkSettings mkEntries){
37+ ssIndices = [unsafeToPiece "index.html"]
38+ }
39+ embedSettings testSettings $ do
40+ req <- request defRequest
41+ assertStatus 200 req
42+ assertBody "index file" req
43+
3644 describe "embedded, uncompressed entry" $ do
3745 it "too short" $ embed $ do
3846 req <- request (setRawPathInfo defRequest "e2.txt")
@@ -75,4 +83,3 @@ embSpec = do
7583 assertNoHeader "Content-Encoding" req
7684 assertNoHeader "ETag" req
7785 assertBody (body 1000 'W') req
78−
wai-app-static/test/WaiAppStaticTest.hs+2−2
@@ -160,7 +160,7 @@ spec = do
160160 fileServerAppWithSettings testSettings $ do
161161 resp <- request (setRawPathInfo defRequest "/")
162162 assertStatus 200 resp
163− assertBodyContains "foo" resp
163+ assertBody "foo" resp
164164
165165 context "with defaultFileServerSettings" $ do
166166 it "prefers ssIndices over ssListing" $ do
@@ -170,4 +170,4 @@ spec = do
170170 fileServerAppWithSettings testSettings $ do
171171 resp <- request (setRawPathInfo defRequest "/")
172172 assertStatus 200 resp
173− assertBodyContains "foo" resp
173+ assertBody "foo" resp