Exemple #1
0
        public void Setup()
        {
            keys.Clear();

            listener.IncompleteAnnounce = listener.IncompleteScrape = false;

            server = new TrackerServer(trackerId)
            {
                AllowUnregisteredTorrents = true
            };
            server.RegisterListener(listener);
            client            = new HttpClient();
            trackerConnection = new HttpTrackerConnection(AnnounceUrl, client);
            tracker           = new Tracker(trackerConnection);

            var infoHashBytes = new[] { ' ', '%', '&', '?', '&', '&', '?', '5', '1', '=' }
            .Select(t => (byte)t);

            infoHash       = new InfoHash(infoHashBytes.Concat(infoHashBytes).ToArray());
            announceParams = new MonoTorrent.Trackers.AnnounceRequest(infoHash)
                             .WithPort(5555)
                             .WithPeerId(peerId.Span.ToArray());

            scrapeParams = new MonoTorrent.Trackers.ScrapeRequest(infoHash);
        }
Exemple #2
0
        public async Task NullKeyTest()
        {
            // Set a key which uses characters which need escaping.
            trackerConnection     = new HttpTrackerConnection(AnnounceUrl, new HttpClient());
            tracker               = new Tracker(trackerConnection);
            trackerConnection.Key = null;

            await tracker.AnnounceAsync(announceParams, CancellationToken.None);

            Assert.AreEqual(null, keys[0], "#1");
        }
Exemple #3
0
        public void CanAnnounceOrScrapeTest()
        {
            HttpTrackerConnection t = new HttpTrackerConnection(new Uri("http://mytracker.com/myurl"), new HttpClient());

            Assert.IsFalse(t.CanScrape, "#1");

            t = new HttpTrackerConnection(new Uri("http://mytracker.com/announce/yeah"), new HttpClient());
            Assert.IsFalse(t.CanScrape, "#2");

            t = new HttpTrackerConnection(new Uri("http://mytracker.com/announce"), new HttpClient());
            Assert.IsTrue(t.CanScrape, "#3");
            Assert.AreEqual(t.ScrapeUri, new Uri("http://mytracker.com/scrape"));

            t = new HttpTrackerConnection(new Uri("http://mytracker.com/announce/yeah/announce"), new HttpClient());
            Assert.IsTrue(t.CanScrape, "#4");
            Assert.AreEqual("http://mytracker.com/announce/yeah/scrape", t.ScrapeUri.ToString(), "#4c");

            t = new HttpTrackerConnection(new Uri("http://mytracker.com/announce/"), new HttpClient());
            Assert.IsTrue(t.CanScrape, "#5");
            Assert.AreEqual(t.ScrapeUri, new Uri("http://mytracker.com/scrape/"));
        }