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)); }
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); }
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); }
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); }
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)); }