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); }
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); }