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"); }
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"); }
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); }
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()); }
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()); }
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"); }
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"); }
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"); }
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"); }
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"); }
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"); }
public async Task EnsureCheckAvailabilityIsTreatedAsErrorForNetworkFailure() { CountryResolver client = new CountryResolver("test", new MockApiRequestHandler(FakeResponse.NotFound())); bool result = await client.CheckAvailabilityAsync("xx"); }
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"); }
public async Task EnsureAuthRequiredExceptionThrownForUnAuthedClient() { IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(FakeResponse.NotFound())); var result = await client.GetUserTopArtistsAsync(); }
public async Task EnsureRefreshAuthenticationTokenAsyncThrowsWhenNoTokenSet() { var client = new MusicClient("test", "gb", new MockApiRequestHandler(FakeResponse.NotFound())); await client.RefreshAuthenticationTokenAsync("secret"); }