Example #1
0
    public static ModelBindingTestContext GetTestContext(
        Action <HttpRequest> updateRequest          = null,
        Action <MvcOptions> updateOptions           = null,
        ControllerActionDescriptor actionDescriptor = null,
        IModelMetadataProvider metadataProvider     = null,
        MvcOptions mvcOptions = null)
    {
        var httpContext = GetHttpContext(metadataProvider, updateRequest, updateOptions, mvcOptions);
        var services    = httpContext.RequestServices;

        metadataProvider = metadataProvider ?? services.GetRequiredService <IModelMetadataProvider>();
        var options = services.GetRequiredService <IOptions <MvcOptions> >();

        var context = new ModelBindingTestContext
        {
            ActionDescriptor       = actionDescriptor ?? new ControllerActionDescriptor(),
            HttpContext            = httpContext,
            MetadataProvider       = metadataProvider,
            MvcOptions             = options.Value,
            RouteData              = new RouteData(),
            ValueProviderFactories = new List <IValueProviderFactory>(options.Value.ValueProviderFactories),
        };

        return(context);
    }
Example #2
0
 public static ParameterBinder GetParameterBinder(ModelBindingTestContext testContext)
 {
     return(GetParameterBinder(testContext.HttpContext.RequestServices));
 }