crawlchain-0.3.1.0: test/src/HttpTests.hs
module Main (main) where
import System.Exit (exitFailure)
import Network.CrawlChain.CrawlAction
import Network.CrawlChain.CrawlResult
import Network.CrawlChain.Crawling
import Network.URI.Util
main :: IO ()
main = do
match toURI "http://sdf.sdf/α" (toURI "http://sdf.sdf/α")
crawlResult <- crawl $ GetRequest "http://example.com/\206\177"
-- do not care about result, testing for no exceptions with url parsing (yes, doing an external request here is bad style)
dummyCheck crawlResult
where
match method input expected =
if actual /= expected
then putStrLn ("could not find " ++ (show expected) ++ " in; " ++ input) >> exitFailure
else pure ()
where
actual = method input
dummyCheck r =
if crawlingResultStatus r /= (CrawlingRedirect "sdf")
then pure ()
else putStrLn "unexpected" >> exitFailure