예제 #1
0
        public void LocalRequest_SecureConnection_GoOnAsNormal()
        {
            var subject = new HttpsEnforcer();
            var request = Substitute.For <IHttpRequest>();

            request.IsSecureConnection.Returns(true);

            Assert.That(() => subject.Enforce(request), Throws.Nothing);
        }
예제 #2
0
        public void LocalRequest_InsecureConnection_403()
        {
            var subject = new HttpsEnforcer();
            var request = Substitute.For <IHttpRequest>();

            request.IsSecureConnection.Returns(false);

            Assert.That(() => subject.Enforce(request), Throws.InstanceOf <HttpError>()
                        .With.Property("StatusCode").EqualTo(HttpStatusCode.Forbidden));
        }
예제 #3
0
        public void CloudRequest_SecureConnection_GoOnAsNormal()
        {
            var subject = new HttpsEnforcer();
            var request = Substitute.For <IHttpRequest>();

            request.Headers.Returns(new NameValueCollection {
                { "X-Forwarded-Proto", "https" }
            });

            Assert.That(() => subject.Enforce(request), Throws.Nothing);
        }
예제 #4
0
        public void CloudRequest_InsecureConnection_403()
        {
            var subject = new HttpsEnforcer();
            var request = Substitute.For <IHttpRequest>();

            request.Headers.Returns(new NameValueCollection {
                { "X-Forwarded-Proto", "http" }
            });

            Assert.That(() => subject.Enforce(request), Throws.InstanceOf <HttpError>()
                        .With.Property("StatusCode").EqualTo(HttpStatusCode.Forbidden));
        }