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); }
internal override MetadataResult <Episode> GetMetadataImpl(YTDLData jsonObj) { return(Utils.YTDLJsonToEpisode(jsonObj)); }
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);
internal override MetadataResult <Movie> GetMetadataImpl(YTDLData jsonObj, string id) => YTDLJsonToMovie(jsonObj, id);
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);