예제 #1
0
        public async Task TestCardigannJsonAsync()
        {
            _webClient.RegisterRequestCallback("https://jsondefinition1.com/api/torrents/filter?api_token=&name=1080p&sortField=created_at&sortDirection=desc&perPage=100&page=1",
                                               "json-response1.json");
            var definition = LoadTestDefinition("json-definition1.yml");
            var indexer    = new CardigannIndexer(null, _webClient, _logger, null, _cacheService, definition);

            var query = new TorznabQuery
            {
                QueryType  = "search",
                SearchTerm = "1080p",
            };

            var result = await indexer.ResultsForQuery(query, false);

            Assert.AreEqual(false, result.IsFromCache);

            var releases = result.Releases.ToList();

            Assert.AreEqual(78, releases.Count);

            var firstRelease = releases.First();

            Assert.AreEqual(2, firstRelease.Category.Count);
            Assert.AreEqual(2000, firstRelease.Category.First());
            Assert.AreEqual(100001, firstRelease.Category.Last());
            Assert.AreEqual("The Eyes of Tammy Faye (2021)  BDRip 1080p AVC ES DD+ 5.1 EN DTSSS 5.1 Subs] HDO", firstRelease.Title);
            Assert.AreEqual("https://jsondefinition1.com/torrents/24804", firstRelease.Details.ToString());
            Assert.AreEqual("https://jsondefinition1.com/torrent/download/24804.01c887e14d0845f195bc12b31ea27d38", firstRelease.Link.ToString());
            Assert.AreEqual("https://jsondefinition1.com/torrent/download/24804.01c887e14d0845f195bc12b31ea27d38", firstRelease.Guid.ToString());
            Assert.AreEqual(null, firstRelease.MagnetUri);
            Assert.AreEqual(null, firstRelease.InfoHash);
            Assert.AreEqual("https://image.tmdb.org/t/p/w92/iBjkm6oxTPrvNkzr63cmnrpsQPR.jpg", firstRelease.Poster.ToString());
            Assert.AreEqual(2021, firstRelease.PublishDate.Year);
            Assert.AreEqual(17964744704, firstRelease.Size);
            Assert.AreEqual(27, firstRelease.Seeders);
            Assert.AreEqual(30, firstRelease.Peers);
            Assert.AreEqual(1, firstRelease.Files);
            Assert.AreEqual(29, firstRelease.Grabs);
            Assert.AreEqual(1, firstRelease.DownloadVolumeFactor);
            Assert.AreEqual(1, firstRelease.UploadVolumeFactor);
            Assert.AreEqual(null, firstRelease.MinimumRatio);
            Assert.AreEqual(345600, firstRelease.MinimumSeedTime);
            Assert.AreEqual(451.73625183105469, firstRelease.Gain);
            Assert.AreEqual(9115530, firstRelease.Imdb);
            Assert.AreEqual(null, firstRelease.RageID);
            Assert.AreEqual(601470, firstRelease.TMDb);
            Assert.AreEqual(0, firstRelease.TVDBId);
        }
예제 #2
0
        public async Task TestCardigannHtmlAsync()
        {
            _webClient.RegisterRequestCallback("https://www.testdefinition1.cc/search?query=ubuntu&sort=created", "html-response1.html");
            var definition = LoadTestDefinition("html-definition1.yml");
            var indexer    = new CardigannIndexer(null, _webClient, _logger, null, _cacheService, definition);

            var query = new TorznabQuery
            {
                QueryType  = "search",
                SearchTerm = "ubuntu",
            };

            var result = await indexer.ResultsForQuery(query, false);

            Assert.AreEqual(false, result.IsFromCache);

            var releases = result.Releases.ToList();

            Assert.AreEqual(25, releases.Count);

            var firstRelease = releases.First();

            Assert.AreEqual(1, firstRelease.Category.Count);
            Assert.AreEqual(8000, firstRelease.Category.First());
            Assert.AreEqual("ubuntu-19.04-desktop-amd64.iso", firstRelease.Title);
            Assert.AreEqual("https://www.testdefinition1.cc/torrent/d540fc48eb12f2833163eed6421d449dd8f1ce1f", firstRelease.Details.ToString());
            Assert.AreEqual("http://itorrents.org/torrent/d540fc48eb12f2833163eed6421d449dd8f1ce1f.torrent", firstRelease.Link.ToString());
            Assert.AreEqual("http://itorrents.org/torrent/d540fc48eb12f2833163eed6421d449dd8f1ce1f.torrent", firstRelease.Guid.ToString());
            Assert.AreEqual("magnet:?xt=urn:btih:d540fc48eb12f2833163eed6421d449dd8f1ce1f&dn=ubuntu-19.04-desktop-amd64.iso",
                            firstRelease.MagnetUri.ToString().Split(new[] { "&tr" }, StringSplitOptions.None).First());
            Assert.AreEqual("d540fc48eb12f2833163eed6421d449dd8f1ce1f", firstRelease.InfoHash);
            Assert.AreEqual(2019, firstRelease.PublishDate.Year);
            Assert.AreEqual(2097152000, firstRelease.Size);
            Assert.AreEqual(12, firstRelease.Seeders);
            Assert.AreEqual(13, firstRelease.Peers);
            Assert.AreEqual(1, firstRelease.DownloadVolumeFactor);
            Assert.AreEqual(2, firstRelease.UploadVolumeFactor);
            Assert.AreEqual(23.4375, firstRelease.Gain);
        }