public void EnsureGetProductReturnsErrorForFailedCall() { IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(FakeResponse.NotFound())); client.GetProduct( (Response<Product> 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.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"); }, "test"); }
public void EnsureApiNotAvailableExceptionThrownWhenRegionInfoCtorUsedAndCountryIsInvalidForItemMethods() { // 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())); client.GetProduct( (Response<Product> response) => { Assert.IsNotNull(response.Error, "Expected an Error"); Assert.AreEqual(typeof(ApiNotAvailableException), response.Error.GetType(), "Expected an ApiNotAvailableException"); }, "test"); }
public void EnsureInvalidApiCredentialsExceptionThrownWhenServerGives403ForItemMethods() { MusicClient client = new MusicClient("badkey", "us", new MockApiRequestHandler(FakeResponse.Forbidden())); client.GetProduct( (Response<Product> response) => { Assert.IsNotNull(response.Error, "Expected an Error"); Assert.AreEqual(typeof(InvalidApiCredentialsException), response.Error.GetType(), "Expected an InvalidApiCredentialsException"); }, "test"); }
public void EnsureGetProductThrowsExceptionForNullProductId() { string nullId = null; IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.single_product)); client.GetProduct((Response<Product> result) => { }, nullId); }
public void EnsureGetProductThrowsExceptionForNullCallback() { IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.single_product)); client.GetProduct(null, "test"); }
public void EnsureGetProductReturnsItems() { IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.single_product)); client.GetProduct(this.ValidateProductResponse, "test"); }