public void GetClientIpAddressForEmptyXForwardedForReturnsNull()
        {
            var sut = new HttpRequest(string.Empty, "http://www.example.com", string.Empty);

            sut.AddHeader(ForwardedFor, string.Empty);

            Assert.Equal(null, sut.GetClientIpAddress());
        }
        public void GetClientIpAddressForPartiallyMalformedXForwardedForReturnsProperlyFormedClientIp()
        {
            var sut = new HttpRequest(string.Empty, "http://www.example.com", string.Empty);

            sut.AddHeader(
                ForwardedFor,
                MalformedIpAddress,
                GoogleIpAddress,
                MalformedIpAddress);

            Assert.Equal(GoogleIpAddress, sut.GetClientIpAddress());
        }
        public void GetClientIpAddressForPublicClientAndMultipleProxiesReturnsPublicClientIp()
        {
            var sut = new HttpRequest(string.Empty, "http://www.example.com", string.Empty);

            sut.AddHeader(
                ForwardedFor,
                MicrosoftIpAddress,
                Private16Bit,
                Private20Bit,
                Private24Bit,
                PrivateLinkLocal);

            Assert.Equal(MicrosoftIpAddress, sut.GetClientIpAddress());
        }