Beispiel #1
0
        public void SpeciesObservationSearchCriteriaAPIPost()
        {
            using (ShimsContext.Create())
            {
                // Arrange
                var shimHttpClient = new ShimHttpClient(httpClient);

                // Act
                shimHttpClient.PostAsyncUriHttpContent = (uri, content) =>
                {
                    var responseTask = new TaskCompletionSource <HttpResponseMessage>();
                    var httpResponse = new HttpResponseMessage
                    {
                        StatusCode = HttpStatusCode.Created,
                        Content    = new ObjectContent(typeof(MySettings), new MySettings(), new JsonMediaTypeFormatter())
                    };

                    responseTask.SetResult(httpResponse);
                    return(responseTask.Task);
                };
                httpResponseMessage = httpClient.PostAsync(SPECIES_OBSERVATION_SEARCH_CRITERIA_API_URI, null).Result;

                // Assert
                Assert.IsNotNull(httpResponseMessage);
                Assert.IsTrue(httpResponseMessage.IsSuccessStatusCode);
                Assert.AreEqual(httpResponseMessage.StatusCode, HttpStatusCode.Created);
                result = javaScriptSerializer.Deserialize <MySettings>(httpResponseMessage.Content.ReadAsStringAsync().Result);
                Assert.IsNotNull(result);
            }
        }
Beispiel #2
0
        public void SpeciesObservationSearchCriteriaAPIDelete()
        {
            using (ShimsContext.Create())
            {
                // Arrange
                var shimHttpClient = new ShimHttpClient(httpClient);

                // Act
                shimHttpClient.DeleteAsyncUri = (uri) =>
                {
                    var responseTask = new TaskCompletionSource <HttpResponseMessage>();
                    var httpResponse = new HttpResponseMessage {
                        StatusCode = HttpStatusCode.NotImplemented
                    };

                    responseTask.SetResult(httpResponse);
                    return(responseTask.Task);
                };
                httpResponseMessage = httpClient.DeleteAsync(SPECIES_OBSERVATION_SEARCH_CRITERIA_API_URI).Result;

                // Assert
                Assert.IsNotNull(httpResponseMessage);
                Assert.IsFalse(httpResponseMessage.IsSuccessStatusCode);
                Assert.AreEqual(httpResponseMessage.StatusCode, HttpStatusCode.NotImplemented);
            }
        }
Beispiel #3
0
        private ShimHttpClient Get_MockGetClient(bool successCode)
        {
            var expectedResponse = new ShimHttpResponseMessage();
            var client           = new ShimHttpClient();

            expectedResponse.IsSuccessStatusCodeGet = () => successCode;
            client.GetAsyncString = (uri) => Task.FromResult <HttpResponseMessage>(expectedResponse);
            return(client);
        }
Beispiel #4
0
        public void GetAtomSyndicationFeed_Success()
        {
            using (ShimsContext.Create())
            {
                // Arrange
                var request = new HttpRequestMessage();
                var client  = new ShimHttpClient();
                client.GetStringAsyncString     = (uri) => Task.FromResult(GetMockSyndiactionFeed());
                client.DefaultRequestHeadersGet = () => request.Headers;

                // Act
                var feed = Sfa.Core.Net.Http.HttpClientExtensions.GetAtomSyndicationFeed(client, "test");

                // Assert
                Assert.AreEqual("Sample Feed Title", feed.Title.Text);
                Assert.AreEqual(1, feed.Items.Count());
            }
        }
Beispiel #5
0
        public void SpeciesObservationSearchCriteriaAPIPut()
        {
            using (ShimsContext.Create())
            {
                // Arrange
                var        shimHttpClient = new ShimHttpClient(httpClient);
                MySettings mySettings     = new MySettings();

                mySettings.Filter.Taxa.IsActive = true;
                mySettings.Filter.Taxa.TaxonIds.Add(34);

                MySettingsWebAPI mySettingsWebAPI = new MySettingsWebAPI {
                    Filter = mySettings.Filter
                };

                // Act
                shimHttpClient.PutAsyncUriHttpContent = (uri, content) =>
                {
                    SessionHandler.MySettings.Filter = mySettingsWebAPI.Filter;

                    var responseTask = new TaskCompletionSource <HttpResponseMessage>();
                    var httpResponse = new HttpResponseMessage
                    {
                        StatusCode = HttpStatusCode.OK,
                        Content    = new ObjectContent(typeof(MySettings), SessionHandler.MySettings, new JsonMediaTypeFormatter())
                    };

                    responseTask.SetResult(httpResponse);
                    return(responseTask.Task);
                };
                httpResponseMessage = httpClient.PutAsync(SPECIES_OBSERVATION_SEARCH_CRITERIA_API_URI, null).Result;

                // Assert
                Assert.IsNotNull(httpResponseMessage);
                Assert.IsTrue(httpResponseMessage.IsSuccessStatusCode);
                result = javaScriptSerializer.Deserialize <MySettings>(httpResponseMessage.Content.ReadAsStringAsync().Result);
                Assert.IsNotNull(result);
                Assert.AreEqual(mySettings.Filter.Taxa.TaxonIds[0], result.Filter.Taxa.TaxonIds[0]);
            }
        }