Exemple #1
0
        public void PatchAsyncWrapperT_WhenReceiveUnsucessStatusCode_Throws()
        {
            ChangeDefaultHttpResponce("", HttpStatusCode.NotFound);
            var model = new TestModelClass {
                Proprety = 0
            };

            Assert.ThrowsAsync <ArgumentException>(async() => await _requestWrapper.PatchAsyncWrapper(model, _testEndpoing));
        }
Exemple #2
0
        public async Task PatchAsyncWrapperT_WhenCalled_MakeUseOfIAsyncPolicy()
        {
            var policyMock = MockHttpResponcePolicy();
            var testModel  = new TestModelClass {
                Proprety = 0
            };

            var result = await _requestWrapper.PatchAsyncWrapper(testModel, _testEndpoing);

            policyMock.Verify(policy => policy.ExecuteAsync(It.IsAny <Func <Task <HttpResponseMessage> > >()), Times.AtLeastOnce);
        }
Exemple #3
0
        public async Task PatchAsyncWrapperT_WhenReceiveSucessStatusCode_ReturnTrue()
        {
            ChangeDefaultHttpResponce("", HttpStatusCode.OK);
            var model = new TestModelClass {
                Proprety = 0
            };

            var result = await _requestWrapper.PatchAsyncWrapper(model, _testEndpoing);

            Assert.IsTrue(result);
        }
Exemple #4
0
        public async Task GetAsyncWrapperT_WhenReceiveValidJson_ReturnsCorrectlyDeserealizedObject()
        {
            ChangeDefaultHttpResponce("{\"property\": \"1\"}", HttpStatusCode.OK);
            var expectedObject = new TestModelClass {
                Proprety = 1
            };

            var result = await _requestWrapper.GetAsyncWrapper <TestModelClass>(_testEndpoing);

            Assert.AreEqual(expectedObject, result);
        }
Exemple #5
0
        public async Task PatchAsyncWrapperT_WhenCalled_MakeUseOfHttpClientWithCorrectMethodAndEndpoint()
        {
            var testModel = new TestModelClass {
                Proprety = 0
            };
            Expression <Func <HttpRequestMessage, bool> > verifyMessageMatch = message => message.Method == new HttpMethod("PATCH") &&
                                                                               message.RequestUri.OriginalString == _testEndpoing;

            var result = await _requestWrapper.PatchAsyncWrapper(testModel, _testEndpoing);

            _moqHttpClientHandler.Protected().As <IHttpClientHandlerProtectedMembers>()
            .Verify(handler => handler.SendAsync(It.Is(verifyMessageMatch), It.IsAny <CancellationToken>()), Times.Once());
        }
Exemple #6
0
        public async Task PatchAsyncWrapperTInTOut_WhenReceiveValidJson_ReturnsCorrectlyDeserealizedObject()
        {
            var modelToSend = new TestModelClass {
                Proprety = 0
            };
            var incomingHttpResponce = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent("{\"property\": \"1\"}")
            };

            ChangeDefaultHttpResponce(incomingHttpResponce);
            var expectedObject = new TestModelClass {
                Proprety = 1
            };

            var result = await _requestWrapper.PatchAsyncWrapper <TestModelClass, TestModelClass>(modelToSend, _testEndpoing);

            Assert.AreEqual(expectedObject, result);
        }
Exemple #7
0
        public async Task PostFormUrlEncodedContentAsyncWrapperTout_WhenReceiveValidJson_ReturnsCorrectlyDeserealizedObject()
        {
            var testContent = new Dictionary <string, string> {
                ["test"] = "test"
            };
            var incomingHttpResponce = new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent("{\"property\": \"1\"}")
            };

            ChangeDefaultHttpResponce(incomingHttpResponce);
            var expectedObject = new TestModelClass {
                Proprety = 1
            };

            var result = await _requestWrapper.PostFormUrlEncodedContentAsyncWrapper <TestModelClass>(testContent, _testEndpoing);

            Assert.AreEqual(expectedObject, result);
        }
Exemple #8
0
        public async Task PatchAsyncWrapperT_WhenCalled_UseCorrectMessageContent()
        {
            string sentContent = default;
            var    testModel   = new TestModelClass {
                Proprety = 0
            };
            var expectedContent = new StringContent(JsonConvert.SerializeObject(testModel, _commonSerializerSettings));

            _moqHttpClientHandler.Protected().As <IHttpClientHandlerProtectedMembers>()
            .Setup(handler => handler.SendAsync(It.IsAny <HttpRequestMessage>(), It.IsAny <CancellationToken>()))
            .Returns <HttpRequestMessage, CancellationToken>(async(message, token) =>
            {
                sentContent = await message.Content.ReadAsStringAsync();
                return(_defaultResponce);
            });

            var result = await _requestWrapper.PatchAsyncWrapper(testModel, _testEndpoing);

            Assert.AreEqual(await expectedContent.ReadAsStringAsync(), sentContent);
        }