public static ODataQueryOptions CreateOptionsFromQueryString(this ODataQueryContext context, IDictionary <string, string> queryString) { //Create request var url = "http://autoPocoInternalOdata.com/site?"; foreach (var param in queryString) { url += param.Key + "=" + param.Value + "&"; } url = url.Trim('?').Trim('&'); Uri uri = new Uri(url); var config = new System.Web.Http.HttpConfiguration(); config.EnableDependencyInjection(); config.Count().Filter().OrderBy().Expand().Select().MaxTop(1000); var request = new HttpRequestMessage { RequestUri = uri }; request.SetConfiguration(config); return(new ODataQueryOptions(context, request)); }
public void TestInitialize() { httpRequestMessage = new HttpRequestMessage { Method = HttpMethod.Get }; var config = new System.Web.Http.HttpConfiguration(); config.EnableDependencyInjection(); httpRequestMessage.SetConfiguration(config); }
public static ODataConventionModelBuilder ConfigureConventionBuilder() { var config = new System.Web.Http.HttpConfiguration(); config.EnableDependencyInjection(); config.Count().Filter().OrderBy().Expand().Select().MaxTop(1000); var modelBuilder = new ODataConventionModelBuilder(config, true); return(modelBuilder); }
public void UnitTestOptionsOfStringShouldWork() { ODataQueryOptionsController controller = new ODataQueryOptionsController(); ODataQueryContext context = new ODataQueryContext(new ODataConventionModelBuilder().GetEdmModel(), typeof(string), path: null); HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/?$top=1"); System.Web.Http.HttpConfiguration configuration = new System.Web.Http.HttpConfiguration(); configuration.EnableDependencyInjection(); request.SetConfiguration(configuration); ODataQueryOptions <string> options = new ODataQueryOptions <string>(context, request); var result = controller.OptionsWithString(options); Assert.Equal("One", result.List.Single()); }
public void UnitTestOptionsShouldWork() { ODataQueryOptionsController controller = new ODataQueryOptionsController(); ODataQueryContext context = new ODataQueryContext(GetEdmModel(new ODataConventionModelBuilder()), typeof(ODataQueryOptions_Todo), path: null); HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, "http://localhost/?$orderby=Name desc"); System.Web.Http.HttpConfiguration configuration = new System.Web.Http.HttpConfiguration(); configuration.EnableDependencyInjection(); request.SetConfiguration(configuration); ODataQueryOptions <ODataQueryOptions_Todo> options = new ODataQueryOptions <ODataQueryOptions_Todo>(context, request); var result = controller.OptionsOnString(options); Assert.Equal("Test99", result); }