Beispiel #1
0
        public async Task PlayContext_SpotifyUri_SpotifyApiErrorException()
        {
            // arrange
            const string userHash   = "E11AC28538A7C0A827A726DD9B30B710FC1FCAFFFE2E86FCA853AB90E7C710D2";
            const string spotifyUri = "spotify:user:palsvensson:playlist:2iL5fr6OmN8f4yoQvvuWSf";

            var http   = new HttpClient();
            var config = TestsHelper.GetLocalConfig();

            var accounts = new UserAccountsService(http, config, new MockRefreshTokenStore(userHash).Object, null);
            var api      = new PlayerApi(http, accounts);

            // act
            //try
            //{
            await api.PlayContext(userHash, spotifyUri);

            //}
            //catch (SpotifyApiErrorException ex)
            //{
            //Trace.WriteLine(ex.Message);

            //}

            // assert
        }
        public void Initialize()
        {
            var            http       = new HttpClient();
            IConfiguration testConfig = TestsHelper.GetLocalConfig();

            api      = new PlaylistsApi(http);
            usersApi = new UsersProfileApi(http);
        }
Beispiel #3
0
        public void Initialize()
        {
            var            http       = new HttpClient();
            IConfiguration testConfig = TestsHelper.GetLocalConfig();

            bearerAccessToken = testConfig.GetValue(typeof(string),
                                                    "SpotifyUserBearerAccessToken").ToString();
            var accounts = new AccountsService(http, testConfig);

            api = new LibraryApi(http, accounts);
        }
Beispiel #4
0
        public async Task GetFeaturedPlaylists_Limit2_ItemsLength2()
        {
            // arrange
            var http     = new HttpClient();
            var accounts = new AccountsService(http, TestsHelper.GetLocalConfig());

            var api = new BrowseApi(http, accounts);

            // act
            var response = await api.GetFeaturedPlaylists(country : SpotifyCountryCodes.New_Zealand, limit : 2);

            Assert.AreEqual(2, response.Items.Length);
        }
Beispiel #5
0
        public async Task GetCategories_Limit2_ItemsLength2()
        {
            // arrange
            var http     = new HttpClient();
            var accounts = new AccountsService(http, TestsHelper.GetLocalConfig());

            var api = new BrowseApi(http, accounts);

            // act
            var response = await api.GetCategories(limit : 2);

            Assert.AreEqual(2, response.Items.Length);
        }
        public async Task GetArtistsTopTracks_FromAppToken_SpotifyErrorException()
        {
            // arrange
            const string artistId = "1tpXaFf2F55E7kVJON4j4G";
            const string market   = SpotifyCountryCodes._From_Token;

            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);
        }
        public async Task GetTracks_NewAccountsService_ReturnsTracks()
        {
            // Testing @DanixPC's use case
            var http     = new HttpClient();
            var accounts = new AccountsService(http, TestsHelper.GetLocalConfig());
            var plapi    = new PlaylistsApi(http, accounts);
            var pl       = await plapi.GetTracks("4h4urfIy5cyCdFOc1Ff4iN");

            var pl_tr = pl.Items.ElementAt(0).Track.Name;

            var pl_page_2 = await plapi.GetTracks("4h4urfIy5cyCdFOc1Ff4iN", offset : 100);

            var pl_page_2_tr = pl_page_2.Items.ElementAt(0).Track.Name;
        }
Beispiel #8
0
        public async Task GetCategoryPlaylists_FromFirstNZCategoryLimit2_ItemsLength2()
        {
            // arrange
            var http     = new HttpClient();
            var accounts = new AccountsService(http, TestsHelper.GetLocalConfig());

            var api      = new BrowseApi(http, accounts);
            var category = (await api.GetCategories(limit: 1, country: SpotifyCountryCodes.New_Zealand)).Items[0];

            // act
            var response = await api.GetCategoryPlaylists(category.Id, country : SpotifyCountryCodes.New_Zealand, limit : 2);

            Assert.AreEqual(2, response.Items.Length);
        }
Beispiel #9
0
        public async Task GetCategory_FromNZCategories_SameCategoryHref()
        {
            // arrange
            var http     = new HttpClient();
            var accounts = new AccountsService(http, TestsHelper.GetLocalConfig());

            var api      = new BrowseApi(http, accounts);
            var category = (await api.GetCategories(limit: 1, country: SpotifyCountryCodes.New_Zealand)).Items[0];

            // act
            var response = await api.GetCategory(category.Id, country : SpotifyCountryCodes.New_Zealand);

            Assert.AreEqual(category.Href, response.Href);
        }
        public async Task GetUsersProfile_UserId_EmailIsNull()
        {
            // arrange
            var          http     = new HttpClient();
            var          accounts = new AccountsService(http, TestsHelper.GetLocalConfig());
            const string userId   = "daniellarsennz";

            var api = new UsersProfileApi(http, accounts);

            // act
            var response = await api.GetUsersProfile(userId);

            Assert.IsNull(response.Email);
        }
        public async Task GetUsersProfile_UserId_IdEqualsUserId()
        {
            // arrange
            var          http     = new HttpClient();
            var          accounts = new AccountsService(http, TestsHelper.GetLocalConfig());
            const string userId   = "daniellarsennz";

            var api = new UsersProfileApi(http, accounts);

            // act
            var response = await api.GetUsersProfile(userId);

            Assert.AreEqual(userId.ToLower(), response.Id.ToLower());
        }
        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);
        }
Beispiel #13
0
        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);
        }
Beispiel #14
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);
        }
Beispiel #15
0
        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 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);
        }
Beispiel #17
0
        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 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 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());
        }
Beispiel #20
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);
        }
Beispiel #21
0
        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);
        }
Beispiel #22
0
        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);
        }
Beispiel #23
0
        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);
        }
Beispiel #24
0
        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 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 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 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);
        }
Beispiel #29
0
        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);
        }
Beispiel #30
0
        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);
        }