예제 #1
0
        /// <summary>
        /// Tests creating torrent.
        /// </summary>
        /// <remarks>MonoTorrent TorrentCreator needs file to be available (even
        /// though it could be empty) even if dedup writer is used.</remarks>
        public static void TestCreateTorrent(string db, string dataFile, string savePath, string savePath1)
        {
            var dedupWriter = new DedupDiskWriter(new DeduplicationService(new ChunkDbService(db, false)));
            var creator = new DedupTorrentCreator(dedupWriter);
            var ip = NetUtil.GetLocalIPByInterface("Local Area Connection");
            var tier = new RawTrackerTier {
                string.Format("http://{0}:25456/announce", ip.ToString()),
                "udp://tracker.publicbt.com:80/announce",
                "udp://tracker.openbittorrent.com:80/announce"
            };
            var filename = Path.GetFileName(dataFile);
            creator.GetrightHttpSeeds.Add(string.Format(
                "http://{0}:49645/FileServer/FileRange/{1}", ip.ToString(),
                filename));
            creator.Announces.Add(tier);
            var binaryTorrent = creator.Create(new TorrentFileSource(dataFile));
            var torrent = Torrent.Load(binaryTorrent);
            string infoHash = torrent.InfoHash.ToHex();
            File.WriteAllBytes(savePath, binaryTorrent.Encode());

            // Now read from the real file.
            var creator1 = new TorrentCreator();
            creator1.Announces.Add(tier);
            creator1.GetrightHttpSeeds.Add(string.Format(
                "http://{0}:49645/FileServer/FileRange/{1}", ip.ToString(),
                filename));
            var binary1 = creator1.Create(new TorrentFileSource(dataFile));
            string infoHash1 = Torrent.Load(binary1).InfoHash.ToHex();
            File.WriteAllBytes(savePath1, binary1.Encode());

            Assert.AreEqual(infoHash, infoHash1);
            logger.DebugFormat("InfoHash: {0}", infoHash);
        }
예제 #2
0
        /// <summary>
        /// Tests creating torrent.
        /// </summary>
        /// <remarks>MonoTorrent TorrentCreator needs file to be available (even
        /// though it could be empty) even if dedup writer is used.</remarks>
        public static void TestCreateTorrent(string db, string dataFile, string savePath, string savePath1)
        {
            var dedupWriter = new DedupDiskWriter(new DeduplicationService(new ChunkDbService(db, false)));
            var creator     = new DedupTorrentCreator(dedupWriter);
            var ip          = NetUtil.GetLocalIPByInterface("Local Area Connection");
            var tier        = new RawTrackerTier {
                string.Format("http://{0}:25456/announce", ip.ToString()),
                "udp://tracker.publicbt.com:80/announce",
                "udp://tracker.openbittorrent.com:80/announce"
            };
            var filename = Path.GetFileName(dataFile);

            creator.GetrightHttpSeeds.Add(string.Format(
                                              "http://{0}:49645/FileServer/FileRange/{1}", ip.ToString(),
                                              filename));
            creator.Announces.Add(tier);
            var    binaryTorrent = creator.Create(new TorrentFileSource(dataFile));
            var    torrent       = Torrent.Load(binaryTorrent);
            string infoHash      = torrent.InfoHash.ToHex();

            File.WriteAllBytes(savePath, binaryTorrent.Encode());

            // Now read from the real file.
            var creator1 = new TorrentCreator();

            creator1.Announces.Add(tier);
            creator1.GetrightHttpSeeds.Add(string.Format(
                                               "http://{0}:49645/FileServer/FileRange/{1}", ip.ToString(),
                                               filename));
            var    binary1   = creator1.Create(new TorrentFileSource(dataFile));
            string infoHash1 = Torrent.Load(binary1).InfoHash.ToHex();

            File.WriteAllBytes(savePath1, binary1.Encode());

            Assert.AreEqual(infoHash, infoHash1);
            logger.DebugFormat("InfoHash: {0}", infoHash);
        }