private static DataServiceProviderWrapper CreateProviderWrapper(TestActionProvider actionProvider = null, Action <DataServiceProviderSimulator> addMetadata = null) { var provider = new DataServiceProviderSimulator(); if (addMetadata != null) { addMetadata(provider); } var dataService = new DataServiceSimulatorWithGetService(); dataService.Configuration = new DataServiceConfiguration(provider); dataService.ProcessingPipeline = new DataServiceProcessingPipeline(); dataService.Configuration.SetServiceActionAccessRule("*", ServiceActionRights.Invoke); dataService.Configuration.SetEntitySetAccessRule("*", EntitySetRights.All); dataService.Configuration.SetServiceOperationAccessRule("*", ServiceOperationRights.All); dataService.Configuration.DataServiceBehavior.MaxProtocolVersion = ODataProtocolVersion.V4; dataService.OperationContext = new DataServiceOperationContext(false, new DataServiceHost2Simulator { AbsoluteRequestUri = new Uri("http://fake.org/$metadata") }); dataService.OperationContext.InitializeAndCacheHeaders(dataService); DataServiceStaticConfiguration staticConfiguration = new DataServiceStaticConfiguration(dataService.Instance.GetType(), provider); IDataServiceProviderBehavior providerBehavior = DataServiceProviderBehavior.CustomDataServiceProviderBehavior; var providerWrapper = new DataServiceProviderWrapper( new DataServiceCacheItem( dataService.Configuration, staticConfiguration), provider, provider, dataService, false); dataService.Provider = providerWrapper; providerWrapper.ProviderBehavior = providerBehavior; dataService.ActionProvider = DataServiceActionProviderWrapper.Create(dataService); if (actionProvider != null) { dataService.Providers.Add(typeof(IDataServiceActionProvider), actionProvider); } return(providerWrapper); }
private static MetadataProviderEdmModel CreateMetadataProviderEdmModel(DataServiceProviderSimulator metadataProvider, IDataServiceActionProvider actionProvider = null) { var dataServiceSimulator = new DataServiceSimulatorWithGetService { OperationContext = new DataServiceOperationContext(false, new DataServiceHost2Simulator()), ProcessingPipeline = new DataServiceProcessingPipeline() }; dataServiceSimulator.OperationContext.InitializeAndCacheHeaders(dataServiceSimulator); var dataServiceConfiguration = new DataServiceConfiguration(metadataProvider); dataServiceConfiguration.SetEntitySetAccessRule("*", EntitySetRights.AllRead); dataServiceConfiguration.SetServiceActionAccessRule("*", ServiceActionRights.Invoke); dataServiceConfiguration.DataServiceBehavior.MaxProtocolVersion = ODataProtocolVersion.V4; if (actionProvider != null) { dataServiceSimulator.Providers.Add(typeof(IDataServiceActionProvider), actionProvider); } DataServiceStaticConfiguration staticConfiguration = new DataServiceStaticConfiguration(dataServiceSimulator.Instance.GetType(), metadataProvider); IDataServiceProviderBehavior providerBehavior = DataServiceProviderBehavior.CustomDataServiceProviderBehavior; DataServiceProviderWrapper providerWrapper = new DataServiceProviderWrapper( new DataServiceCacheItem( dataServiceConfiguration, staticConfiguration), metadataProvider, metadataProvider, dataServiceSimulator, false); dataServiceSimulator.Provider = providerWrapper; var model = new MetadataProviderEdmModel(providerWrapper, new DataServiceStreamProviderWrapper(dataServiceSimulator), DataServiceActionProviderWrapper.Create(dataServiceSimulator)); model.MetadataProvider.ProviderBehavior = providerBehavior; return(model); }
private static MetadataProviderEdmModel CreateMetadataProviderEdmModel(DataServiceProviderSimulator metadataProvider, IDataServiceActionProvider actionProvider = null) { var dataServiceSimulator = new DataServiceSimulatorWithGetService { OperationContext = new DataServiceOperationContext(false, new DataServiceHost2Simulator()), ProcessingPipeline = new DataServiceProcessingPipeline() }; dataServiceSimulator.OperationContext.InitializeAndCacheHeaders(dataServiceSimulator); var dataServiceConfiguration = new DataServiceConfiguration(metadataProvider); dataServiceConfiguration.SetEntitySetAccessRule("*", EntitySetRights.AllRead); dataServiceConfiguration.SetServiceActionAccessRule("*", ServiceActionRights.Invoke); dataServiceConfiguration.DataServiceBehavior.MaxProtocolVersion = ODataProtocolVersion.V4; if (actionProvider != null) { dataServiceSimulator.Providers.Add(typeof(IDataServiceActionProvider), actionProvider); } DataServiceStaticConfiguration staticConfiguration = new DataServiceStaticConfiguration(dataServiceSimulator.Instance.GetType(), metadataProvider); IDataServiceProviderBehavior providerBehavior = DataServiceProviderBehavior.CustomDataServiceProviderBehavior; DataServiceProviderWrapper providerWrapper = new DataServiceProviderWrapper( new DataServiceCacheItem( dataServiceConfiguration, staticConfiguration), metadataProvider, metadataProvider, dataServiceSimulator, false); dataServiceSimulator.Provider = providerWrapper; var model = new MetadataProviderEdmModel(providerWrapper, new DataServiceStreamProviderWrapper(dataServiceSimulator), DataServiceActionProviderWrapper.Create(dataServiceSimulator)); model.MetadataProvider.ProviderBehavior = providerBehavior; return model; }
private static DataServiceProviderWrapper CreateProviderWrapper(TestActionProvider actionProvider = null, Action<DataServiceProviderSimulator> addMetadata = null) { var provider = new DataServiceProviderSimulator(); if (addMetadata != null) { addMetadata(provider); } var dataService = new DataServiceSimulatorWithGetService(); dataService.Configuration = new DataServiceConfiguration(provider); dataService.ProcessingPipeline = new DataServiceProcessingPipeline(); dataService.Configuration.SetServiceActionAccessRule("*", ServiceActionRights.Invoke); dataService.Configuration.SetEntitySetAccessRule("*", EntitySetRights.All); dataService.Configuration.SetServiceOperationAccessRule("*", ServiceOperationRights.All); dataService.Configuration.DataServiceBehavior.MaxProtocolVersion = ODataProtocolVersion.V4; dataService.OperationContext = new DataServiceOperationContext(false, new DataServiceHost2Simulator {AbsoluteRequestUri = new Uri("http://fake.org/$metadata") }); dataService.OperationContext.InitializeAndCacheHeaders(dataService); DataServiceStaticConfiguration staticConfiguration = new DataServiceStaticConfiguration(dataService.Instance.GetType(), provider); IDataServiceProviderBehavior providerBehavior = DataServiceProviderBehavior.CustomDataServiceProviderBehavior; var providerWrapper = new DataServiceProviderWrapper( new DataServiceCacheItem( dataService.Configuration, staticConfiguration), provider, provider, dataService, false); dataService.Provider = providerWrapper; providerWrapper.ProviderBehavior = providerBehavior; dataService.ActionProvider = DataServiceActionProviderWrapper.Create(dataService); if (actionProvider != null) { dataService.Providers.Add(typeof(IDataServiceActionProvider), actionProvider); } return providerWrapper; }