public void Initialize_Initializes_SerializerSettings() { // Arrange var attr = new MobileAppControllerAttribute(); var settings = new HttpControllerSettings(this.nullConfig); // Act attr.Initialize(settings, null); // Assert // Verify SerializerSettings are set up as we expect var serializerSettings = settings.Formatters.JsonFormatter.SerializerSettings; Assert.Equal(typeof(ServiceContractResolver), serializerSettings.ContractResolver.GetType()); Assert.Equal(DefaultValueHandling.Include, serializerSettings.DefaultValueHandling); Assert.Equal(NullValueHandling.Include, serializerSettings.NullValueHandling); // Verify Converters var stringEnumConverter = serializerSettings.Converters.Single(c => c.GetType() == typeof(StringEnumConverter)) as StringEnumConverter; Assert.False(stringEnumConverter.CamelCaseText); var isoDateTimeConverter = serializerSettings.Converters.Single(c => c.GetType() == typeof(IsoDateTimeConverter)) as IsoDateTimeConverter; Assert.Equal(DateTimeStyles.AdjustToUniversal, isoDateTimeConverter.DateTimeStyles); Assert.Equal("yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFZ", isoDateTimeConverter.DateTimeFormat); Assert.Equal(CultureInfo.InvariantCulture, isoDateTimeConverter.Culture); Assert.NotSame(this.nullConfig.Formatters.JsonFormatter.SerializerSettings.ContractResolver, settings.Formatters.JsonFormatter.SerializerSettings.ContractResolver); Assert.Same(settings.Formatters.JsonFormatter, settings.Formatters[0]); }
public void Initialize_CallsRegisteredConfigProvider() { // Arrange var httpConfig = new HttpConfiguration(); var mockConfigProvider = new Mock <IMobileAppControllerConfigProvider>(); httpConfig.SetMobileAppControllerConfigProvider(mockConfigProvider.Object); var attr = new MobileAppControllerAttribute(); var settings = new HttpControllerSettings(httpConfig); var descriptor = new HttpControllerDescriptor() { Configuration = httpConfig }; // Act attr.Initialize(settings, descriptor); // Assert mockConfigProvider.Verify(m => m.Configure(settings, descriptor), Times.Once); }
public void Initialize_Initializes_SerializerSettings() { // Arrange var attr = new MobileAppControllerAttribute(); var settings = new HttpControllerSettings(this.nullConfig); // Act attr.Initialize(settings, null); // Assert // Verify SerializerSettings are set up as we expect var serializerSettings = settings.Formatters.JsonFormatter.SerializerSettings; Assert.Equal(typeof(ServiceContractResolver), serializerSettings.ContractResolver.GetType()); Assert.Equal(DefaultValueHandling.Include, serializerSettings.DefaultValueHandling); Assert.Equal(NullValueHandling.Include, serializerSettings.NullValueHandling); // Verify Converters var stringEnumConverter = serializerSettings.Converters.Single(c => c.GetType() == typeof(StringEnumConverter)) as StringEnumConverter; Assert.True(stringEnumConverter.CamelCaseText); var isoDateTimeConverter = serializerSettings.Converters.Single(c => c.GetType() == typeof(IsoDateTimeConverter)) as IsoDateTimeConverter; Assert.Equal(DateTimeStyles.AdjustToUniversal, isoDateTimeConverter.DateTimeStyles); Assert.Equal("yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFZ", isoDateTimeConverter.DateTimeFormat); Assert.Equal(CultureInfo.InvariantCulture, isoDateTimeConverter.Culture); Assert.NotSame(this.nullConfig.Formatters.JsonFormatter.SerializerSettings.ContractResolver, settings.Formatters.JsonFormatter.SerializerSettings.ContractResolver); Assert.Same(settings.Formatters.JsonFormatter, settings.Formatters[0]); }
public void Initialize_CallsRegisteredConfigProvider() { // Arrange var httpConfig = new HttpConfiguration(); var mockConfigProvider = new Mock<IMobileAppControllerConfigProvider>(); httpConfig.SetMobileAppControllerConfigProvider(mockConfigProvider.Object); var attr = new MobileAppControllerAttribute(); var settings = new HttpControllerSettings(httpConfig); var descriptor = new HttpControllerDescriptor() { Configuration = httpConfig }; // Act attr.Initialize(settings, descriptor); // Assert mockConfigProvider.Verify(m => m.Configure(settings, descriptor), Times.Once); }