public void AnnounceTest() { var t = (HTTPTracker) TrackerFactory.Create(new Uri(prefix)); var id = new TrackerConnectionID(t, false, TorrentEvent.Started, new ManualResetEvent(false)); AnnounceResponseEventArgs p = null; t.AnnounceComplete += delegate(object o, AnnounceResponseEventArgs e) { p = e; id.WaitHandle.Set(); }; var pars = new MonoTorrent.Client.Tracker.AnnounceParameters(); pars.PeerId = "id"; pars.InfoHash = new InfoHash(new byte[20]); t.Announce(pars, id); Wait(id.WaitHandle); Assert.NotNull(p); Assert.True(p.Successful); Assert.Equal(keys[0], t.Key); }
public void KeyTest() { var pars = new MonoTorrent.Client.Tracker.AnnounceParameters(); pars.PeerId = "id"; pars.InfoHash = new InfoHash(new byte[20]); var t = TrackerFactory.Create(new Uri(prefix + "?key=value")); var id = new TrackerConnectionID(t, false, TorrentEvent.Started, new ManualResetEvent(false)); t.AnnounceComplete += delegate { id.WaitHandle.Set(); }; t.Announce(pars, id); Wait(id.WaitHandle); Assert.Equal("value", keys[0]); }
public void ScrapeTest() { var t = TrackerFactory.Create(new Uri(prefix.Substring(0, prefix.Length - 1))); Assert.True(t.CanScrape); var id = new TrackerConnectionID(t, false, TorrentEvent.Started, new ManualResetEvent(false)); AnnounceResponseEventArgs p = null; t.AnnounceComplete += delegate(object o, AnnounceResponseEventArgs e) { p = e; id.WaitHandle.Set(); }; var pars = new MonoTorrent.Client.Tracker.AnnounceParameters(); pars.PeerId = "id"; pars.InfoHash = new InfoHash(new byte[20]); t.Announce(pars, id); Wait(id.WaitHandle); Assert.NotNull(p); Assert.True(p.Successful); Assert.Equal(1, t.Complete); Assert.Equal(0, t.Incomplete); Assert.Equal(0, t.Downloaded); }