示例#1
0
        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"));
        }
示例#2
0
        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);
        }
示例#3
0
        public async Task DeleteEntityWithInvalidAuthenticationShouldThrow()
        {
            //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.Delete(_employee);

            //Assert
            //throw exception
        }