Exemple #1
0
        public void EnsureAuthTokenSetCorrectly()
        {
            var client = new MusicClient("test", "gb", new MockApiRequestHandler(FakeResponse.NotFound()));

            client.SetAuthenticationToken(AuthTokenTests.GetTestAuthToken());
            Assert.AreEqual(true, client.IsUserAuthenticated, "Expected an authenticated user");
            Assert.AreEqual(true, client.IsUserTokenActive, "Expected an authenticated user");
        }
Exemple #2
0
        public async Task EnsureRefreshAuthenticationTokenAsyncReturnsExistingTokenIfValid()
        {
            var client = new MusicClient("test", "gb", new MockApiRequestHandler(FakeResponse.NotFound()));
            var token  = AuthTokenTests.GetTestAuthToken();

            client.SetAuthenticationToken(token);
            var result = await client.RefreshAuthenticationTokenAsync("secret");

            Assert.AreEqual(token.AccessToken, result.AccessToken, "Expected the same token");
        }
Exemple #3
0
        public void EnsureCountryResolverPassesDefaultSettings()
        {
            MockApiRequestHandler mockHandler = new MockApiRequestHandler(FakeResponse.NotFound());
            ICountryResolver      client      = new CountryResolver("test1", mockHandler);

            client.CheckAvailability(result => Assert.IsNotNull(result, "Expected a result"), "xx");

            Assert.AreEqual("test1", mockHandler.LastUsedSettings.AppId);
            Assert.AreEqual(null, mockHandler.LastUsedSettings.CountryCode);
            Assert.AreEqual(false, mockHandler.LastUsedSettings.CountryCodeBasedOnRegionInfo);
        }
Exemple #4
0
        public void EnsureUriIsBuiltCorrectlyForTrack()
        {
            StringBuilder uri = new StringBuilder("http://api.ent.nokia.com/1.x/gb/");
            var           cmd = new NewReleasesCommand
            {
                RequestHandler = new MockApiRequestHandler(FakeResponse.NotFound()),
                Category       = Category.Track,
                ClientSettings = new MockMusicClientSettings(string.Empty, string.Empty, string.Empty)
            };

            cmd.AppendUriPath(uri);
            Assert.AreEqual("http://api.ent.nokia.com/1.x/gb/products/new/track/", uri.ToString());
        }
Exemple #5
0
        public void EnsureUriIsBuiltCorrectlyForGenreAlbum()
        {
            StringBuilder uri = new StringBuilder("http://api.ent.nokia.com/1.x/gb/");
            var           cmd = new TopProductsCommand
            {
                RequestHandler = new MockApiRequestHandler(FakeResponse.NotFound()),
                Category       = Category.Album,
                GenreId        = "pop",
                ClientSettings = new MockMusicClientSettings(string.Empty, string.Empty, string.Empty)
            };

            cmd.AppendUriPath(uri);
            Assert.AreEqual("http://api.ent.nokia.com/1.x/gb/genres/pop/charts/album/", uri.ToString());
        }
Exemple #6
0
        public async Task EnsureApiNotAvailableExceptionThrownWhenRegionInfoCtorUsedAndCountryIsInvalidForListMethods()
        {
            // First test the public constructor...
            MusicClient publicClient = new MusicClient("test");

            // Now test the handling of non-availability...

            // Our REST API will give a 404 response when the country code is not valid, so this test
            // ensures that gets translated into an ApiNotAvailableException when the RegionInfo constructor is used.
            MusicClient client = new MusicClient("test", new MockApiRequestHandler(FakeResponse.NotFound()));
            ListResponse <MusicItem> response = await client.SearchAsync("test");

            Assert.IsNotNull(response.Error, "Expected an Error");
            Assert.AreEqual(typeof(ApiNotAvailableException), response.Error.GetType(), "Expected an ApiNotAvailableException");
        }
