public void AddsHeadersToResponse() { IRepresentation representation = new HeadersOnlyRepresentation(new ETag("123"), ContentType.Atom); Output output = Output.For(representation); Assert.AreEqual("123", output.ETag); Assert.AreEqual("application/atom+xml", output.ContentType); }
public void CallsInnerRepresentation() { IRepresentation innerRepresentation = new HeadersOnlyRepresentation(ContentType.Atom); IRepresentation representation = new HeadersOnlyRepresentation(innerRepresentation, new ETag("123")); Output output = Output.For(representation); Assert.AreEqual("123", output.ETag); Assert.AreEqual("application/atom+xml", output.ContentType); }
public void ShouldAlwaysReturnOK() { IRepresentation representation = new HeadersOnlyRepresentation(new ETag("etag")); ICondition condition = NullCondition.Instance; IResponse response = condition.CreateResponse(representation); Output output = Output.For(response); Assert.AreEqual(200, output.StatusCode); Assert.AreEqual("OK", output.StatusDescription); }
public void IfETagMatchesShouldReturnNotModified() { IRepresentation representation = new HeadersOnlyRepresentation(new ETag("etag")); IfNoneMatch condition = new IfNoneMatch(new ETag("etag")); IResponse response = condition.CreateResponse(representation); Output output = Output.For(response); Assert.AreEqual(304, output.StatusCode); Assert.AreEqual("Not Modified", output.StatusDescription); Assert.AreEqual("etag", output.ETag); }
public void IfETagDoesNotMatchShouldReturnOK() { IRepresentation representation = new HeadersOnlyRepresentation(new ETag("different-etag")); IfNoneMatch condition = new IfNoneMatch(new ETag("etag")); IResponse response = condition.CreateResponse(representation); Output output = Output.For(response); Assert.AreEqual(200, output.StatusCode); Assert.AreEqual("OK", output.StatusDescription); Assert.AreEqual("different-etag", output.ETag); }
public void IfETagIsNotEmptyShouldReturnIfNoneMatchCondition() { string eTagValue = "xyz"; IRepresentation representation = new HeadersOnlyRepresentation(new ETag(eTagValue)); using (WebServer webServer = new WebServer("http://localhost:9998/")) { webServer.ExecuteRequestAndInvokeAssertions( () => SendRequest(RequestUri, eTagValue), requestWrapper => { Assert.IsNotNull(requestWrapper); Assert.IsInstanceOf(typeof (IfNoneMatch), requestWrapper.Condition); Output output = Output.For(requestWrapper.Condition.CreateResponse(representation)); Assert.AreEqual(304, output.StatusCode); Assert.AreEqual("Not Modified", output.StatusDescription); }); } }