Esempio n. 1
0
 public void WithJsonSerializerSettingsShouldNotThrowExceptionWithSameJsonSettings()
 {
     MyWebApi
     .Controller <WebApiController>()
     .Calling(c => c.JsonWithSettingsAction())
     .ShouldReturn()
     .Json()
     .WithJsonSerializerSettings(TestObjectFactory.GetJsonSerializerSettings());
 }
 public void WithJsonSerializerSettingsShouldNotThrowExceptionWithSameJsonSettings()
 {
     MyController <MvcController>
     .Instance()
     .Calling(c => c.JsonWithSettingsAction())
     .ShouldReturn()
     .Json(json => json
           .WithJsonSerializerSettings(TestObjectFactory.GetJsonSerializerSettings()));
 }
        public void WithJsonSerializerSettingsShouldNotThrowExceptionWithValidSettings()
        {
            var jsonSettings = TestObjectFactory.GetJsonSerializerSettings();

            MyController <MvcController>
            .Instance()
            .Calling(c => c.JsonWithSpecificSettingsAction(jsonSettings))
            .ShouldReturn()
            .Json(json => json
                  .WithJsonSerializerSettings(jsonSettings));
        }
Esempio n. 4
0
        public void WithJsonSerializerSettingsShouldThrowExceptionWithDifferentJsonSettings()
        {
            var jsonSerializerSettings = TestObjectFactory.GetJsonSerializerSettings();

            jsonSerializerSettings.DateParseHandling = DateParseHandling.DateTime;

            MyWebApi
            .Controller <WebApiController>()
            .Calling(c => c.JsonWithSettingsAction())
            .ShouldReturn()
            .Json()
            .WithJsonSerializerSettings(jsonSerializerSettings);
        }
        public void WithJsonSerializerSettingsShouldThrowExceptionWithNull()
        {
            var jsonSettings = TestObjectFactory.GetJsonSerializerSettings();

            Assert.Throws <InvocationAssertionException>(() =>
            {
                MyController <MvcController>
                .Instance()
                .Calling(c => c.JsonWithSpecificSettingsAction(null))
                .ShouldReturn()
                .Json(json => json
                      .WithJsonSerializerSettings(jsonSettings));
            });
        }
        public void WithTypeNameHandlingShouldValidateOnlyTheProperty()
        {
            var jsonSerializerSettings = TestObjectFactory.GetJsonSerializerSettings();

            jsonSerializerSettings.MaxDepth         = int.MaxValue;
            jsonSerializerSettings.TypeNameHandling = TypeNameHandling.Arrays;

            MyWebApi
            .Controller <WebApiController>()
            .Calling(c => c.JsonWithSpecificSettingsAction(jsonSerializerSettings))
            .ShouldReturn()
            .Json()
            .WithJsonSerializerSettings(s =>
                                        s.WithTypeNameHandling(TypeNameHandling.Arrays));
        }
        public void WithTypeNameAssemblyFormatShouldValidateOnlyTheProperty()
        {
            var jsonSerializerSettings = TestObjectFactory.GetJsonSerializerSettings();

            jsonSerializerSettings.MaxDepth = int.MaxValue;
            jsonSerializerSettings.TypeNameAssemblyFormat = FormatterAssemblyStyle.Simple;

            MyWebApi
            .Controller <WebApiController>()
            .Calling(c => c.JsonWithSpecificSettingsAction(jsonSerializerSettings))
            .ShouldReturn()
            .Json()
            .WithJsonSerializerSettings(s =>
                                        s.WithTypeNameAssemblyFormat(FormatterAssemblyStyle.Simple));
        }
        public void WithReferenceLoopHandlingShouldValidateOnlyTheProperty()
        {
            var jsonSerializerSettings = TestObjectFactory.GetJsonSerializerSettings();

            jsonSerializerSettings.MaxDepth = int.MaxValue;
            jsonSerializerSettings.ReferenceLoopHandling = ReferenceLoopHandling.Ignore;

            MyWebApi
            .Controller <WebApiController>()
            .Calling(c => c.JsonWithSpecificSettingsAction(jsonSerializerSettings))
            .ShouldReturn()
            .Json()
            .WithJsonSerializerSettings(s =>
                                        s.WithReferenceLoopHandling(ReferenceLoopHandling.Ignore));
        }
        public void WithCultureShouldValidateOnlyTheProperty()
        {
            var jsonSerializerSettings = TestObjectFactory.GetJsonSerializerSettings();

            jsonSerializerSettings.Culture             = CultureInfo.InvariantCulture;
            jsonSerializerSettings.ConstructorHandling = ConstructorHandling.Default;

            MyWebApi
            .Controller <WebApiController>()
            .Calling(c => c.JsonWithSpecificSettingsAction(jsonSerializerSettings))
            .ShouldReturn()
            .Json()
            .WithJsonSerializerSettings(s =>
                                        s.WithCulture(CultureInfo.InvariantCulture));
        }
        public void WithMaxDepthShouldValidateOnlyTheProperty()
        {
            var jsonSerializerSettings = TestObjectFactory.GetJsonSerializerSettings();

            jsonSerializerSettings.MaxDepth   = int.MaxValue;
            jsonSerializerSettings.Formatting = Formatting.None;

            MyWebApi
            .Controller <WebApiController>()
            .Calling(c => c.JsonWithSpecificSettingsAction(jsonSerializerSettings))
            .ShouldReturn()
            .Json()
            .WithJsonSerializerSettings(s =>
                                        s.WithMaxDepth(int.MaxValue));
        }
        public void WithDateParseHandlingShouldValidateOnlyTheProperty()
        {
            var jsonSerializerSettings = TestObjectFactory.GetJsonSerializerSettings();

            jsonSerializerSettings.MaxDepth          = int.MaxValue;
            jsonSerializerSettings.DateParseHandling = DateParseHandling.DateTimeOffset;

            MyWebApi
            .Controller <WebApiController>()
            .Calling(c => c.JsonWithSpecificSettingsAction(jsonSerializerSettings))
            .ShouldReturn()
            .Json()
            .WithJsonSerializerSettings(s =>
                                        s.WithDateParseHandling(DateParseHandling.DateTimeOffset));
        }
        public void WithConstructorHandlingShouldValidateOnlyTheProperty()
        {
            var jsonSerializerSettings = TestObjectFactory.GetJsonSerializerSettings();

            jsonSerializerSettings.MaxDepth            = int.MaxValue;
            jsonSerializerSettings.ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor;

            MyWebApi
            .Controller <WebApiController>()
            .Calling(c => c.JsonWithSpecificSettingsAction(jsonSerializerSettings))
            .ShouldReturn()
            .Json()
            .WithJsonSerializerSettings(s =>
                                        s.WithConstructorHandling(ConstructorHandling.AllowNonPublicDefaultConstructor));
        }
        public void WithContractResolverShouldValidateOnlyTheProperty()
        {
            var jsonSerializerSettings = TestObjectFactory.GetJsonSerializerSettings();

            jsonSerializerSettings.MaxDepth         = int.MaxValue;
            jsonSerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();

            MyWebApi
            .Controller <WebApiController>()
            .Calling(c => c.JsonWithSpecificSettingsAction(jsonSerializerSettings))
            .ShouldReturn()
            .Json()
            .WithJsonSerializerSettings(s =>
                                        s.WithContractResolver(new CamelCasePropertyNamesContractResolver()));
        }
        public void WithJsonSerializerSettingsShouldThrowExceptionWithDifferentJsonSettings()
        {
            var jsonSerializerSettings = TestObjectFactory.GetJsonSerializerSettings();

            jsonSerializerSettings.DateParseHandling = DateParseHandling.DateTime;

            Test.AssertException <JsonResultAssertionException>(
                () =>
            {
                MyMvc
                .Controller <MvcController>()
                .Calling(c => c.JsonWithSettingsAction())
                .ShouldReturn()
                .Json()
                .WithJsonSerializerSettings(jsonSerializerSettings);
            },
                "When calling JsonWithSettingsAction action in MvcController expected JSON result serializer settings to have DateTime date parse handling, but in fact found DateTimeOffset.");
        }
 public IActionResult JsonWithSettingsAction()
 {
     return(this.Json(this.responseModel, TestObjectFactory.GetJsonSerializerSettings()));
 }