コード例 #1
0
            public void HttpContextRequiredIfWebHeadersNotSet()
            {
                var messageFactory = new WebMessageFactory();
                var ex = Assert.Throws<InvalidOperationException>(() => messageFactory.Create(HeaderCollection.Empty, new Object()));

                Assert.Equal(Exceptions.HttpContextNotAvailable, ex.Message);
            }
コード例 #2
0
            public void HttpContextRequiredIfWebHeadersNotSet()
            {
                var messageFactory = new WebMessageFactory();
                var ex             = Assert.Throws <InvalidOperationException>(() => messageFactory.Create(HeaderCollection.Empty, new Object()));

                Assert.Equal(Exceptions.HttpContextNotAvailable, ex.Message);
            }
コード例 #3
0
            public void DoNotSetUserNameToHttpContextUserIfAlreadySet()
            {
                var httpContext    = CreateFakeHttpContext(new GenericPrincipal(new GenericIdentity("*****@*****.**"), new String[0]), new NameValueCollection());
                var messageFactory = new WebMessageFactory(() => httpContext);
                var message        = messageFactory.Create(new[] { new Header(Header.UserName, "*****@*****.**", checkReservedNames: false) }, new Object());

                Assert.NotEqual("*****@*****.**", message.Headers.GetUserName());
            }
コード例 #4
0
            public void SetUserNameToHttpContextUserIfNotAlreadySet()
            {
                var httpContext    = CreateFakeHttpContext(new GenericPrincipal(new GenericIdentity("*****@*****.**"), new String[0]), new NameValueCollection());
                var messageFactory = new WebMessageFactory(() => httpContext);
                var message        = messageFactory.Create(HeaderCollection.Empty, new Object());

                Assert.Equal("*****@*****.**", message.Headers.GetUserName());
            }
コード例 #5
0
            public void SetUserNameToHttpContextUserIfNotAlreadySet()
            {
                var httpContext = CreateFakeHttpContext(new GenericPrincipal(new GenericIdentity("*****@*****.**"), new String[0]), new NameValueCollection());
                var messageFactory = new WebMessageFactory(() => httpContext);
                var message = messageFactory.Create(HeaderCollection.Empty, new Object());

                Assert.Equal("*****@*****.**", message.Headers.GetUserName());
            }
コード例 #6
0
            public void DoNotSetRemoteAddressToRemoteAddrVariableIfAlreadySet()
            {
                var httpContext = CreateFakeHttpContext(Thread.CurrentPrincipal, new NameValueCollection { { "REMOTE_ADDR", IPAddress.Loopback.ToString() } });
                var messageFactory = new WebMessageFactory(() => httpContext);
                var message = messageFactory.Create(new[] { new Header(Header.RemoteAddress, IPAddress.None.ToString(), checkReservedNames: false) }, new Object());

                Assert.NotEqual(IPAddress.Loopback, message.Headers.GetRemoteAddress());
            }
コード例 #7
0
            public void SetRemoteAddressToRemoteAddrVariableIfNotAlreadySet()
            {
                var remoteAddress = IPAddress.Loopback.ToString();
                var httpContext = CreateFakeHttpContext(Thread.CurrentPrincipal, new NameValueCollection { { "REMOTE_ADDR", remoteAddress } });
                var messageFactory = new WebMessageFactory(() => httpContext);
                var message = messageFactory.Create(HeaderCollection.Empty, new Object());

                Assert.Equal(IPAddress.Loopback, message.Headers.GetRemoteAddress());
            }
コード例 #8
0
            public void SetUserAddressToFirstMatchingServerVariableIfAlreadySet(String serverVariable)
            {
                var httpContext = CreateFakeHttpContext(Thread.CurrentPrincipal, new NameValueCollection {
                    { "REMOTE_ADDR", IPAddress.Broadcast.ToString() }, { serverVariable, IPAddress.Loopback.ToString() }
                });
                var messageFactory = new WebMessageFactory(() => httpContext);
                var message        = messageFactory.Create(HeaderCollection.Empty, new Object());

                Assert.Equal(IPAddress.Loopback, message.Headers.GetUserAddress());
            }
コード例 #9
0
            public void DoNotSetRemoteAddressToRemoteAddrVariableIfAlreadySet()
            {
                var httpContext = CreateFakeHttpContext(Thread.CurrentPrincipal, new NameValueCollection {
                    { "REMOTE_ADDR", IPAddress.Loopback.ToString() }
                });
                var messageFactory = new WebMessageFactory(() => httpContext);
                var message        = messageFactory.Create(new[] { new Header(Header.RemoteAddress, IPAddress.None.ToString(), checkReservedNames: false) }, new Object());

                Assert.NotEqual(IPAddress.Loopback, message.Headers.GetRemoteAddress());
            }
コード例 #10
0
            public void SetRemoteAddressToRemoteAddrVariableIfNotAlreadySet()
            {
                var remoteAddress = IPAddress.Loopback.ToString();
                var httpContext   = CreateFakeHttpContext(Thread.CurrentPrincipal, new NameValueCollection {
                    { "REMOTE_ADDR", remoteAddress }
                });
                var messageFactory = new WebMessageFactory(() => httpContext);
                var message        = messageFactory.Create(HeaderCollection.Empty, new Object());

                Assert.Equal(IPAddress.Loopback, message.Headers.GetRemoteAddress());
            }
コード例 #11
0
            public void HttpContextNotRequiredIfHeadersAlreadySet()
            {
                var messageFactory = new WebMessageFactory();

                Assert.NotNull(messageFactory.Create(new[]
                {
                    new Header(Header.UserName, "*****@*****.**", checkReservedNames: false),
                    new Header(Header.RemoteAddress, IPAddress.Loopback.ToString(), checkReservedNames: false),
                    new Header(Header.UserAddress, IPAddress.Loopback.ToString(), checkReservedNames: false)
                }, new Object()));
            }
コード例 #12
0
            public void HttpContextNotRequiredIfHeadersAlreadySet()
            {
                var messageFactory = new WebMessageFactory();

                Assert.NotNull(messageFactory.Create(new[]
                {
                    new Header(Header.UserName, "*****@*****.**", checkReservedNames: false),
                    new Header(Header.RemoteAddress, IPAddress.Loopback.ToString(), checkReservedNames: false),
                    new Header(Header.UserAddress, IPAddress.Loopback.ToString(), checkReservedNames: false)
                }, new Object()));
            }
コード例 #13
0
            public void DoNotSetUserNameToHttpContextUserIfAlreadySet()
            {
                var httpContext = CreateFakeHttpContext(new GenericPrincipal(new GenericIdentity("*****@*****.**"), new String[0]), new NameValueCollection());
                var messageFactory = new WebMessageFactory(() => httpContext);
                var message = messageFactory.Create(new[] { new Header(Header.UserName, "*****@*****.**", checkReservedNames: false) }, new Object());

                Assert.NotEqual("*****@*****.**", message.Headers.GetUserName());
            }
コード例 #14
0
            public void SetUserAddressToFirstMatchingServerVariableIfAlreadySet(String serverVariable)
            {
                var httpContext = CreateFakeHttpContext(Thread.CurrentPrincipal, new NameValueCollection { { "REMOTE_ADDR", IPAddress.Broadcast.ToString() }, { serverVariable, IPAddress.Loopback.ToString() } });
                var messageFactory = new WebMessageFactory(() => httpContext);
                var message = messageFactory.Create(HeaderCollection.Empty, new Object());

                Assert.Equal(IPAddress.Loopback, message.Headers.GetUserAddress());
            }