public void PatchAsyncWrapperT_WhenReceiveUnsucessStatusCode_Throws() { ChangeDefaultHttpResponce("", HttpStatusCode.NotFound); var model = new TestModelClass { Proprety = 0 }; Assert.ThrowsAsync <ArgumentException>(async() => await _requestWrapper.PatchAsyncWrapper(model, _testEndpoing)); }
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); }
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); }
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); }
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()); }
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); }
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); }
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); }