public async Task BindModelAddsModelErrorsOnInvalidCharacters() { // Arrange var expected = TestPlatformHelper.IsMono ? "Invalid length." : "The supplied value is invalid for foo."; var valueProvider = new SimpleHttpValueProvider() { { "foo", "\"Fys1\"" } }; var bindingContext = GetBindingContext(valueProvider, typeof(byte[])); var binder = new ByteArrayModelBinder(); // Act var binderResult = await binder.BindModelAsync(bindingContext); // Assert Assert.NotNull(binderResult); Assert.False(bindingContext.ModelState.IsValid); var error = Assert.Single(bindingContext.ModelState["foo"].Errors); Assert.Equal(expected, error.ErrorMessage); }
public async Task BindModelAddsModelErrorsOnInvalidCharacters() { // Arrange var expected = TestPlatformHelper.IsMono ? "Invalid length." : "The input is not a valid Base-64 string as it contains a non-base 64 character," + " more than two padding characters, or an illegal character among the padding characters. "; var valueProvider = new SimpleHttpValueProvider() { { "foo", "\"Fys1\"" } }; var bindingContext = GetBindingContext(valueProvider, typeof(byte[])); var binder = new ByteArrayModelBinder(); // Act var binderResult = await binder.BindModelAsync(bindingContext); // Assert Assert.True(binderResult); Assert.False(bindingContext.ModelState.IsValid); var error = Assert.Single(bindingContext.ModelState["foo"].Errors); Assert.Equal(expected, error.ErrorMessage); }
public async Task BindModelSetsModelToNullOnNullOrEmptyString(string value) { // Arrange var valueProvider = new SimpleHttpValueProvider() { { "foo", value } }; var bindingContext = GetBindingContext(valueProvider, typeof(byte[])); var binder = new ByteArrayModelBinder(); // Act var binderResult = await binder.BindModelAsync(bindingContext); // Assert Assert.NotNull(binderResult); Assert.False(binderResult.IsModelSet); Assert.Equal("foo", binderResult.Key); Assert.Null(binderResult.Model); var modelState = Assert.Single(bindingContext.ModelState); Assert.Equal("foo", modelState.Key); Assert.NotNull(modelState.Value.Value); Assert.Equal(value, modelState.Value.Value.RawValue); }
public async Task ByteArrayModelBinderReturnsFalseForOtherTypes() { // Arrange var bindingContext = GetBindingContext(null, typeof(int[])); var binder = new ByteArrayModelBinder(); // Act var binderResult = await binder.BindModelAsync(bindingContext); // Assert Assert.False(binderResult); }
public async Task BindModel_ReturnsNull_ForOtherTypes() { // Arrange var bindingContext = GetBindingContext(null, typeof(int[])); var binder = new ByteArrayModelBinder(); // Act var binderResult = await binder.BindModelAsync(bindingContext); // Assert Assert.Equal(ModelBindingResult.NoResult, binderResult); }
public async Task BindModelReturnsFalseWhenValueNotFound() { // Arrange var valueProvider = new SimpleHttpValueProvider() { { "someName", "" } }; var bindingContext = GetBindingContext(valueProvider, typeof(byte[])); var binder = new ByteArrayModelBinder(); // Act var binderResult = await binder.BindModelAsync(bindingContext); // Assert Assert.False(binderResult); }
public async Task BindModelSetsModelToNullOnNullOrEmptyString(string value) { // Arrange var valueProvider = new SimpleHttpValueProvider() { { "foo", value } }; var bindingContext = GetBindingContext(valueProvider, typeof(byte[])); var binder = new ByteArrayModelBinder(); // Act var binderResult = await binder.BindModelAsync(bindingContext); // Assert Assert.Null(binderResult); }
public async Task BindModel() { // Arrange var valueProvider = new SimpleValueProvider() { { "foo", "Fys1" } }; var bindingContext = GetBindingContext(valueProvider, typeof(byte[])); var binder = new ByteArrayModelBinder(); // Act var binderResult = await binder.BindModelAsync(bindingContext); // Assert Assert.NotNull(binderResult); var bytes = Assert.IsType<byte[]>(binderResult.Model); Assert.Equal(new byte[] { 23, 43, 53 }, bytes); }
public async Task BindModel_ReturnsWithIsModelSetFalse_WhenValueNotFound() { // Arrange var valueProvider = new SimpleValueProvider() { { "someName", "" } }; var bindingContext = GetBindingContext(valueProvider, typeof(byte[])); var binder = new ByteArrayModelBinder(NullLoggerFactory.Instance); // Act await binder.BindModelAsync(bindingContext); // Assert Assert.False(bindingContext.Result.IsModelSet); Assert.Null(bindingContext.Result.Model); Assert.Empty(bindingContext.ModelState); // No submitted data for "foo". }
public async Task BindModel() { // Arrange var valueProvider = new SimpleHttpValueProvider() { { "foo", "Fys1" } }; var bindingContext = GetBindingContext(valueProvider, typeof(byte[])); var binder = new ByteArrayModelBinder(); // Act var binderResult = await binder.BindModelAsync(bindingContext); // Assert Assert.True(binderResult); var bytes = Assert.IsType <byte[]>(bindingContext.Model); Assert.Equal(new byte[] { 23, 43, 53 }, bytes); }
public async Task BindModel() { // Arrange var valueProvider = new SimpleValueProvider() { { "foo", "Fys1" } }; var bindingContext = GetBindingContext(valueProvider, typeof(byte[])); var binder = new ByteArrayModelBinder(NullLoggerFactory.Instance); // Act await binder.BindModelAsync(bindingContext); // Assert Assert.True(bindingContext.Result.IsModelSet); var bytes = Assert.IsType <byte[]>(bindingContext.Result.Model); Assert.Equal(new byte[] { 23, 43, 53 }, bytes); }
public async Task BindModelAddsModelErrorsOnInvalidCharacters() { // Arrange var valueProvider = new SimpleHttpValueProvider() { { "foo", "\"Fys1\"" } }; var bindingContext = GetBindingContext(valueProvider, typeof(byte[])); var binder = new ByteArrayModelBinder(); // Act var binderResult = await binder.BindModelAsync(bindingContext); // Assert Assert.True(binderResult); Assert.False(bindingContext.ModelState.IsValid); Assert.Equal(1, bindingContext.ModelState.Values.Count); Assert.Equal("The input is not a valid Base-64 string as it contains a non-base 64 character," + " more than two padding characters, or an illegal character among the padding characters. ", bindingContext.ModelState.Values.First().Errors[0].ErrorMessage); }
public async Task BindModelAddsModelErrorsOnInvalidCharacters() { // Arrange var expected = "The value '\"Fys1\"' is not valid for Byte[]."; var valueProvider = new SimpleValueProvider() { { "foo", "\"Fys1\"" } }; var bindingContext = GetBindingContext(valueProvider, typeof(byte[])); var binder = new ByteArrayModelBinder(); // Act var binderResult = await binder.BindModelAsync(bindingContext); // Assert Assert.NotNull(binderResult); Assert.False(bindingContext.ModelState.IsValid); var error = Assert.Single(bindingContext.ModelState["foo"].Errors); Assert.Equal(expected, error.ErrorMessage); }
public async Task BindModelAddsModelErrorsOnInvalidCharacters() { // Arrange var expected = "The value '\"Fys1\"' is not valid."; var valueProvider = new SimpleValueProvider() { { "foo", "\"Fys1\"" } }; var bindingContext = GetBindingContext(valueProvider, typeof(byte[])); var binder = new ByteArrayModelBinder(NullLoggerFactory.Instance); // Act await binder.BindModelAsync(bindingContext); // Assert Assert.False(bindingContext.Result.IsModelSet); Assert.False(bindingContext.ModelState.IsValid); var error = Assert.Single(bindingContext.ModelState["foo"].Errors); Assert.Equal(expected, error.ErrorMessage); }
public async Task BindModel_ReturnsWithIsModelSetFalse_WhenValueNotFound() { // Arrange var valueProvider = new SimpleValueProvider() { { "someName", "" } }; var bindingContext = GetBindingContext(valueProvider, typeof(byte[])); var binder = new ByteArrayModelBinder(); // Act var binderResult = await binder.BindModelAsync(bindingContext); // Assert Assert.NotNull(binderResult); Assert.False(binderResult.IsModelSet); Assert.Equal("foo", binderResult.Key); Assert.Null(binderResult.Model); Assert.Empty(bindingContext.ModelState); // No submitted data for "foo". }
public async Task BindModel_ReturnsNull_ForOtherTypes() { // Arrange var bindingContext = GetBindingContext(new SimpleValueProvider(), typeof(int[])); var binder = new ByteArrayModelBinder(); // Act var binderResult = await binder.BindModelAsync(bindingContext); // Assert Assert.Equal(ModelBindingResult.NoResult, binderResult); }
public async Task BindModelReturnsFalseWhenValueNotFound() { // Arrange var valueProvider = new SimpleHttpValueProvider() { { "someName", "" } }; var bindingContext = GetBindingContext(valueProvider, typeof(byte[])); var binder = new ByteArrayModelBinder(); // Act var binderResult = await binder.BindModelAsync(bindingContext); // Assert Assert.Null(binderResult); }
public async Task BindModel_ReturnsNull_ForOtherTypes() { // Arrange var bindingContext = GetBindingContext(null, typeof(int[])); var binder = new ByteArrayModelBinder(); // Act var binderResult = await binder.BindModelAsync(bindingContext); // Assert Assert.Null(binderResult); }