public void AddODataWithSetup_OnMvcCoreBuilder_RegistersODataOptions() { // Arrange var services = new ServiceCollection(); services.AddLogging(); IMvcCoreBuilder builder = new MyMvcCoreBuilder { Services = services }; IEdmModel coreModel = EdmCoreModel.Instance; // Act builder.AddOData(opt => opt.AddModel("odata", EdmCoreModel.Instance)); IServiceProvider provider = services.BuildServiceProvider(); // Assert IOptions <ODataOptions> options = provider.GetService <IOptions <ODataOptions> >(); Assert.NotNull(options); ODataOptions odataOptions = options.Value; var model = Assert.Single(odataOptions.Models); Assert.Equal("odata", model.Key); Assert.Same(coreModel, model.Value.Item1); Assert.NotNull(model.Value.Item2); }
public void AddOData_RegistersODataOptionsWithServiceProvider() { // Arrange var services = new ServiceCollection(); services.AddLogging(); IEdmModel coreModel = EdmCoreModel.Instance; services.AddSingleton(_ => coreModel); IMvcCoreBuilder builder = new MyMvcCoreBuilder { Services = services }; // Act builder.AddOData((options, serviceProvider) => { var edmModel = serviceProvider.GetRequiredService <IEdmModel>(); options.AddModel("odata", edmModel); }); IServiceProvider provider = services.BuildServiceProvider(); // Assert IOptions <ODataOptions> options = provider.GetService <IOptions <ODataOptions> >(); Assert.NotNull(options); ODataOptions odataOptions = options.Value; var model = Assert.Single(odataOptions.Models); Assert.Equal("odata", model.Key); Assert.Same(coreModel, model.Value.Item1); Assert.NotNull(model.Value.Item2); }
public void AddOData_Throws_NullSetupActionWithServiceProvider() { // Arrange IMvcCoreBuilder builder = new MyMvcCoreBuilder(); Action <ODataOptions, IServiceProvider> setupAction = null; // Act & Assert ExceptionAssert.ThrowsArgumentNull(() => builder.AddOData(setupAction), "setupAction"); }
public void AddOData_OnMvcCoreBuilder_RegistersODataOptions() { // Arrange var services = new ServiceCollection(); services.AddLogging(); IMvcCoreBuilder builder = new MyMvcCoreBuilder { Services = services }; // Act builder.AddOData(); IServiceProvider provider = services.BuildServiceProvider(); // Assert IOptions <ODataOptions> options = provider.GetService <IOptions <ODataOptions> >(); Assert.NotNull(options); ODataOptions odataOptions = options.Value; Assert.Empty(odataOptions.Models); }