Exemple #7
0
        public async Task EnsureGetAuthenticationTokenAsyncReturnsExistingTokenIfValid()
        {
            var client = new MusicClient("test", "gb", new MockApiRequestHandler(FakeResponse.NotFound()));
            var token  = AuthTokenTests.GetTestAuthToken();

            client.SetAuthenticationToken(token);
            var result = await client.GetAuthenticationTokenAsync("secret", "code");

            Assert.AreEqual(token.AccessToken, result.AccessToken, "Expected the same token");
            Assert.IsTrue(client.IsUserAuthenticated, "Expected an auth'd user");

            // Now clear the token...
            client.SetAuthenticationToken(null);
            Assert.IsFalse(client.IsUserAuthenticated, "Expected an un-auth'd user");
        }
Exemple #8
0
        public async Task EnsureGetMixesReturnsErrorForFailedCall()
        {
            IMusicClient       client = new MusicClient("test", "gb", new MockApiRequestHandler(FakeResponse.NotFound()));
            ListResponse <Mix> result = await client.GetMixesAsync("test");

            Assert.IsNotNull(result, "Expected a result");
            Assert.IsNotNull(result.StatusCode, "Expected a status code");
            Assert.IsTrue(result.StatusCode.HasValue, "Expected a status code");
            Assert.AreNotEqual(HttpStatusCode.OK, result.StatusCode.Value, "Expected a non-OK response");
            Assert.IsNotNull(result.Error, "Expected an error");
            Assert.AreEqual(typeof(ApiCallFailedException), result.Error.GetType(), "Expected an ApiCallFailedException");
        }
Exemple #9
0
        public async Task EnsureGetMixThrowsForBadId()
        {
            IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(FakeResponse.NotFound()));
            Mix          result = await client.GetMixAsync("badid");

            Assert.IsNotNull(result, "Expected a result");
        }
Exemple #10
0
        public void EnsureCheckAvailabilityReturnsFailsForInvalidCountry()
        {
            Guid            requestId = new Guid();
            CountryResolver client    = new CountryResolver("test", new MockApiRequestHandler(FakeResponse.NotFound("{}")), requestId);

            client.CheckAvailability(
                (Response <bool> result) =>
            {
                Assert.IsNotNull(result, "Expected a result");
                Assert.IsNotNull(result.StatusCode, "Expected a status code");
                Assert.IsTrue(result.StatusCode.HasValue, "Expected a status code");
                Assert.AreEqual(HttpStatusCode.NotFound, result.StatusCode.Value, "Expected a 404 response");
                Assert.IsNotNull(result.Result, "Expected a result");
                Assert.IsFalse(result.Result, "Expected a false result");
                Assert.AreEqual(requestId, result.RequestId, "Expected a matching request Id");
                Assert.IsNull(result.Error, "Expected no error");
            },
                "xx");
        }
Exemple #11
0
        public void EnsureCheckAvailabilityIsTreatedAsErrorForNetworkFailure()
        {
            Guid            requestId = new Guid();
            CountryResolver client    = new CountryResolver("test", new MockApiRequestHandler(FakeResponse.NotFound()), requestId);

            client.CheckAvailability(
                (Response <bool> result) =>
            {
                Assert.IsNotNull(result.Error, "Expected an error");
            },
                "xx");
        }
Exemple #12
0
 public async Task EnsureCheckAvailabilityIsTreatedAsErrorForNetworkFailure()
 {
     CountryResolver client = new CountryResolver("test", new MockApiRequestHandler(FakeResponse.NotFound()));
     bool            result = await client.CheckAvailabilityAsync("xx");
 }
Exemple #13
0
        public async Task EnsureCheckAvailabilityReturnsFailsForInvalidCountry()
        {
            CountryResolver client = new CountryResolver("test", new MockApiRequestHandler(FakeResponse.NotFound("{}")));
            bool            result = await client.CheckAvailabilityAsync("xx");

            Assert.IsFalse(result, "Expected a false result");
        }
Exemple #14
0
 public async Task EnsureAuthRequiredExceptionThrownForUnAuthedClient()
 {
     IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(FakeResponse.NotFound()));
     var          result = await client.GetUserTopArtistsAsync();
 }
Exemple #15
0
 public async Task EnsureRefreshAuthenticationTokenAsyncThrowsWhenNoTokenSet()
 {
     var client = new MusicClient("test", "gb", new MockApiRequestHandler(FakeResponse.NotFound()));
     await client.RefreshAuthenticationTokenAsync("secret");
 }