public static async Task <IList <string> > ProcessAsync(IOwinContext context, WebMediaType mediaType, string filterField, string op, int?limit, WebSortOrder?order) { switch (mediaType) { case WebMediaType.Drive: return(AutoSuggestion.GetValuesForField(filterField, await GetFileSystemDrives.ProcessAsync(context, null, order), op, limit).ToList()); case WebMediaType.Movie: return(AutoSuggestion.GetValuesForField(filterField, await GetMoviesDetailed.ProcessAsync(context, null, null, order), op, limit).ToList()); case WebMediaType.MusicAlbum: return(AutoSuggestion.GetValuesForField(filterField, await GetMusicAlbumsBasic.ProcessAsync(context, null, null, order), op, limit).ToList()); case WebMediaType.MusicArtist: return(AutoSuggestion.GetValuesForField(filterField, await GetMusicArtistsDetailed.ProcessAsync(context, null, null, order), op, limit).ToList()); case WebMediaType.MusicTrack: return(AutoSuggestion.GetValuesForField(filterField, await GetMusicTracksDetailed.ProcessAsync(context, null, null, order), op, limit).ToList()); case WebMediaType.Picture: return(AutoSuggestion.GetValuesForField(filterField, await GetPicturesDetailed.ProcessAsync(context, null, null, null), op, limit).ToList()); case WebMediaType.Playlist: return(AutoSuggestion.GetValuesForField(filterField, await GetPlaylists.ProcessAsync(context), op, limit).ToList()); case WebMediaType.TVEpisode: return(AutoSuggestion.GetValuesForField(filterField, await GetTVEpisodesDetailed.ProcessAsync(context, null, null, order), op, limit).ToList()); case WebMediaType.TVShow: return(AutoSuggestion.GetValuesForField(filterField, await GetTVShowsDetailed.ProcessAsync(context, null, null, order), op, limit).ToList()); default: throw new BadRequestException(string.Format("GetFilterValues() called with unsupported mediaType='{0}' filterField='{1}' op='{2}' limit='{3}'", mediaType, filterField, op, limit)); } }
public void GetConstructedUri_NoParamaters_MatchesExpected() { var query = new GetPlaylists(); var uri = query.GetConstructedUri(); Assert.AreEqual("metadata/h5/metadata/playlists", uri); }
public void GetConstructedUri_NoParameters_MatchesExpected() { var query = new GetPlaylists(); var uri = query.GetConstructedUri(); Assert.AreEqual("metadata/h5/metadata/playlists", uri); }
public void GetConstructedUri_NoParamaters_MatchesExpected() { var query = new GetPlaylists(); var uri = query.GetConstructedUri(); Assert.AreEqual(BaseUri, uri); }
public async Task GetPlaylists_DoesNotThrow() { var query = new GetPlaylists() .SkipCache(); var result = await Global.Session.Query(query); Assert.IsInstanceOf(typeof(List <Playlist>), result); }
public async Task GetPlaylists_IsSerializable() { var query = new GetPlaylists() .SkipCache(); var result = await Global.Session.Query(query); SerializationUtility <List <Playlist> > .AssertRoundTripSerializationIsPossible(result); }
public async Task GetPlaylists_DoesNotThrow() { var query = new GetPlaylists() .SkipCache(); var result = await Global.Session.Query(query); Assert.IsInstanceOf(typeof(List<Playlist>), result); }
public async Task Query_DoesNotThrow() { var query = new GetPlaylists() .SkipCache(); var result = await _mockSession.Query(query); Assert.IsInstanceOf(typeof(List <Playlist>), result); Assert.AreEqual(_playlists, result); }
public async Task Query_DoesNotThrow() { var query = new GetPlaylists() .SkipCache(); var result = await _mockSession.Query(query); Assert.IsInstanceOf(typeof(List<Playlist>), result); Assert.AreEqual(_playlists, result); }
public async Task GetPlaylists_IsSerializable() { var query = new GetPlaylists() .SkipCache(); var result = await Global.Session.Query(query); var serializationUtility = new SerializationUtility<List<Playlist>>(); serializationUtility.AssertRoundTripSerializationIsPossible(result); }
public async Task GetPlaylists_SchemaIsValid() { var playlistsSchema = JSchema.Parse(File.ReadAllText(Halo5Config.PlaylistJsonSchemaPath), new JSchemaReaderSettings { Resolver = new JSchemaUrlResolver(), BaseUri = new Uri(Path.GetFullPath(Halo5Config.PlaylistJsonSchemaPath)) }); var query = new GetPlaylists() .SkipCache(); var jArray = await Global.Session.Get <JArray>(query.Uri); SchemaUtility.AssertSchemaIsValid(playlistsSchema, jArray); }
public async Task GetPlaylists_SchemaIsValid() { var playlistsSchema = JSchema.Parse(File.ReadAllText(Config.PlaylistJsonSchemaPath), new JSchemaReaderSettings { Resolver = new JSchemaUrlResolver(), BaseUri = new Uri(Path.GetFullPath(Config.PlaylistJsonSchemaPath)) }); var query = new GetPlaylists() .SkipCache(); var jArray = await Global.Session.Get<JArray>(query.GetConstructedUri()); SchemaUtility.AssertSchemaIsValid(playlistsSchema, jArray); }
public async Task GetPlaylists_ModelMatchesSchema() { var schema = JSchema.Parse(File.ReadAllText(Halo5Config.PlaylistJsonSchemaPath), new JSchemaReaderSettings { Resolver = new JSchemaUrlResolver(), BaseUri = new Uri(Path.GetFullPath(Halo5Config.PlaylistJsonSchemaPath)) }); var query = new GetPlaylists() .SkipCache(); var result = await Global.Session.Query(query); var json = JsonConvert.SerializeObject(result); var jContainer = JsonConvert.DeserializeObject <JContainer>(json); SchemaUtility.AssertSchemaIsValid(schema, jContainer); }
public void Uri_MatchesExpected() { var query = new GetPlaylists(); Assert.AreEqual("https://www.haloapi.com/metadata/h5/metadata/playlists", query.Uri); }
public void GetPlaylistsTest() { GetPlaylists request = new GetPlaylists(); var result = JsonConvert.DeserializeObject <KodiJSON.Playlist.Response.GetPlaylistsResponse>(ExecuteTest.GetResponse(request)); }
public async Task GetPlaylists_ModelMatchesSchema() { var schema = JSchema.Parse(File.ReadAllText(Config.PlaylistJsonSchemaPath), new JSchemaReaderSettings { Resolver = new JSchemaUrlResolver(), BaseUri = new Uri(Path.GetFullPath(Config.PlaylistJsonSchemaPath)) }); var query = new GetPlaylists() .SkipCache(); var result = await Global.Session.Query(query); var json = JsonConvert.SerializeObject(result); var jContainer = JsonConvert.DeserializeObject<JContainer>(json); SchemaUtility.AssertSchemaIsValid(schema, jContainer); }