public async Task AddEntityShouldSuccessfullySubmitHttpPostRequestApplicationXml() { //Arrange var actual = string.Empty; var actualMediaType = string.Empty; _fakeHttpMessageHandler.Setup(f => f.Send(It.IsAny <HttpRequestMessage>())) .Callback <HttpRequestMessage>(async(obj) => { actual = await obj.Content.ReadAsStringAsync(); actualMediaType = obj.Content.Headers.ContentType.ToString(); }) .Returns(new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(string.Empty) }); var config = new TestConfiguration(); var implementation = new EmployeeHttpWriteClientImplementation(_httpClient, config, new ApplicationXmlSerializer <Employee>()); var expected = XmlSerializer <Employee> .Serialize(_employee); //Act await implementation.Add(_employee); //Assert _fakeHttpMessageHandler.Verify(f => f.Send(It.IsAny <HttpRequestMessage>()), Times.Once); Assert.AreEqual(expected, actual); Assert.IsTrue(actualMediaType.Contains("application/xml")); }
public async Task AddEntityShouldSuccessfullySubmitHttpPostRequest() { //Arrange _fakeHttpMessageHandler.Setup(f => f.Send(It.IsAny <HttpRequestMessage>())) .Returns(new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(string.Empty) }); var config = new TestConfiguration(); var implementation = new EmployeeHttpWriteClientImplementation(_httpClient, config); //Act await implementation.Add(_employee); //Assert _fakeHttpMessageHandler.Verify(f => f.Send(It.IsAny <HttpRequestMessage>()), Times.Once); }
public async Task AddEntityWithInvalidAuthenticationShouldThrow() { //Arrange _fakeHttpMessageHandler.Setup(f => f.Send(It.IsAny <HttpRequestMessage>())) .Returns(new HttpResponseMessage { StatusCode = HttpStatusCode.Forbidden, Content = new StringContent(string.Empty) }); var config = new TestConfiguration(); var implementation = new EmployeeHttpWriteClientImplementation(_httpClient, config); //Act await implementation.Add(_employee); //Assert //throw exception }