public void TestSearchAlbums() { var result = new SpotifyMetadataApiClient().SearchAlbums("foo"); result.Should().NotBeNull(); result.Info.Should().NotBeNull(); result.Info.Limit.Should().Be(100); result.Info.NumResults.Should().BeGreaterOrEqualTo(30); result.Info.Offset.Should().Be(0); result.Info.Page.Should().Be(1); result.Info.Query.Should().Be("foo"); result.Info.Type.Should().Be("album"); result.Albums.Should().NotBeNullOrEmpty(); result.Albums.Find(o => o.Href == "spotify:album:1zCNrbPpz5OLSr6mSpPdKm").Should().NotBeNull(); result.Albums.Find(o => o.Href == "spotify:album:1zCNrbPpz5OLSr6mSpPdKm").Name.Should().Be("Greatest Hits"); result.Albums.Find(o => o.Href == "spotify:album:1zCNrbPpz5OLSr6mSpPdKm").Artist.Should().BeNull(); result.Albums.Find(o => o.Href == "spotify:album:1zCNrbPpz5OLSr6mSpPdKm").ArtistId.Should().BeNull(); result.Albums.Find(o => o.Href == "spotify:album:1zCNrbPpz5OLSr6mSpPdKm").Artists.Should().NotBeNullOrEmpty(); result.Albums.Find(o => o.Href == "spotify:album:1zCNrbPpz5OLSr6mSpPdKm").Availability.Should().NotBeNull(); result.Albums.Find(o => o.Href == "spotify:album:1zCNrbPpz5OLSr6mSpPdKm").Availability.Territories.Should().NotBeNullOrEmpty(); result.Albums.Find(o => o.Href == "spotify:album:1zCNrbPpz5OLSr6mSpPdKm").ExternalIds.Should().NotBeNullOrEmpty(); result.Albums.Find(o => o.Href == "spotify:album:1zCNrbPpz5OLSr6mSpPdKm").ExternalIds.First().Id.Should().NotBeNullOrEmpty(); result.Albums.Find(o => o.Href == "spotify:album:1zCNrbPpz5OLSr6mSpPdKm").ExternalIds.First().Type.Should().NotBeNullOrEmpty(); result.Albums.Find(o => o.Href == "spotify:album:1zCNrbPpz5OLSr6mSpPdKm").Released.Should().BeNull(); result.Albums.Find(o => o.Href == "spotify:album:1zCNrbPpz5OLSr6mSpPdKm").Href.Should().Be("spotify:album:1zCNrbPpz5OLSr6mSpPdKm"); result.Albums.Find(o => o.Href == "spotify:album:1zCNrbPpz5OLSr6mSpPdKm").Popularity.Should().NotBeNullOrEmpty(); }
public void TestLookupTrack() { var result = new SpotifyMetadataApiClient().LookupTrack("spotify:track:6NmXV4o6bmp704aPGyTVVG"); result.Should().NotBeNull(); result.Album.Should().NotBeNull(); result.Album.ArtistId.Should().BeNull(); result.Album.Artist.Should().BeNull(); result.Album.Artists.Should().NotBeNull(); result.Album.Artists.Should().BeEmpty(); result.Album.Availability.Should().BeNull(); result.Album.ExternalIds.Should().NotBeNull(); result.Album.ExternalIds.Should().BeEmpty(); result.Album.Href.Should().Be("spotify:album:6K8NUknbPh5TGaKeZdDwSg"); result.Album.Name.Should().Be("Mann Mot Mann (Ep)"); result.Album.Popularity.Should().BeNull(); result.Album.Released.Should().Be("2002"); result.Artists.Should().NotBeNullOrEmpty(); result.Artists.First().Href.Should().Be("spotify:artist:1s1DnVoBDfp3jxjjew8cBR"); result.Artists.First().Name.Should().Be("Kaizers Orchestra"); result.Available.Should().BeTrue(); result.Href.Should().Be("spotify:track:6NmXV4o6bmp704aPGyTVVG"); result.Length.Should().Be((decimal)317.04); result.Name.Should().Be("B\u00f8n Fra Helvete (Live)"); result.Popularity.Should().NotBeNullOrEmpty(); result.DiscNumber.Should().BeNull(); result.TrackNumber.Should().Be("2"); result.Availability.Should().NotBeNull(); result.Availability.Territories.Should().NotBeNullOrWhiteSpace(); result.ExternalIds.Should().NotBeNullOrEmpty(); result.ExternalIds.First().Id.Should().Be("NOPVA0203020"); result.ExternalIds.First().Type.Should().Be("isrc"); }
public void TestLookupArtist() { var result = new SpotifyMetadataApiClient().LookupArtist("spotify:artist:4YrKBkKSVeqDamzBPWVnSJ"); result.Should().NotBeNull(); result.Href.Should().Be("spotify:artist:4YrKBkKSVeqDamzBPWVnSJ"); result.Name.Should().Be("Basement Jaxx"); result.Albums.Should().NotBeNull(); result.Albums.Should().BeEmpty(); result.Popularity.Should().BeNull(); }
public void TestSearchTracks_Page2() { var result = new SpotifyMetadataApiClient().SearchTracks("foo", 400); result.Should().NotBeNull(); result.Info.Should().NotBeNull(); result.Info.Limit.Should().Be(100); result.Info.NumResults.Should().BeGreaterOrEqualTo(30); result.Info.Offset.Should().Be(39900); result.Info.Page.Should().Be(400); result.Info.Query.Should().Be("foo"); result.Info.Type.Should().Be("track"); result.Tracks.Should().NotBeNull(); result.Tracks.Should().BeEmpty(); }
public void TestLookupAlbum() { var result = new SpotifyMetadataApiClient().LookupAlbum("spotify:album:6G9fHYDCoyEErUkHrFYfs4"); result.Should().NotBeNull(); result.ArtistId.Should().Be("spotify:artist:4YrKBkKSVeqDamzBPWVnSJ"); result.Artist.Should().Be("Basement Jaxx"); result.Artists.Should().NotBeNull(); result.Artists.Should().BeEmpty(); result.Availability.Should().NotBeNull(); result.Availability.Territories.Should().NotBeNullOrWhiteSpace(); result.ExternalIds.Should().NotBeNullOrEmpty(); result.ExternalIds.First().Id.Should().NotBeNullOrEmpty(); result.ExternalIds.First().Type.Should().NotBeNullOrEmpty(); result.Href.Should().Be("spotify:album:6G9fHYDCoyEErUkHrFYfs4"); result.Name.Should().Be("Remedy"); result.Popularity.Should().BeNullOrEmpty(); result.Released.Should().Be("1999"); }
public void TestSearchArtists() { var result = new SpotifyMetadataApiClient().SearchArtists("foo"); result.Should().NotBeNull(); result.Info.Should().NotBeNull(); result.Info.Limit.Should().Be(100); result.Info.NumResults.Should().BeGreaterOrEqualTo(30); result.Info.Offset.Should().Be(0); result.Info.Page.Should().Be(1); result.Info.Query.Should().Be("foo"); result.Info.Type.Should().Be("artist"); result.Artists.Should().NotBeNullOrEmpty(); result.Artists.Find(o => o.Href == "spotify:artist:7jy3rLJdDQY21OgRLCZ9sD").Should().NotBeNull(); result.Artists.Find(o => o.Href == "spotify:artist:7jy3rLJdDQY21OgRLCZ9sD").Name.Should().Be("Foo Fighters"); result.Artists.Find(o => o.Href == "spotify:artist:7jy3rLJdDQY21OgRLCZ9sD").Albums.Should().NotBeNull(); result.Artists.Find(o => o.Href == "spotify:artist:7jy3rLJdDQY21OgRLCZ9sD").Albums.Should().BeEmpty(); result.Artists.Find(o => o.Href == "spotify:artist:7jy3rLJdDQY21OgRLCZ9sD").Href.Should().Be("spotify:artist:7jy3rLJdDQY21OgRLCZ9sD"); result.Artists.Find(o => o.Href == "spotify:artist:7jy3rLJdDQY21OgRLCZ9sD").Popularity.Should().NotBeNullOrEmpty(); }
public void TestSearchTracks() { var result = new SpotifyMetadataApiClient().SearchTracks("foo"); result.Should().NotBeNull(); result.Info.Should().NotBeNull(); result.Info.Limit.Should().Be(100); result.Info.NumResults.Should().BeGreaterOrEqualTo(30); result.Info.Offset.Should().Be(0); result.Info.Page.Should().Be(1); result.Info.Query.Should().Be("foo"); result.Info.Type.Should().Be("track"); result.Tracks.Should().NotBeNullOrEmpty(); result.Tracks.Find(o => o.Href == "spotify:track:07q6QTQXyPRCf7GbLakRPr").Should().NotBeNull(); result.Tracks.Find(o => o.Href == "spotify:track:07q6QTQXyPRCf7GbLakRPr").Name.Should().Be("Everlong"); result.Tracks.Find(o => o.Href == "spotify:track:07q6QTQXyPRCf7GbLakRPr").Album.Should().NotBeNull(); result.Tracks.Find(o => o.Href == "spotify:track:07q6QTQXyPRCf7GbLakRPr").Album.Artist.Should().BeNull(); result.Tracks.Find(o => o.Href == "spotify:track:07q6QTQXyPRCf7GbLakRPr").Album.ArtistId.Should().BeNull(); result.Tracks.Find(o => o.Href == "spotify:track:07q6QTQXyPRCf7GbLakRPr").Album.Artists.Should().BeEmpty(); result.Tracks.Find(o => o.Href == "spotify:track:07q6QTQXyPRCf7GbLakRPr").Album.Availability.Should().NotBeNull(); result.Tracks.Find(o => o.Href == "spotify:track:07q6QTQXyPRCf7GbLakRPr").Album.Availability.Territories.Should().NotBeNullOrEmpty(); result.Tracks.Find(o => o.Href == "spotify:track:07q6QTQXyPRCf7GbLakRPr").Album.ExternalIds.Should().BeEmpty(); result.Tracks.Find(o => o.Href == "spotify:track:07q6QTQXyPRCf7GbLakRPr").Album.Href.Should().Be("spotify:album:1zCNrbPpz5OLSr6mSpPdKm"); result.Tracks.Find(o => o.Href == "spotify:track:07q6QTQXyPRCf7GbLakRPr").Album.Name.Should().Be("Greatest Hits"); result.Tracks.Find(o => o.Href == "spotify:track:07q6QTQXyPRCf7GbLakRPr").Album.Popularity.Should().BeNull(); result.Tracks.Find(o => o.Href == "spotify:track:07q6QTQXyPRCf7GbLakRPr").Album.Released.Should().Be("2009"); result.Tracks.Find(o => o.Href == "spotify:track:07q6QTQXyPRCf7GbLakRPr").Artists.Should().NotBeNullOrEmpty(); result.Tracks.Find(o => o.Href == "spotify:track:07q6QTQXyPRCf7GbLakRPr").Availability.Should().BeNull(); result.Tracks.Find(o => o.Href == "spotify:track:07q6QTQXyPRCf7GbLakRPr").ExternalIds.Should().NotBeNullOrEmpty(); result.Tracks.Find(o => o.Href == "spotify:track:07q6QTQXyPRCf7GbLakRPr").ExternalIds.First().Id.Should().NotBeNullOrEmpty(); result.Tracks.Find(o => o.Href == "spotify:track:07q6QTQXyPRCf7GbLakRPr").ExternalIds.First().Type.Should().NotBeNullOrEmpty(); result.Tracks.Find(o => o.Href == "spotify:track:07q6QTQXyPRCf7GbLakRPr").Available.Should().NotHaveValue(); result.Tracks.Find(o => o.Href == "spotify:track:07q6QTQXyPRCf7GbLakRPr").DiscNumber.Should().BeNull(); result.Tracks.Find(o => o.Href == "spotify:track:07q6QTQXyPRCf7GbLakRPr").Length.Should().Be((decimal)249.986); result.Tracks.Find(o => o.Href == "spotify:track:07q6QTQXyPRCf7GbLakRPr").TrackNumber.Should().Be("3"); result.Tracks.Find(o => o.Href == "spotify:track:07q6QTQXyPRCf7GbLakRPr").Href.Should().Be("spotify:track:07q6QTQXyPRCf7GbLakRPr"); result.Tracks.Find(o => o.Href == "spotify:track:07q6QTQXyPRCf7GbLakRPr").Popularity.Should().NotBeNullOrEmpty(); }