public void Setup_SetsUpModelBinders() { // Arrange var mvcOptions = new MvcOptions(); var setup = new MvcOptionsSetup(); // Act setup.Configure(mvcOptions); // Assert var i = 0; Assert.Equal(13, mvcOptions.ModelBinders.Count); Assert.IsType(typeof(BinderTypeBasedModelBinder), mvcOptions.ModelBinders[i++]); Assert.IsType(typeof(ServicesModelBinder), mvcOptions.ModelBinders[i++]); Assert.IsType(typeof(BodyModelBinder), mvcOptions.ModelBinders[i++]); Assert.IsType(typeof(HeaderModelBinder), mvcOptions.ModelBinders[i++]); Assert.IsType(typeof(TypeConverterModelBinder), mvcOptions.ModelBinders[i++]); Assert.IsType(typeof(TypeMatchModelBinder), mvcOptions.ModelBinders[i++]); Assert.IsType(typeof(CancellationTokenModelBinder), mvcOptions.ModelBinders[i++]); Assert.IsType(typeof(ByteArrayModelBinder), mvcOptions.ModelBinders[i++]); Assert.IsType(typeof(FormFileModelBinder), mvcOptions.ModelBinders[i++]); Assert.IsType(typeof(FormCollectionModelBinder), mvcOptions.ModelBinders[i++]); Assert.IsType(typeof(GenericModelBinder), mvcOptions.ModelBinders[i++]); Assert.IsType(typeof(MutableObjectModelBinder), mvcOptions.ModelBinders[i++]); Assert.IsType(typeof(ComplexModelDtoModelBinder), mvcOptions.ModelBinders[i++]); }
public void Setup_SetsUpViewEngines() { // Arrange var mvcOptions = new MvcOptions(); var setup = new MvcOptionsSetup(); // Act setup.Configure(mvcOptions); // Assert Assert.Equal(1, mvcOptions.ViewEngines.Count); Assert.Equal(typeof(RazorViewEngine), mvcOptions.ViewEngines[0].ViewEngineType); }
public void Setup_SetsUpOutputFormatters() { // Arrange var mvcOptions = new MvcOptions(); var setup = new MvcOptionsSetup(); // Act setup.Setup(mvcOptions); // Assert Assert.Equal(2, mvcOptions.OutputFormatters.Count); Assert.IsType<TextPlainFormatter>(mvcOptions.OutputFormatters[0].Instance); Assert.IsType<JsonOutputFormatter>(mvcOptions.OutputFormatters[1].Instance); }
public void Setup_SetsUpOutputFormatters() { // Arrange var mvcOptions = new MvcOptions(); var setup = new MvcOptionsSetup(); // Act setup.Configure(mvcOptions); // Assert Assert.Equal(4, mvcOptions.OutputFormatters.Count); Assert.IsType<HttpNoContentOutputFormatter>(mvcOptions.OutputFormatters[0]); Assert.IsType<StringOutputFormatter>(mvcOptions.OutputFormatters[1]); Assert.IsType<StreamOutputFormatter>(mvcOptions.OutputFormatters[2]); Assert.IsType<JsonOutputFormatter>(mvcOptions.OutputFormatters[3]); }
public void Setup_SetsUpValueProviders() { // Arrange var mvcOptions = new MvcOptions(); var setup = new MvcOptionsSetup(); // Act setup.Configure(mvcOptions); // Assert var valueProviders = mvcOptions.ValueProviderFactories; Assert.Equal(3, valueProviders.Count); Assert.IsType<RouteValueValueProviderFactory>(valueProviders[0]); Assert.IsType<QueryStringValueProviderFactory>(valueProviders[1]); Assert.IsType<FormValueProviderFactory>(valueProviders[2]); }
public void Setup_SetsUpModelBinders() { // Arrange var mvcOptions = new MvcOptions(); var setup = new MvcOptionsSetup(); // Act setup.Setup(mvcOptions); // Assert Assert.Equal(5, mvcOptions.ModelBinders.Count); Assert.Equal(typeof(TypeConverterModelBinder), mvcOptions.ModelBinders[0].OptionType); Assert.Equal(typeof(TypeMatchModelBinder), mvcOptions.ModelBinders[1].OptionType); Assert.Equal(typeof(GenericModelBinder), mvcOptions.ModelBinders[2].OptionType); Assert.Equal(typeof(MutableObjectModelBinder), mvcOptions.ModelBinders[3].OptionType); Assert.Equal(typeof(ComplexModelDtoModelBinder), mvcOptions.ModelBinders[4].OptionType); }
private static IServiceProvider GetServiceProvider() { var optionsSetup = new MvcOptionsSetup(); var options = new MvcOptions(); optionsSetup.Configure(options); var optionsAccessor = new Mock<IOptions<MvcOptions>>(); optionsAccessor.SetupGet(o => o.Options).Returns(options); var serviceCollection = new ServiceCollection(); serviceCollection.AddInstance(optionsAccessor.Object); return serviceCollection.BuildServiceProvider(); }
public void Setup_SetsUpInputFormatters() { // Arrange var mvcOptions = new MvcOptions(); var setup = new MvcOptionsSetup(); // Act setup.Configure(mvcOptions); // Assert Assert.Equal(2, mvcOptions.InputFormatters.Count); Assert.IsType<JsonInputFormatter>(mvcOptions.InputFormatters[0]); Assert.IsType<JsonPatchInputFormatter>(mvcOptions.InputFormatters[1]); }
public void Setup_JsonFormattersUseSerializerSettings() { // Arrange var mvcOptions = new MvcOptions(); var setup = new MvcOptionsSetup(); // Act setup.Configure(mvcOptions); // Assert var jsonInputFormatters = mvcOptions.InputFormatters.OfType<JsonInputFormatter>(); foreach (var jsonInputFormatter in jsonInputFormatters) { Assert.Same(mvcOptions.SerializerSettings, jsonInputFormatter.SerializerSettings); } var jsonOuputFormatters = mvcOptions.OutputFormatters.OfType<JsonOutputFormatter>(); foreach (var jsonOuputFormatter in jsonOuputFormatters) { Assert.Same(mvcOptions.SerializerSettings, jsonOuputFormatter.SerializerSettings); } }
public void Setup_SetsUpExcludeFromValidationDelegates() { // Arrange var mvcOptions = new MvcOptions(); var setup = new MvcOptionsSetup(); // Act setup.Configure(mvcOptions); // Assert Assert.Equal(8, mvcOptions.ValidationExcludeFilters.Count); var i = 0; // Verify if the delegates registered by default exclude the given types. Assert.IsType(typeof(SimpleTypesExcludeFilter), mvcOptions.ValidationExcludeFilters[i++]); Assert.IsType(typeof(DefaultTypeBasedExcludeFilter), mvcOptions.ValidationExcludeFilters[i]); var xObjectFilter = Assert.IsType<DefaultTypeBasedExcludeFilter>(mvcOptions.ValidationExcludeFilters[i++]); Assert.Equal(xObjectFilter.ExcludedType, typeof(XObject)); Assert.IsType(typeof(DefaultTypeBasedExcludeFilter), mvcOptions.ValidationExcludeFilters[i]); var typeFilter = Assert.IsType<DefaultTypeBasedExcludeFilter>(mvcOptions.ValidationExcludeFilters[i++]); Assert.Equal(typeFilter.ExcludedType, typeof(Type)); Assert.IsType(typeof(DefaultTypeBasedExcludeFilter), mvcOptions.ValidationExcludeFilters[i]); var jTokenFilter = Assert.IsType<DefaultTypeBasedExcludeFilter>(mvcOptions.ValidationExcludeFilters[i++]); Assert.Equal(jTokenFilter.ExcludedType, typeof(JToken)); Assert.IsType(typeof(DefaultTypeBasedExcludeFilter), mvcOptions.ValidationExcludeFilters[i]); var cancellationTokenFilter = Assert.IsType<DefaultTypeBasedExcludeFilter>(mvcOptions.ValidationExcludeFilters[i++]); Assert.Equal(cancellationTokenFilter.ExcludedType, typeof(System.Threading.CancellationToken)); Assert.IsType(typeof(DefaultTypeBasedExcludeFilter), mvcOptions.ValidationExcludeFilters[i]); var formFileFilter = Assert.IsType<DefaultTypeBasedExcludeFilter>(mvcOptions.ValidationExcludeFilters[i++]); Assert.Equal(formFileFilter.ExcludedType, typeof(Http.IFormFile)); Assert.IsType( typeof(DefaultTypeBasedExcludeFilter), mvcOptions.ValidationExcludeFilters[i]); var formCollectionFilter = Assert.IsType<DefaultTypeBasedExcludeFilter>(mvcOptions.ValidationExcludeFilters[i++]); Assert.Equal(formCollectionFilter.ExcludedType, typeof(Http.IFormCollection)); Assert.IsType(typeof(DefaultTypeNameBasedExcludeFilter), mvcOptions.ValidationExcludeFilters[i]); var xmlNodeFilter = Assert.IsType<DefaultTypeNameBasedExcludeFilter>(mvcOptions.ValidationExcludeFilters[i++]); Assert.Equal(xmlNodeFilter.ExcludedTypeName, "System.Xml.XmlNode"); }
public void Setup_IgnoresAcceptHeaderHavingWildCardMediaAndSubMediaTypes() { // Arrange var mvcOptions = new MvcOptions(); var setup = new MvcOptionsSetup(); // Act setup.Configure(mvcOptions); // Assert Assert.False(mvcOptions.RespectBrowserAcceptHeader); }
public void Setup_SetsUpClientModelValidatorProviders() { // Arrange var mvcOptions = new MvcOptions(); var setup = new MvcOptionsSetup(); // Act setup.Configure(mvcOptions); // Assert Assert.Equal(2, mvcOptions.ClientModelValidatorProviders.Count); Assert.IsType<DefaultClientModelValidatorProvider>(mvcOptions.ClientModelValidatorProviders[0]); Assert.IsType<DataAnnotationsClientModelValidatorProvider>(mvcOptions.ClientModelValidatorProviders[1]); }
public void Setup_SetsUpOutputFormatters() { // Arrange var mvcOptions = new MvcOptions(); var setup1 = new CoreMvcOptionsSetup(); var setup2 = new MvcOptionsSetup(); var setup3 = new JsonMvcOptionsSetup(new OptionsManager<MvcJsonOptions>( Enumerable.Empty<IConfigureOptions<MvcJsonOptions>>())); // Act setup1.Configure(mvcOptions); setup2.Configure(mvcOptions); setup3.Configure(mvcOptions); // Assert Assert.Equal(4, mvcOptions.OutputFormatters.Count); Assert.IsType<HttpNoContentOutputFormatter>(mvcOptions.OutputFormatters[0]); Assert.IsType<StringOutputFormatter>(mvcOptions.OutputFormatters[1]); Assert.IsType<StreamOutputFormatter>(mvcOptions.OutputFormatters[2]); Assert.IsType<JsonOutputFormatter>(mvcOptions.OutputFormatters[3]); }
public void Setup_SetsUpInputFormatters() { // Arrange var mvcOptions = new MvcOptions(); var setup1 = new CoreMvcOptionsSetup(); var setup2 = new MvcOptionsSetup(); var setup3 = new JsonMvcOptionsSetup(new OptionsManager<MvcJsonOptions>( Enumerable.Empty<IConfigureOptions<MvcJsonOptions>>())); // Act setup1.Configure(mvcOptions); setup2.Configure(mvcOptions); setup3.Configure(mvcOptions); // Assert Assert.Equal(2, mvcOptions.InputFormatters.Count); Assert.IsType<JsonInputFormatter>(mvcOptions.InputFormatters[0]); Assert.IsType<JsonPatchInputFormatter>(mvcOptions.InputFormatters[1]); }
public TestMvcOptions() { Options = new MvcOptions(); MvcOptionsSetup.ConfigureMvc(Options); }