diff options
Diffstat (limited to 'tests/Network/BitTorrent/Tracker/RPC/UDPSpec.hs')
-rw-r--r-- | tests/Network/BitTorrent/Tracker/RPC/UDPSpec.hs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/Network/BitTorrent/Tracker/RPC/UDPSpec.hs b/tests/Network/BitTorrent/Tracker/RPC/UDPSpec.hs index f3dcec88..ae53c64b 100644 --- a/tests/Network/BitTorrent/Tracker/RPC/UDPSpec.hs +++ b/tests/Network/BitTorrent/Tracker/RPC/UDPSpec.hs | |||
@@ -11,6 +11,9 @@ import Test.Hspec | |||
11 | import Network.BitTorrent.Tracker.MessageSpec hiding (spec) | 11 | import Network.BitTorrent.Tracker.MessageSpec hiding (spec) |
12 | import Network.BitTorrent.Tracker.RPC.UDP | 12 | import Network.BitTorrent.Tracker.RPC.UDP |
13 | 13 | ||
14 | import Network.BitTorrent.Core | ||
15 | import Network.BitTorrent.Tracker.Message as Message | ||
16 | |||
14 | 17 | ||
15 | trackerURIs :: [URI] | 18 | trackerURIs :: [URI] |
16 | trackerURIs = | 19 | trackerURIs = |
@@ -18,6 +21,17 @@ trackerURIs = | |||
18 | , fromJust $ parseURI "udp://tracker.publicbt.com:80/announce" | 21 | , fromJust $ parseURI "udp://tracker.publicbt.com:80/announce" |
19 | ] | 22 | ] |
20 | 23 | ||
24 | validateInfo :: AnnounceQuery -> AnnounceInfo -> Expectation | ||
25 | validateInfo _ Message.Failure {..} = error "validateInfo: failure" | ||
26 | validateInfo AnnounceQuery {..} AnnounceInfo {..} = do | ||
27 | respComplete `shouldSatisfy` isJust | ||
28 | respIncomplete `shouldSatisfy` isJust | ||
29 | respMinInterval `shouldSatisfy` isNothing | ||
30 | respWarning `shouldSatisfy` isNothing | ||
31 | peerList `shouldSatisfy` L.all (isNothing . peerId) | ||
32 | where | ||
33 | peerList = getPeerList respPeers | ||
34 | |||
21 | spec :: Spec | 35 | spec :: Spec |
22 | spec = do | 36 | spec = do |
23 | forM_ trackerURIs $ \ uri -> | 37 | forM_ trackerURIs $ \ uri -> |