public void SettingResponseContentTypeHeaderShouldPassThroughToHost() { var host = new DataServiceHostSimulator { }; IODataResponseMessage message = new AstoriaResponseMessage(host); const string header = "Content-Type"; const string value = "value5"; message.SetHeader(header, value); VerifyHeader(message, header, value); host.ResponseContentType.Should().Be(value); }
public void SettingResponseDataServiceVersionHeaderShouldPassThroughToHost() { var host = new DataServiceHostSimulator { }; IODataResponseMessage message = new AstoriaResponseMessage(host); const string header = "OData-Version"; const string value = "value4"; message.SetHeader(header, value); VerifyHeader(message, header, value); host.ResponseVersion.Should().Be(value); }
public void StreamIsSetFromMethodNotHost() { var streamInHost = new MemoryStream(); var host = new DataServiceHostSimulator { ResponseStream = streamInHost }; IODataResponseMessage message = new AstoriaResponseMessage(host); var streamInResponse = new MemoryStream(); message.SetStream(streamInResponse); message.GetStream().Should().Be(streamInResponse); }
public void ApplyCommonSettingsShouldDisableMessageStreamDisposalForTopLevel() { // AstoriaResponseMessage is only used for representing top-level responses, not individual parts of a batched response. var topLevelResponseMessage = new AstoriaResponseMessage(this.host); var testSubject = new ODataMessageWriterSettings { EnableMessageStreamDisposal = true }; MessageWriterBuilder.ApplyCommonSettings(testSubject, new Uri("http://www.example.com"), VersionUtil.Version4Dot0, this.dataServiceSimulator, topLevelResponseMessage); testSubject.EnableMessageStreamDisposal.Should().BeFalse(); }
public void ShouldSetODataAnnotationsPreferenceAppliedWhenShouldWriteResponseBodyIsTrue() { var service = new DataServiceSimulator(); var descrption = CreateRequestDescription(service, /*shouldWriteResponseBody*/ true); descrption.ShouldWriteResponseBody.Should().Be(true); AstoriaResponseMessage responseMessage = (AstoriaResponseMessage)service.OperationContext.ResponseMessage; responseMessage.PreferenceAppliedHeader().AnnotationFilter.Should().BeNull(); responseMessage.SetResponseHeaders(descrption, 200); responseMessage.PreferenceAppliedHeader().AnnotationFilter.Should().Be("*"); }
public void StatusCodeIsTiedToHost() { var host = new DataServiceHostSimulator { ResponseStatusCode = 432 }; IODataResponseMessage message = new AstoriaResponseMessage(host); message.StatusCode.Should().Be(432); const int code = 123; message.StatusCode = code; message.StatusCode.Should().Be(code); host.ResponseStatusCode.Should().Be(code); }