Пример #1
0
        public void TestHeadNonExistantStoreReturnsNotFound()
        {
            // Setup
            var brightstar = new Mock<IBrightstarService>();
            brightstar.Setup(s => s.DoesStoreExist("foo")).Returns(false);
            var app = new Browser(new FakeNancyBootstrapper(brightstar.Object));

            // Execute
            var response = app.Head("/foo");

            // Assert
            Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.NotFound));
        }
Пример #2
0
        public void TestHeadExistingStoreReturnsOk()
        {
            // Setup
            var mockCommitPoint = new Mock<ICommitPointInfo>();
            mockCommitPoint.Setup(m => m.CommitTime).Returns(DateTime.UtcNow);
            var brightstar = new Mock<IBrightstarService>();
            brightstar.Setup(s => s.DoesStoreExist("foo")).Returns(true);
            brightstar.Setup(s => s.GetCommitPoints("foo", 0, 1)).Returns(new ICommitPointInfo[] {mockCommitPoint.Object});
            var app = new Browser(new FakeNancyBootstrapper(brightstar.Object));

            // Execute
            var response = app.Head("/foo");
            var responseContent = response.Body.AsString();

            // Assert
            Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.OK), "Response status code was: {0}\nResponse body was: {1}",
                response.StatusCode, responseContent);
        }
Пример #3
0
        public void TestHeadExistingStoreReturnsOk()
        {
            // Setup
            Nancy.StaticConfiguration.DisableErrorTraces = true; // NOTE: If error tracing is disabled Nancy throws a NullReferenceException on a HEAD request
            var mockCommitPoint = new Mock<ICommitPointInfo>();
            mockCommitPoint.Setup(m => m.CommitTime).Returns(DateTime.UtcNow);
            var brightstar = new Mock<IBrightstarService>();
            brightstar.Setup(s => s.DoesStoreExist("foo")).Returns(true);
            brightstar.Setup(s => s.GetCommitPoints("foo", 0, 1)).Returns(new ICommitPointInfo[] {mockCommitPoint.Object});
            var app = new Browser(new FakeNancyBootstrapper(brightstar.Object));

            // Execute
            var response = app.Head("/foo");
            var responseContent = response.Body.AsString();
            Nancy.StaticConfiguration.DisableErrorTraces = false;

            // Assert
            Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.OK), "Response status code was: {0}\nResponse body was: {1}",
                response.StatusCode, responseContent);
        }
Пример #4
0
        public void Should_use_head_response_values_for_basic_head_request()
        {
            // Given
            StaticConfiguration.EnableHeadRouting = true;
            var browser = new Browser(with => with.Module<BasicRouteInvocationsModuleWithHead>());

            // When
            var response = browser.Head("/");

            // Then
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            Assert.Equal("text/html", response.ContentType);
            Assert.Equal(string.Empty, response.Body.AsString());
            Assert.Equal("HEAD!", response.ReasonPhrase);

            StaticConfiguration.EnableHeadRouting = false;
        }
        public async Task Should_use_head_response_values_for_basic_head_request()
        {
            // Given
            var browser = new Browser(with =>
            {
                with.Module<BasicRouteInvocationsModuleWithHead>();
                with.Configure(env =>
                {
                    env.Routing(explicitHeadRouting: true);
                });
            });

            // When
            var response = await browser.Head("/");

            // Then
            Assert.Equal(HttpStatusCode.OK, response.StatusCode);
            Assert.Equal("text/html", response.ContentType);
            Assert.Equal(string.Empty, response.Body.AsString());
            Assert.Equal("HEAD!", response.ReasonPhrase);
        }
Пример #6
0
        public void TestHeadRequiresReadPermissions()
        {
            var brightstar = new Mock<IBrightstarService>();
            var storePermissions = new Mock<AbstractStorePermissionsProvider>();
            storePermissions.Setup(s => s.HasStorePermission(null, "foo", StorePermissions.Read)).Returns(false).Verifiable();
            var app = new Browser(new FakeNancyBootstrapper(brightstar.Object, storePermissions.Object));

            // Execute
            var response = app.Head("/foo");

            // Assert
            Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.Unauthorized));
        }