Exemplo n.º 1
0
 public void EnsureSearchReturnsErrorForFailedCall()
 {
     IMusicClient client = new MusicClient("test", "test", "gb", new MockApiRequestHandler(FakeResponse.NotFound()));
     client.Search(
         (ListResponse<MusicItem> 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");
         },
         "green day");
 }
Exemplo n.º 2
0
 public void EnsureSearchReturnsItemsForValidSearch()
 {
     IMusicClient client = new MusicClient("test", "test", "gb", new SuccessfulMockApiRequestHandler());
     client.Search(
         (ListResponse<MusicItem> 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.OK, result.StatusCode.Value, "Expected a 200 response");
             Assert.IsNotNull(result.Result, "Expected a list of results");
             Assert.IsNull(result.Error, "Expected no error");
             Assert.Greater(result.Result.Count, 0, "Expected more than 0 results");
         },
         "lady gaga");
 }
Exemplo n.º 3
0
        public void EnsureApiNotAvailableExceptionThrownWhenRegionInfoCtorUsedAndCountryIsInvalid()
        {
            // First test the public constructor...
            MusicClient publicClient = new MusicClient("test", "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", "test", new MockApiRequestHandler(FakeResponse.NotFound()));
            client.Search(
                (ListResponse<MusicItem> response) =>
                {
                    Assert.IsNotNull(response.Error, "Expected an Error");
                    Assert.AreEqual(typeof(ApiNotAvailableException), response.Error.GetType(), "Expected an ApiNotAvailableException");
                },
                "test");
        }
Exemplo n.º 4
0
        public void EnsureSearchReturnsItemsForValidSearch()
        {
            IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.search_all));
            client.Search(
                (ListResponse<MusicItem> 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.OK, result.StatusCode.Value, "Expected a 200 response");
                    Assert.IsNotNull(result.Result, "Expected a list of results");
                    Assert.IsNull(result.Error, "Expected no error");
                    Assert.Greater(result.Result.Count, 0, "Expected more than 0 results");

                    foreach (MusicItem item in result.Result)
                    {
                        Assert.IsFalse(string.IsNullOrEmpty(item.Id), "Expected Id to be populated");
                        Assert.IsFalse(string.IsNullOrEmpty(item.Name), "Expected Name to be populated");
                        Assert.IsNotNull(item.Thumb100Uri, "Expected a thumbnail uri");
                    }
                },
                "lady gaga");
        }
Exemplo n.º 5
0
 public void EnsureInvalidApiCredentialsExceptionThrownWhenServerGives403()
 {
     MusicClient client = new MusicClient("badkey", "test", "us", new MockApiRequestHandler(FakeResponse.Forbidden()));
     client.Search(
         (ListResponse<MusicItem> response) =>
         {
             Assert.IsNotNull(response.Error, "Expected an Error");
             Assert.AreEqual(typeof(InvalidApiCredentialsException), response.Error.GetType(), "Expected an InvalidApiCredentialsException");
         },
         "test");
 }
Exemplo n.º 6
0
 public void EnsureSearchThrowsExceptionForNullCallback()
 {
     IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.search_all));
     client.Search(null, "lady gaga");
 }
Exemplo n.º 7
0
 public void EnsureSearchThrowsExceptionForNullSearchTerm()
 {
     IMusicClient client = new MusicClient("test", "gb", new MockApiRequestHandler(Resources.search_all));
     client.Search((ListResponse<MusicItem> resp) => { }, null);
 }