public void ConfigProvider_SettingsAreCorrect() { // Arrange var config = new HttpConfiguration(); var configProvider = new MobileAppControllerConfigProvider(); var settings = new HttpControllerSettings(config); var descriptor = new HttpControllerDescriptor() { Configuration = config }; // Act configProvider.Configure(settings, descriptor); // 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); Assert.Equal(MissingMemberHandling.Error, serializerSettings.MissingMemberHandling); Assert.True(serializerSettings.CheckAdditionalContent); // 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(config.Formatters.JsonFormatter.SerializerSettings.ContractResolver, settings.Formatters.JsonFormatter.SerializerSettings.ContractResolver); Assert.Same(settings.Formatters.JsonFormatter, settings.Formatters[0]); }
/// <summary> /// Gets the <see cref="Microsoft.Azure.Mobile.Server.Config.IMobileAppControllerConfigProvider"/> registered with the current <see cref="System.Web.Http.HttpConfiguration" />. /// </summary> /// <param name="config">The current <see cref="System.Web.Http.HttpConfiguration"/>.</param> /// <returns>The registered instance.</returns> public static IMobileAppControllerConfigProvider GetMobileAppControllerConfigProvider(this HttpConfiguration config) { if (config == null) { throw new ArgumentNullException("config"); } IMobileAppControllerConfigProvider provider = null; if (!config.Properties.TryGetValue(MobileAppControllerConfigProviderKey, out provider)) { provider = new MobileAppControllerConfigProvider(); config.Properties[MobileAppControllerConfigProviderKey] = provider; } return provider; }
public void SetMobileAppControllerConfigProvider_Roundtrips() { // Arrange MobileAppControllerConfigProvider provider = new MobileAppControllerConfigProvider(); HttpConfiguration config = new HttpConfiguration(); // Act config.SetMobileAppControllerConfigProvider(provider); IMobileAppControllerConfigProvider actual = config.GetMobileAppControllerConfigProvider(); // Assert Assert.Same(provider, actual); }