@@ -82,10 +82,23 @@ testBasicConnection port _ = TestCase $ basicConnection port (\conn -> WS.sendCl
82testTutorialD :: PortNumber -> DatabaseName -> Test
82testTutorialD :: PortNumber -> DatabaseName -> Test
83testTutorialD port dbname = TestCase $ basicConnectionWithDatabase port dbname testtutd
83testTutorialD port dbname = TestCase $ basicConnectionWithDatabase port dbname testtutd
85− testtutd = \conn -> do
85+ discardPromptInfo conn = do
86− WS.sendTextData conn ("executetutd:" `append` ":showexpr true")
87 response <- WS.receiveData conn :: IO BS.ByteString
86 response <- WS.receiveData conn :: IO BS.ByteString
87+ let decoded = decode response :: Maybe (M.Map Text (M.Map Text Text))
90+ Nothing -> assertFailure ("failed to decode prompt info: " ++ show response)
93+ discardPromptInfo conn
94+ WS.sendTextData conn ("executetutd:" `append` ":showexpr true")
95+ discardPromptInfo conn
96+ discardPromptInfo conn
98+ --receive relation response
99+ response <- WS.receiveData conn :: IO BS.ByteString
88 let decoded = decode response :: Maybe (M.Map Text Relation)
100 let decoded = decode response :: Maybe (M.Map Text Relation)
89 case decoded of
102 case decoded of
90 Just val -> assertEqual "round-trip true relation" (M.lookup "displayrelation" val) (Just relationTrue) >> WS.sendClose conn ("test close"::Text)
103 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)