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);
        }
Ejemplo n.º 4
0
        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);
        }