public void RemoteProviderCachedResultsTest()
        {
            var json = new YTDLData
            {
                uploader    = "Someone",
                upload_date = "20211215",
                title       = "Cool Video",
                description = "This is the best video.",
                channel_id  = "12345",
                thumbnail   = "somelink"
            };

            _fs_metadata.LastWriteTimeUtc = DateTime.Today.AddDays(-1);
            _fs_metadata.Exists           = true;
            _jf_fs.Setup(fs => fs.GetFileSystemInfo(@"\cache\youtubemetadata\AAAAAAAAAAA\ytvideo.info.json")).Returns(_fs_metadata);
            _fs.AddFile(@"\cache\youtubemetadata\AAAAAAAAAAA\ytvideo.info.json", new MockFileData(JsonSerializer.Serialize(json)));
            _epInfo.Path = "/Something [AAAAAAAAAAA].mkv";

            //var provider = new YTDLEpisodeProvider(_jf_fs.Object, new Mock<Microsoft.Extensions.Logging.ILogger<YTDLEpisodeProvider>>().Object, _config.Object, _fs);
            var metadata = _provider.GetMetadata(_epInfo, _token);

            metadata.Wait();
            Assert.Equal(json.title, metadata.Result.Item.Name);
            Assert.Equal(json.description, metadata.Result.Item.Overview);
            Assert.Equal(2021, metadata.Result.Item.ProductionYear);
            Assert.Equal(DateTime.ParseExact(json.upload_date, "yyyyMMdd", null), metadata.Result.Item.PremiereDate);
            Assert.Equal(1, metadata.Result.Item.IndexNumber);
            Assert.Equal(1, metadata.Result.Item.ParentIndexNumber);
            Assert.Equal("Someone", metadata.Result.People[0].Name);
        }
        /// <summary>
        /// Provides a Episode Metadata Result from a json object.
        /// </summary>
        /// <param name="json"></param>
        /// <returns></returns>
        public static MetadataResult <Episode> YTDLJsonToEpisode(YTDLData json, string id)
        {
            var result = Utils.YTDLJsonToEpisode(json);

            result.Item.ProviderIds.Add(Constants.PluginName, id);
            return(result);
        }
        public void YTDLJsonToMovieTest()
        {
            var json = new YTDLData
            {
                uploader    = "Someone",
                upload_date = "20211215",
                title       = "Cool Video",
                description = "This is the best video.",
                channel_id  = "12345",
                thumbnail   = "somelink"
            };
            var result = YTDLEpisodeProvider.YTDLJsonToEpisode(json);

            Assert.Equal(json.title, result.Item.Name);
            Assert.Equal(json.description, result.Item.Overview);
            Assert.Equal(2021, result.Item.ProductionYear);
            Assert.Equal(DateTime.ParseExact(json.upload_date, "yyyyMMdd", null), result.Item.PremiereDate);
            Assert.Equal(1, result.Item.IndexNumber);
            Assert.Equal(1, result.Item.ParentIndexNumber);
            Assert.Equal("Someone", result.People[0].Name);
        }
Ejemplo n.º 4
0
 internal override MetadataResult <Episode> GetMetadataImpl(YTDLData jsonObj)
 {
     return(Utils.YTDLJsonToEpisode(jsonObj));
 }
Ejemplo n.º 5
0
 internal override MetadataResult <MusicVideo> GetMetadataImpl(YTDLData jsonObj, string id) => YTDLJsonToMusicVideo(jsonObj, id);
 internal override MetadataResult <MusicVideo> GetMetadataImpl(YTDLData jsonObj)
 {
     return(Utils.YTDLJsonToMusicVideo(jsonObj));
 }
 internal abstract MetadataResult <T> GetMetadataImpl(YTDLData jsonObj);
Ejemplo n.º 8
0
 internal override MetadataResult <Movie> GetMetadataImpl(YTDLData jsonObj, string id) => YTDLJsonToMovie(jsonObj, id);
Ejemplo n.º 9
0
 internal override MetadataResult <Series> GetMetadataImpl(YTDLData jsonObj, string id) => YTDLJsonToSeries(jsonObj, id);
        public void YTDLJsonToMovie(YTDLData json, MetadataResult <Movie> expected)
        {
            var result = JsonSerializer.Serialize(YTDLEpisodeProvider.YTDLJsonToMovie(json));

            Assert.Equal(JsonSerializer.Serialize(expected), result);
        }
 internal override MetadataResult <Episode> GetMetadataImpl(YTDLData jsonObj, string id) => YTDLJsonToEpisode(jsonObj, id);