public void GetMissingQueryStringItemReturnsNullIfHostReturnsNull() { var host = new DataServiceHost2Simulator(); DataServiceOperationContext context = new DataServiceOperationContext(host); context.GetQueryStringValue("some-key").Should().Be(null); }
private static RequestDescription CreateRequestDescription(DataServiceSimulator service, bool shouldWriteResponseBody) { service.Configuration = new DataServiceConfiguration(new DataServiceProviderSimulator()); service.Configuration.DataServiceBehavior.MaxProtocolVersion = ODataProtocolVersion.V4; var host = new DataServiceHost2Simulator(); host.RequestHeaders["Prefer"] = "odata.include-annotations=\"*\""; host.RequestVersion = "4.0;"; host.RequestMaxVersion = "4.0;"; host.RequestHttpMethod = shouldWriteResponseBody ? "GET" : "DELETE"; service.OperationContext = new DataServiceOperationContext(false, host); service.OperationContext.InitializeAndCacheHeaders(service); service.OperationContext.RequestMessage.InitializeRequestVersionHeaders(V4); RequestDescription descrption = new RequestDescription(RequestTargetKind.Resource, RequestTargetSource.EntitySet, new Uri("http://service/set")); descrption.AnalyzeClientPreference(service); descrption.Preference.AnnotationFilter.Should().Be("*"); HttpVerbs verb = shouldWriteResponseBody ? HttpVerbs.GET : HttpVerbs.PATCH; descrption.DetermineWhetherResponseBodyOrETagShouldBeWritten(verb); descrption.DetermineWhetherResponseBodyShouldBeWritten(verb); return(descrption); }
public void InitTest() { this.host = new DataServiceHost2Simulator(); this.host.AbsoluteServiceUri = new Uri("http://service/"); this.host.AbsoluteServiceUri = new Uri("http://service/set1"); var providerSimulator = new DataServiceProviderSimulator(); this.service = new DataServiceSimulator { OperationContext = new DataServiceOperationContext(false, this.host), Configuration = new DataServiceConfiguration(providerSimulator) }; DataServiceStaticConfiguration staticConfiguration = new DataServiceStaticConfiguration(this.service.Instance.GetType(), providerSimulator); IDataServiceProviderBehavior providerBehavior = DataServiceProviderBehavior.CustomDataServiceProviderBehavior; this.service.ProcessingPipeline = new DataServiceProcessingPipeline(); this.service.Provider = new DataServiceProviderWrapper( new DataServiceCacheItem( this.service.Configuration, staticConfiguration), providerSimulator, providerSimulator, this.service, false); this.service.Provider.ProviderBehavior = providerBehavior; this.service.OperationContext.InitializeAndCacheHeaders(this.service); }
public void GetQueryStringItemAsksHost() { var host = new DataServiceHost2Simulator(); host.SetQueryStringItem("some-key", "test-value"); DataServiceOperationContext context = new DataServiceOperationContext(host); context.GetQueryStringValue("some-key").Should().Be("test-value"); }
public void Initialize() { this.host = new DataServiceHost2Simulator(); var context = new DataServiceOperationContext(this.host); this.dataServiceSimulator = new DataServiceSimulator { OperationContext = context }; var providerSimulator = new DataServiceProviderSimulator(); DataServiceStaticConfiguration staticConfiguration = new DataServiceStaticConfiguration(this.dataServiceSimulator.Instance.GetType(), providerSimulator); IDataServiceProviderBehavior providerBehavior = DataServiceProviderBehavior.CustomDataServiceProviderBehavior; var resourceType = new ResourceType(typeof(object), ResourceTypeKind.EntityType, null, "SelectTestNamespace", "Fake", false) { CanReflectOnInstanceType = false, IsOpenType = true }; resourceType.AddProperty(new ResourceProperty("Id", ResourcePropertyKind.Key | ResourcePropertyKind.Primitive, ResourceType.GetPrimitiveResourceType(typeof(int))) { CanReflectOnInstanceTypeProperty = false }); var resourceSet = new ResourceSet("FakeSet", resourceType); resourceSet.SetReadOnly(); providerSimulator.AddResourceSet(resourceSet); var configuration = new DataServiceConfiguration(providerSimulator); configuration.SetEntitySetAccessRule("*", EntitySetRights.All); var provider = new DataServiceProviderWrapper( new DataServiceCacheItem( configuration, staticConfiguration), providerSimulator, providerSimulator, this.dataServiceSimulator, false); this.dataServiceSimulator.ProcessingPipeline = new DataServiceProcessingPipeline(); this.dataServiceSimulator.Provider = provider; provider.ProviderBehavior = providerBehavior; this.dataServiceSimulator.Configuration = new DataServiceConfiguration(providerSimulator); this.dataServiceSimulator.Configuration.DataServiceBehavior.MaxProtocolVersion = ODataProtocolVersion.V4; this.responseMessageSimulator = new ODataResponseMessageSimulator(); }
public void RequestHeadersIsFromHost() { var value = new WebHeaderCollection { { "RequestVersion", "2.0" }, { "Accept", "json" }, { "Custom", "customValue" } }; var host = new DataServiceHost2Simulator { RequestHeaders = value }; var requestMessage = new AstoriaRequestMessage(host); requestMessage.RequestHeaders.Should().BeEquivalentTo(value); requestMessage.RequestHeaders["RequestVersion"] = "2.0"; requestMessage.RequestHeaders["Accept"] = "json"; requestMessage.RequestHeaders["Custom"] = "customValue"; }
public void UrlConventionIntegrationTest() { var host = new DataServiceHost2Simulator { RequestHeaders = new WebHeaderCollection { { UrlConventionsConstants.UrlConventionHeaderName, "KeyAsSegment" } }, }; var service = new DataServiceSimulator { Configuration = new DataServiceConfiguration(new DataServiceProviderSimulator()), OperationContext = new DataServiceOperationContext(host) }; service.OperationContext.InitializeAndCacheHeaders(service); service.Configuration.DataServiceBehavior.UrlConventions = DataServiceUrlConventions.KeyAsSegment; UrlConvention.Create(service).GenerateKeyAsSegment.Should().BeTrue(); }