Esempio n. 1
0
        public void ParseResponseTest()
        {
            var response = new HttpResponseMessage();

            response.StatusCode = System.Net.HttpStatusCode.OK;
            response.Content    = new StringContent(SearchResponse);
            var search = new GoodreadsApiBookSearch();

            var result = search.ParseResponse(response);

            Assert.AreEqual(2, result.NumResults);
            Assert.AreEqual(375802, result.BestMatch.BookID);
            Assert.AreEqual("Orson Scott Card", result.BestMatch.Author);
            Assert.AreEqual("Ender's Game (Ender's Saga, #1)", result.BestMatch.Title);
        }
Esempio n. 2
0
        public void CreateRequestTest()
        {
            var search = new GoodreadsApiBookSearch()
            {
                ApiKey  = "123",
                BaseUrl = "https://abc.invalid/search.xml",
                Query   = "x y z"
            };

            var request = search.CreateRequest();

            var uri = request.RequestUri;

            Assert.AreEqual(HttpMethod.Get, request.Method);
            Assert.AreEqual("https", uri.Scheme);
            Assert.AreEqual("abc.invalid", uri.Host);
            Assert.AreEqual("/search.xml", uri.AbsolutePath);
            var query = request.RequestUri.Query;

            Assert.IsTrue(query.Contains("q=x%20y%20z"));
            Assert.IsTrue(query.Contains("key=123"));
        }