on master help sign in
fix websocket server test to account for new prompt info messages
commit8407a6be1361404927ee041278e265b37d8ef9d8 authorAgentM <agentm@themactionfaction.com> dateFri 27 Jan 2017, 21:45 (10 years ago) parentc14a171
1 file changed+16−3
test/Server/WebSocket.hs+16−3
test/Server/WebSocket.hs+16−3
@@ -82,10 +82,23 @@ testBasicConnection port _ = TestCase $ basicConnection port (\conn -> WS.sendCl
8282testTutorialD :: PortNumber -> DatabaseName -> Test
8383testTutorialD port dbname = TestCase $ basicConnectionWithDatabase port dbname testtutd
8484 where
85− testtutd = \conn -> do
86− WS.sendTextData conn ("executetutd:" `append` ":showexpr true")
85+ discardPromptInfo conn = do
8786 response <- WS.receiveData conn :: IO BS.ByteString
87+ let decoded = decode response :: Maybe (M.Map Text (M.Map Text Text))
88+ case decoded of
89+ Just _ -> pure ()
90+ Nothing -> assertFailure ("failed to decode prompt info: " ++ show response)
91+
92+ testtutd conn = do
93+ discardPromptInfo conn
94+ WS.sendTextData conn ("executetutd:" `append` ":showexpr true")
95+ discardPromptInfo conn
96+ discardPromptInfo conn
97+
98+ --receive relation response
99+ response <- WS.receiveData conn :: IO BS.ByteString
88100 let decoded = decode response :: Maybe (M.Map Text Relation)
101+
89102 case decoded of
90103 Just val -> assertEqual "round-trip true relation" (M.lookup "displayrelation" val) (Just relationTrue) >> WS.sendClose conn ("test close"::Text)
91− Nothing -> assertFailure "failed to decode relation"
104+ Nothing -> assertFailure ("failed to decode relation from: " ++ show response)