@@ -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)