public async Task TransferPlayback_GetDevice1IdPlayTrue_NoException() { // arrange var http = new HttpClient(); IPlayerApi player = new PlayerApi(http); string accessToken = await TestsHelper.GetUserAccessToken(); var devices = await player.GetDevices(accessToken : accessToken); // act if (devices.Any()) { await player.TransferPlayback(devices.Last().Id, play : true, accessToken : accessToken); } }
public async Task GetTracks_TrackIdsMarket_AvailableMarketsIsNull() { // arrange string[] trackIds = new[] { "5lA3pwMkBdd24StM90QrNR", "20I6sIOMTCkB6w7ryavxtO", "7xGfFoTpQ2E7fRF5lN10tr" }; var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new TracksApi(http, accounts); // act var response = await api.GetTracks(trackIds, SpotifyCountryCodes.New_Zealand); // assert Assert.IsNull(response[0].AvailableMarkets); }
public async Task SearchAlbums_AlbumName_FirstAlbumNameMatches() { // arrange const string albumName = "Trojan Presents: Dub"; var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var albums = new AlbumsApi(http, accounts); // act var result = await albums.SearchAlbums(albumName); // assert Assert.AreEqual(albumName, result.Albums.Items[0].Name); }
public async Task GetRelatedArtists_When_Given_Valid_ArtistId_Returns_Artists() { // arrange const string artistId = "6lcwlkAjBPSKnFBZjjZFJs"; var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var artists = new ArtistsApi(http, accounts); // act var result = await artists.GetRelatedArtists(artistId); // assert Assert.AreNotSame(result.Length, 0); }
public async Task GetAvailableGenreSeeds_NoParams_NoError() { // arrange var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new BrowseApi(http, accounts); // act var response = await api.GetAvailableGenreSeeds(); string name = response[0]; Trace.WriteLine(name); }
public async Task GetNewReleases_NoParams_NoError() { // arrange var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new BrowseApi(http, accounts); // act var response = await api.GetNewReleases(); string name = response.Items[0].Name; Trace.WriteLine(name); }
public async Task GetArtistsAlbums_Limit2_ItemsLength2() { // arrange const string artistId = "1tpXaFf2F55E7kVJON4j4G"; var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var artists = new ArtistsApi(http, accounts); // act var result = await artists.GetArtistsAlbums(artistId, country : SpotifyCountryCodes.New_Zealand, limit : 2); // assert Assert.AreEqual(2, result.Items.Length); }
public async Task SearchArtists_ArtistName_FirstArtistNameMatches() { // arrange const string artistName = "Radiohead"; var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var artists = new ArtistsApi(http, accounts); // act var result = await artists.SearchArtists(artistName, 3); // assert Assert.AreEqual(artistName, result.Artists.Items[0].Name); }
public async Task GetRecentlyPlayedTracks_GetNextPage_ItemsAny() { // arrange var http = new HttpClient(); IPlayerApi player = new PlayerApi(http); string accessToken = await TestsHelper.GetUserAccessToken(); // act var history = await player.GetRecentlyPlayedTracks(accessToken : accessToken); var moreHistory = await player.GetRecentlyPlayedTracks(before : history.Cursors.Before, accessToken : accessToken); // assert Assert.IsTrue(moreHistory.Items.Any()); }
public async Task GetTracksAudioFeatures_TrackIds_ThreeFeatures() { // arrange string[] trackIds = new[] { "5lA3pwMkBdd24StM90QrNR", "20I6sIOMTCkB6w7ryavxtO", "7xGfFoTpQ2E7fRF5lN10tr" }; var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new TracksApi(http, accounts); // act var response = await api.GetTracksAudioFeatures(trackIds); // assert Assert.IsTrue(response != null && response.Length == 3); }
public async Task GetTrackAudioFeatures_TrackId_TempoNotZero() { // arrange const string trackId = "5lA3pwMkBdd24StM90QrNR"; var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new TracksApi(http, accounts); // act var response = await api.GetTrackAudioFeatures(trackId); // assert Assert.IsTrue(response.Tempo != 0); }
public async Task GetTrack_TrackId_CorrectTrackName() { // arrange const string trackId = "5lA3pwMkBdd24StM90QrNR"; var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new TracksApi(http, accounts); // act var response = await api.GetTrack(trackId); // assert Assert.AreEqual("P.Y.T. (Pretty Young Thing)", response.Name); }
public async Task GetUsersProfile_NoUserId_DeserializedResponse() { // arrange var config = TestsHelper.GetLocalConfig(); var accessToken = config["SpotifyUserBearerAccessToken"]; var http = new HttpClient(); var accounts = new UserAccountsService(http, config); var api = new UsersProfileApi(http, accounts); // act // must use a User Access Token for this call var response = await api.GetCurrentUsersProfile(accessToken : accessToken); Assert.IsNotNull(response); }
public async Task GetTrack_TrackIdNoMarket_MarketsArrayExists() { // arrange const string trackId = "5lA3pwMkBdd24StM90QrNR"; var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new TracksApi(http, accounts); // act var response = await api.GetTrack(trackId); // assert Assert.IsTrue(response.AvailableMarkets.Length > 0); }
public async Task GetArtistsTopTracks_NZCountryCode_ArtistIdMatches() { // arrange const string artistId = "1tpXaFf2F55E7kVJON4j4G"; const string market = SpotifyCountryCodes.New_Zealand; var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var artists = new ArtistsApi(http, accounts); // act var result = await artists.GetArtistsTopTracks(artistId, market); // assert Assert.AreEqual(artistId, result[0].Artists[0].Id); }
public async Task GetArtists_2ValidArtists_ArtistIdsMatch() { // arrange string[] artistIds = new[] { "1tpXaFf2F55E7kVJON4j4G", "0oSGxfWSnnOXhD2fKuz2Gy" }; var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var artists = new ArtistsApi(http, accounts); // act var result = await artists.GetArtists(artistIds); // assert Assert.AreEqual(artistIds[0], result[0].Id); Assert.AreEqual(artistIds[1], result[1].Id); }
public async Task SearchPlaylists_PlaylistName_AnyItems() { // arrange const string query = "dance"; var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new PlaylistsApi(http, accounts); // act var response = await api.SearchPlaylists(query); // assert Assert.IsTrue(response.Items.Any()); }
public async Task GetArtist_ArtistsId_CorrectArtistName() { // arrange const string artistId = "1tpXaFf2F55E7kVJON4j4G"; var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new ArtistsApi(http, accounts); // act var response = await api.GetArtist(artistId); // assert Assert.AreEqual("Black Rebel Motorcycle Club", response.Name); }
public async Task GetTracks_TrackIdsNoMarket_MarketsArrayPopulated() { // arrange string[] trackIds = new[] { "5lA3pwMkBdd24StM90QrNR", "20I6sIOMTCkB6w7ryavxtO", "7xGfFoTpQ2E7fRF5lN10tr" }; var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new TracksApi(http, accounts); // act var response = await api.GetTracks(trackIds); // assert Assert.IsTrue(response[0].AvailableMarkets.Length > 0); }
public async Task GetTrack_TrackIdMarket_AvailableMarketsIsNull() { // arrange const string trackId = "11dFghVXANMlKmJXsNCbd8"; const string market = SpotifyCountryCodes.Spain; var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new TracksApi(http, accounts); // act var response = await api.GetTrack(trackId, market); // assert Assert.IsNull(response?.AvailableMarkets?.Length == 0 ? null : "Array not empty."); }
public async Task GetTrack_TrackIdMarket_AvailableMarketsIsNull() { // arrange const string trackId = "5lA3pwMkBdd24StM90QrNR"; const string market = SpotifyCountryCodes.New_Zealand; var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new TracksApi(http, accounts); // act var response = await api.GetTrack(trackId, market); // assert Assert.IsNull(response.AvailableMarkets); }
public async Task GetRecommendations_SeedArtists_NoError() { // arrange string[] seedArtists = new[] { "1tpXaFf2F55E7kVJON4j4G", "4Z8W4fKeB5YxbusRsdQVPb" }; var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new BrowseApi(http, accounts); // act var response = await api.GetRecommendations(seedArtists, null, null); string name = response.Tracks[0].Name; Trace.WriteLine(name); }
public async Task ChangePlaylistDetails_NewNameDescriptionNotChanged_PlaylistDescriptionEqualsOriginalDescription() { string accessToken = await TestsHelper.GetUserAccessToken(); string description = $"_Test{Guid.NewGuid():N}"; string newName = $"_Test{Guid.NewGuid():N}"; var playlist = await CreatePlaylist(accessToken, description); // act await api.ChangePlaylistDetails(playlist.Id, new PlaylistDetails { Name = newName }, accessToken : await TestsHelper.GetUserAccessToken()); // assert var changedPlaylist = await api.GetPlaylist(playlist.Id, accessToken); Assert.AreEqual(description, changedPlaylist.Description); }
public async Task GetAlbums_2ValidAlbums_AlbumIdsMatch() { // arrange // spotify:album:49PXnWG6cuZbCZSolJWrYa string[] albumIds = new[] { "5ObHI23lQY2S5FGizlNrob", "49PXnWG6cuZbCZSolJWrYa" }; var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var albums = new AlbumsApi(http, accounts); // act var result = await albums.GetAlbums(albumIds); // assert Assert.AreEqual(albumIds[0], result[0].Id); Assert.AreEqual(albumIds[1], result[1].Id); }
public async Task SearchTracks_Isrc_CorrectResult() { // arrange const string isrc = "USUM71703861"; const string query = "isrc:" + isrc; var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new TracksApi(http, accounts); // act var response = await api.SearchTracks(query); // assert Assert.AreEqual(isrc, response.Items[0].ExternalIds.Isrc); }
public async Task GetAlbum_AlbumsId_CorrectAlbumName() { // arrange // spotify:album:5ObHI23lQY2S5FGizlNrob const string albumId = "5ObHI23lQY2S5FGizlNrob"; var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new AlbumsApi(http, accounts); // act var response = await api.GetAlbum(albumId); // assert Assert.AreEqual("Trojan Presents: Dub", response.Name); }
public async Task SearchTracks_NonExistentIsrc_ItemsZero() { // arrange const string isrc = "NOPE12345678"; const string query = "isrc:" + isrc; var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new TracksApi(http, accounts); // act var response = await api.SearchTracks(query); // assert Assert.AreEqual(0, response.Items.Length); }
public async Task GetArtistsAlbums_IncludeGroupsSingles_ItemsAllSingles() { // arrange const string artistId = "1tpXaFf2F55E7kVJON4j4G"; var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var artists = new ArtistsApi(http, accounts); // act var result = await artists.GetArtistsAlbums( artistId, country : SpotifyCountryCodes.New_Zealand, includeGroups : new[] { SpotifyArtistAlbumGroups.Single }); // assert Assert.IsTrue(result.Items.All(a => a.AlbumType == SpotifyArtistAlbumGroups.Single)); }
//[TestMethod] // not a reliable test - intermittent gateway timeout on Spotify end public async Task GetTrackAudioAnalysis_TrackId_BarsIsNotNullOrZero() { // arrange const string trackId = "5lA3pwMkBdd24StM90QrNR"; var http = new HttpClient(); http.Timeout = TimeSpan.FromSeconds(30); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new TracksApi(http, accounts); // act var response = await api.GetTrackAudioAnalysis(trackId); // assert Assert.IsTrue(response.Bars != null && response.Bars.Length > 0); }
public async Task GetTracks_TrackIds_CorrectTrackNames() { // arrange string[] trackIds = new[] { "11dFghVXANMlKmJXsNCbNl", "20I6sIOMTCkB6w7ryavxtO", "7xGfFoTpQ2E7fRF5lN10tr" }; var http = new HttpClient(); var accounts = new AccountsService(http, TestsHelper.GetLocalConfig()); var api = new TracksApi(http, accounts); // act var response = await api.GetTracks(trackIds); // assert Assert.AreEqual("Cut To The Feeling", response[0].Name); Assert.AreEqual("Call Me Maybe", response[1].Name); Assert.AreEqual("Run Away With Me", response[2].Name); }