Test cleanup
This commit is contained in:
parent
86d885e533
commit
777782ac6e
|
|
@ -77,13 +77,13 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
|||
options.ValueProviderFactories.Add(new JQueryFormValueProviderFactory());
|
||||
|
||||
// Set up metadata providers
|
||||
ConfigureAdditionalModelMetadataDetailsProvider(options.ModelMetadataDetailsProviders);
|
||||
ConfigureAdditionalModelMetadataDetailsProviders(options.ModelMetadataDetailsProviders);
|
||||
|
||||
// Set up validators
|
||||
options.ModelValidatorProviders.Add(new DefaultModelValidatorProvider());
|
||||
}
|
||||
|
||||
internal static void ConfigureAdditionalModelMetadataDetailsProvider(IList<IMetadataDetailsProvider> modelMetadataDetailsProviders)
|
||||
internal static void ConfigureAdditionalModelMetadataDetailsProviders(IList<IMetadataDetailsProvider> modelMetadataDetailsProviders)
|
||||
{
|
||||
// Don't bind the Type class by default as it's expensive. A user can override this behavior
|
||||
// by altering the collection of providers.
|
||||
|
|
|
|||
|
|
@ -2327,7 +2327,7 @@ namespace Microsoft.AspNetCore.Mvc.Core.Test
|
|||
public async Task TryUpdateModel_FallsBackOnEmptyPrefix_IfNotSpecified()
|
||||
{
|
||||
// Arrange
|
||||
var metadataProvider = TestModelMetadataProvider.CreateDefaultProvider();
|
||||
var metadataProvider = new EmptyModelMetadataProvider();
|
||||
var valueProvider = Mock.Of<IValueProvider>();
|
||||
var binder = new StubModelBinder(context =>
|
||||
{
|
||||
|
|
@ -2356,7 +2356,7 @@ namespace Microsoft.AspNetCore.Mvc.Core.Test
|
|||
// Arrange
|
||||
var modelName = "mymodel";
|
||||
|
||||
var metadataProvider = TestModelMetadataProvider.CreateDefaultProvider();
|
||||
var metadataProvider = new EmptyModelMetadataProvider();
|
||||
var valueProvider = Mock.Of<IValueProvider>();
|
||||
var binder = new StubModelBinder(context =>
|
||||
{
|
||||
|
|
@ -2578,7 +2578,7 @@ namespace Microsoft.AspNetCore.Mvc.Core.Test
|
|||
// Arrange
|
||||
var modelName = "mymodel";
|
||||
|
||||
var metadataProvider = TestModelMetadataProvider.CreateDefaultProvider();
|
||||
var metadataProvider = new EmptyModelMetadataProvider();
|
||||
var valueProvider = Mock.Of<IValueProvider>();
|
||||
var binder = new StubModelBinder(context =>
|
||||
{
|
||||
|
|
@ -2606,7 +2606,7 @@ namespace Microsoft.AspNetCore.Mvc.Core.Test
|
|||
// Arrange
|
||||
var modelName = "mymodel";
|
||||
|
||||
var metadataProvider = TestModelMetadataProvider.CreateDefaultProvider();
|
||||
var metadataProvider = new EmptyModelMetadataProvider();
|
||||
var valueProvider = Mock.Of<IValueProvider>();
|
||||
var binder = new StubModelBinder(context =>
|
||||
{
|
||||
|
|
@ -2834,7 +2834,7 @@ namespace Microsoft.AspNetCore.Mvc.Core.Test
|
|||
|
||||
private static ControllerBase GetController(IModelBinder binder, IValueProvider valueProvider)
|
||||
{
|
||||
var metadataProvider = TestModelMetadataProvider.CreateDefaultProvider();
|
||||
var metadataProvider = new EmptyModelMetadataProvider();
|
||||
var services = new ServiceCollection();
|
||||
services.AddSingleton<ILoggerFactory>(NullLoggerFactory.Instance);
|
||||
|
||||
|
|
|
|||
|
|
@ -791,7 +791,7 @@ namespace Microsoft.AspNetCore.Mvc.Infrastructure
|
|||
|
||||
var manager = GetApplicationManager(controllerTypes);
|
||||
|
||||
var modelProvider = new DefaultApplicationModelProvider(options, TestModelMetadataProvider.CreateDefaultProvider());
|
||||
var modelProvider = new DefaultApplicationModelProvider(options, new EmptyModelMetadataProvider());
|
||||
|
||||
var provider = new ControllerActionDescriptorProvider(
|
||||
manager,
|
||||
|
|
|
|||
|
|
@ -169,7 +169,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
|||
{
|
||||
var defaultProvider = new DefaultApplicationModelProvider(
|
||||
Options.Create(new MvcOptions()),
|
||||
TestModelMetadataProvider.CreateDefaultProvider());
|
||||
new EmptyModelMetadataProvider());
|
||||
|
||||
var context = new ApplicationModelProviderContext(new[] { controllerType.GetTypeInfo() });
|
||||
defaultProvider.OnProvidersExecuting(context);
|
||||
|
|
|
|||
|
|
@ -709,7 +709,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
|||
var manager = GetApplicationManager(new[] { controllerTypeInfo });
|
||||
var options = Options.Create(new MvcOptions());
|
||||
options.Value.Conventions.Add(new TestRoutingConvention());
|
||||
var modelProvider = new DefaultApplicationModelProvider(options, TestModelMetadataProvider.CreateDefaultProvider());
|
||||
var modelProvider = new DefaultApplicationModelProvider(options, new EmptyModelMetadataProvider());
|
||||
var provider = new ControllerActionDescriptorProvider(
|
||||
manager,
|
||||
new[] { modelProvider },
|
||||
|
|
@ -1397,7 +1397,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
|||
|
||||
var manager = GetApplicationManager(new[] { controllerTypeInfo });
|
||||
|
||||
var modelProvider = new DefaultApplicationModelProvider(options, TestModelMetadataProvider.CreateDefaultProvider());
|
||||
var modelProvider = new DefaultApplicationModelProvider(options, new EmptyModelMetadataProvider());
|
||||
|
||||
var provider = new ControllerActionDescriptorProvider(
|
||||
manager,
|
||||
|
|
@ -1413,7 +1413,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
|||
var options = Options.Create(new MvcOptions());
|
||||
|
||||
var manager = GetApplicationManager(controllerTypeInfos);
|
||||
var modelProvider = new DefaultApplicationModelProvider(options, TestModelMetadataProvider.CreateDefaultProvider());
|
||||
var modelProvider = new DefaultApplicationModelProvider(options, new EmptyModelMetadataProvider());
|
||||
|
||||
var provider = new ControllerActionDescriptorProvider(
|
||||
manager,
|
||||
|
|
@ -1432,7 +1432,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
|||
|
||||
var manager = GetApplicationManager(new[] { controllerTypeInfo });
|
||||
|
||||
var modelProvider = new DefaultApplicationModelProvider(options, TestModelMetadataProvider.CreateDefaultProvider());
|
||||
var modelProvider = new DefaultApplicationModelProvider(options, new EmptyModelMetadataProvider());
|
||||
|
||||
var provider = new ControllerActionDescriptorProvider(
|
||||
manager,
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
|||
{
|
||||
var descriptorProvider = new CustomActionDescriptorCollectionProvider(
|
||||
new[] { controllerContext.ActionDescriptor });
|
||||
var modelMetadataProvider = TestModelMetadataProvider.CreateDefaultProvider();
|
||||
var modelMetadataProvider = new EmptyModelMetadataProvider();
|
||||
var modelBinderFactory = TestModelBinderFactory.CreateDefault();
|
||||
var mvcOptions = Options.Create(new MvcOptions
|
||||
{
|
||||
|
|
|
|||
|
|
@ -40,7 +40,9 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
|||
public void OnProvidersExecuting_AddsControllerProperties()
|
||||
{
|
||||
// Arrange
|
||||
var builder = new TestApplicationModelProvider();
|
||||
var builder = new TestApplicationModelProvider(
|
||||
new MvcOptions { AllowValidatingTopLevelNodes = true },
|
||||
TestModelMetadataProvider.CreateDefaultProvider());
|
||||
var typeInfo = typeof(ModelBinderController).GetTypeInfo();
|
||||
|
||||
var context = new ApplicationModelProviderContext(new[] { typeInfo });
|
||||
|
|
@ -84,7 +86,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
|||
var detailsProvider = new BindingSourceMetadataProvider(typeof(string), BindingSource.Services);
|
||||
var modelMetadataProvider = TestModelMetadataProvider.CreateDefaultProvider(new[] { detailsProvider });
|
||||
var typeInfo = typeof(ModelBinderController).GetTypeInfo();
|
||||
var provider = new TestApplicationModelProvider(Options.Create(new MvcOptions()), modelMetadataProvider);
|
||||
var provider = new TestApplicationModelProvider(new MvcOptions(), modelMetadataProvider);
|
||||
|
||||
var context = new ApplicationModelProviderContext(new[] { typeInfo });
|
||||
|
||||
|
|
@ -124,7 +126,9 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
|||
public void OnProvidersExecuting_AddsBindingSources_ForActionParameters()
|
||||
{
|
||||
// Arrange
|
||||
var builder = new TestApplicationModelProvider();
|
||||
var builder = new TestApplicationModelProvider(
|
||||
new MvcOptions { AllowValidatingTopLevelNodes = true },
|
||||
TestModelMetadataProvider.CreateDefaultProvider());
|
||||
var typeInfo = typeof(ModelBinderController).GetTypeInfo();
|
||||
|
||||
var context = new ApplicationModelProviderContext(new[] { typeInfo });
|
||||
|
|
@ -166,9 +170,9 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
|||
public void OnProvidersExecuting_AddsBindingSources_ForActionParameters_WithLegacyValidationBehavior()
|
||||
{
|
||||
// Arrange
|
||||
var modelMetadataProvider = TestModelMetadataProvider.CreateDefaultProvider();
|
||||
var options = Options.Create(new MvcOptions { AllowValidatingTopLevelNodes = false });
|
||||
var builder = new TestApplicationModelProvider(options, modelMetadataProvider);
|
||||
var builder = new TestApplicationModelProvider(
|
||||
new MvcOptions(),
|
||||
TestModelMetadataProvider.CreateDefaultProvider());
|
||||
var typeInfo = typeof(ModelBinderController).GetTypeInfo();
|
||||
|
||||
var context = new ApplicationModelProviderContext(new[] { typeInfo });
|
||||
|
|
@ -215,7 +219,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
|||
var detailsProvider = new BindingSourceMetadataProvider(typeof(Guid), BindingSource.Special);
|
||||
var modelMetadataProvider = TestModelMetadataProvider.CreateDefaultProvider(new[] { detailsProvider });
|
||||
|
||||
var provider = new TestApplicationModelProvider(Options.Create(options), modelMetadataProvider);
|
||||
var provider = new TestApplicationModelProvider(options, modelMetadataProvider);
|
||||
var typeInfo = typeof(ModelBinderController).GetTypeInfo();
|
||||
|
||||
var context = new ApplicationModelProviderContext(new[] { typeInfo });
|
||||
|
|
@ -243,7 +247,7 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
|||
var detailsProvider = new BindingSourceMetadataProvider(typeof(Guid), BindingSource.Special);
|
||||
var modelMetadataProvider = TestModelMetadataProvider.CreateDefaultProvider(new[] { detailsProvider });
|
||||
|
||||
var provider = new TestApplicationModelProvider(Options.Create(options), modelMetadataProvider);
|
||||
var provider = new TestApplicationModelProvider(options, modelMetadataProvider);
|
||||
var typeInfo = typeof(ModelBinderController).GetTypeInfo();
|
||||
|
||||
var context = new ApplicationModelProviderContext(new[] { typeInfo });
|
||||
|
|
@ -1658,14 +1662,16 @@ namespace Microsoft.AspNetCore.Mvc.Internal
|
|||
private class TestApplicationModelProvider : DefaultApplicationModelProvider
|
||||
{
|
||||
public TestApplicationModelProvider()
|
||||
: this(Options.Create(new MvcOptions { AllowValidatingTopLevelNodes = true }), TestModelMetadataProvider.CreateDefaultProvider())
|
||||
: this(
|
||||
new MvcOptions { AllowValidatingTopLevelNodes = true },
|
||||
new EmptyModelMetadataProvider())
|
||||
{
|
||||
}
|
||||
|
||||
public TestApplicationModelProvider(
|
||||
IOptions<MvcOptions> options,
|
||||
MvcOptions options,
|
||||
IModelMetadataProvider modelMetadataProvider)
|
||||
: base(options, modelMetadataProvider)
|
||||
: base(Options.Create(options), modelMetadataProvider)
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -213,7 +213,7 @@ namespace Microsoft.AspNetCore.Mvc.Cors.Internal
|
|||
var context = new ApplicationModelProviderContext(new[] { controllerType.GetTypeInfo() });
|
||||
var provider = new DefaultApplicationModelProvider(
|
||||
Options.Create(new MvcOptions()),
|
||||
TestModelMetadataProvider.CreateDefaultProvider());
|
||||
new EmptyModelMetadataProvider());
|
||||
provider.OnProvidersExecuting(context);
|
||||
|
||||
return context;
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
|
|||
new DataMemberRequiredBindingMetadataProvider(),
|
||||
};
|
||||
|
||||
MvcCoreMvcOptionsSetup.ConfigureAdditionalModelMetadataDetailsProvider(detailsProviders);
|
||||
MvcCoreMvcOptionsSetup.ConfigureAdditionalModelMetadataDetailsProviders(detailsProviders);
|
||||
|
||||
var compositeDetailsProvider = new DefaultCompositeMetadataDetailsProvider(detailsProviders);
|
||||
return new DefaultModelMetadataProvider(compositeDetailsProvider, Options.Create(new MvcOptions()));
|
||||
|
|
@ -47,7 +47,7 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
|
|||
new DataMemberRequiredBindingMetadataProvider(),
|
||||
};
|
||||
|
||||
MvcCoreMvcOptionsSetup.ConfigureAdditionalModelMetadataDetailsProvider(detailsProviders);
|
||||
MvcCoreMvcOptionsSetup.ConfigureAdditionalModelMetadataDetailsProviders(detailsProviders);
|
||||
|
||||
detailsProviders.AddRange(providers);
|
||||
|
||||
|
|
|
|||
|
|
@ -21,12 +21,8 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal
|
|||
var type = typeof(TestController_NoTempDataProperties);
|
||||
var options = Options.Create(new MvcViewOptions());
|
||||
var provider = new TempDataApplicationModelProvider(options);
|
||||
var defaultProvider = new DefaultApplicationModelProvider(
|
||||
Options.Create(new MvcOptions()),
|
||||
TestModelMetadataProvider.CreateDefaultProvider());
|
||||
|
||||
var context = new ApplicationModelProviderContext(new[] { type.GetTypeInfo() });
|
||||
defaultProvider.OnProvidersExecuting(context);
|
||||
var context = GetContext(type);
|
||||
|
||||
// Act
|
||||
provider.OnProvidersExecuting(context);
|
||||
|
|
@ -44,12 +40,8 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal
|
|||
var options = Options.Create(new MvcViewOptions());
|
||||
var provider = new TempDataApplicationModelProvider(options);
|
||||
var expected = $"The '{type.FullName}.Test' property with TempDataAttribute is invalid. A property using TempDataAttribute must have a public getter and setter.";
|
||||
var defaultProvider = new DefaultApplicationModelProvider(
|
||||
Options.Create(new MvcOptions()),
|
||||
TestModelMetadataProvider.CreateDefaultProvider());
|
||||
|
||||
var context = new ApplicationModelProviderContext(new[] { type.GetTypeInfo() });
|
||||
defaultProvider.OnProvidersExecuting(context);
|
||||
var context = GetContext(type);
|
||||
|
||||
// Act & Assert
|
||||
var ex = Assert.Throws<InvalidOperationException>(() => provider.OnProvidersExecuting(context));
|
||||
|
|
@ -63,12 +55,8 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal
|
|||
var type = typeof(TestController_NullableNonPrimitiveTempDataProperty);
|
||||
var options = Options.Create(new MvcViewOptions());
|
||||
var provider = new TempDataApplicationModelProvider(options);
|
||||
var defaultProvider = new DefaultApplicationModelProvider(
|
||||
Options.Create(new MvcOptions()),
|
||||
TestModelMetadataProvider.CreateDefaultProvider());
|
||||
|
||||
var context = new ApplicationModelProviderContext(new[] { type.GetTypeInfo() });
|
||||
defaultProvider.OnProvidersExecuting(context);
|
||||
var context = GetContext(type);
|
||||
|
||||
// Act
|
||||
provider.OnProvidersExecuting(context);
|
||||
|
|
@ -82,15 +70,12 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal
|
|||
public void InitializeFilterFactory_WithExpectedPropertyHelpers_ForTempDataAttributeProperties()
|
||||
{
|
||||
// Arrange
|
||||
var expected = typeof(TestController_OneTempDataProperty).GetProperty(nameof(TestController_OneTempDataProperty.Test2));
|
||||
var type = typeof(TestController_OneTempDataProperty);
|
||||
var expected = type.GetProperty(nameof(TestController_OneTempDataProperty.Test2));
|
||||
var options = Options.Create(new MvcViewOptions());
|
||||
var provider = new TempDataApplicationModelProvider(options);
|
||||
var defaultProvider = new DefaultApplicationModelProvider(
|
||||
Options.Create(new MvcOptions()),
|
||||
TestModelMetadataProvider.CreateDefaultProvider());
|
||||
|
||||
var context = new ApplicationModelProviderContext(new[] { typeof(TestController_OneTempDataProperty).GetTypeInfo() });
|
||||
defaultProvider.OnProvidersExecuting(context);
|
||||
var context = GetContext(type);
|
||||
|
||||
// Act
|
||||
provider.OnProvidersExecuting(context);
|
||||
|
|
@ -110,13 +95,9 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal
|
|||
// Arrange
|
||||
var expected = typeof(TestController_OneTempDataProperty).GetProperty(nameof(TestController_OneTempDataProperty.Test2));
|
||||
var options = Options.Create(new MvcViewOptions { SuppressTempDataAttributePrefix = true });
|
||||
var type = typeof(TestController_OneTempDataProperty);
|
||||
var provider = new TempDataApplicationModelProvider(options);
|
||||
var defaultProvider = new DefaultApplicationModelProvider(
|
||||
Options.Create(new MvcOptions()),
|
||||
TestModelMetadataProvider.CreateDefaultProvider());
|
||||
|
||||
var context = new ApplicationModelProviderContext(new[] { typeof(TestController_OneTempDataProperty).GetTypeInfo() });
|
||||
defaultProvider.OnProvidersExecuting(context);
|
||||
var context = GetContext(type);
|
||||
|
||||
// Act
|
||||
provider.OnProvidersExecuting(context);
|
||||
|
|
@ -130,6 +111,17 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal
|
|||
Assert.Equal("Test2", property.Key);
|
||||
}
|
||||
|
||||
private static ApplicationModelProviderContext GetContext(Type type)
|
||||
{
|
||||
var defaultProvider = new DefaultApplicationModelProvider(
|
||||
Options.Create(new MvcOptions()),
|
||||
new EmptyModelMetadataProvider());
|
||||
|
||||
var context = new ApplicationModelProviderContext(new[] { type.GetTypeInfo() });
|
||||
defaultProvider.OnProvidersExecuting(context);
|
||||
return context;
|
||||
}
|
||||
|
||||
public class TestController_NoTempDataProperties
|
||||
{
|
||||
public DateTime? DateTime { get; set; }
|
||||
|
|
|
|||
Loading…
Reference in New Issue