From 51068952db8fa263f576e49ee7d2ce1dcc89898a Mon Sep 17 00:00:00 2001 From: Sam Truzjan Date: Thu, 27 Feb 2014 15:56:57 +0400 Subject: Check uri scheme before making RPC --- tests/Network/BitTorrent/Tracker/RPC/UDPSpec.hs | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'tests/Network') diff --git a/tests/Network/BitTorrent/Tracker/RPC/UDPSpec.hs b/tests/Network/BitTorrent/Tracker/RPC/UDPSpec.hs index 598b2866..8a1ffc01 100644 --- a/tests/Network/BitTorrent/Tracker/RPC/UDPSpec.hs +++ b/tests/Network/BitTorrent/Tracker/RPC/UDPSpec.hs @@ -97,6 +97,19 @@ spec = parallel $ do scrape mgr (trackerURI badTracker) [def] `shouldThrow` isSomeException describe "RPC" $ do + describe "announce" $ do + it "must fail on bad scheme" $ do + withManager rpcOpts $ \ mgr -> do + q <- arbitrarySample + announce mgr "magnet://a.com" q + `shouldThrow` (== UnrecognizedScheme "magnet:") + + describe "scrape" $ do + it "must fail on bad scheme" $ do + withManager rpcOpts $ \ mgr -> do + scrape mgr "magnet://a.com" [] + `shouldThrow` (== UnrecognizedScheme "magnet:") + forM_ (L.filter isUdpTracker trackers) $ \ TrackerEntry {..} -> context trackerName $ do -- cgit v1.2.3