public async Task BindModelAsync_ReturnsNull_ForNonHttpRequestMessageType(Type type)
        {
            // Arrange
            var binder = new HttpRequestMessageModelBinder();
            var bindingContext = GetBindingContext(type);

            // Act
            var result = await binder.BindModelAsync(bindingContext);

            // Assert
            Assert.Equal(ModelBindingResult.NoResult, result);
        }
        public async Task BindModelAsync_ReturnsNull_ForNonHttpRequestMessageType(Type type)
        {
            // Arrange
            var binder         = new HttpRequestMessageModelBinder();
            var bindingContext = GetBindingContext(type);

            // Act
            var result = await binder.BindModelAsync(bindingContext);

            // Assert
            Assert.Equal(ModelBindingResult.NoResult, result);
        }
        public async Task BindModelAsync_ReturnsNotNull_ForHttpRequestMessageType()
        {
            // Arrange
            var binder = new HttpRequestMessageModelBinder();
            var bindingContext = GetBindingContext(typeof(HttpRequestMessage));
            var expectedModel = bindingContext.OperationBindingContext.HttpContext.GetHttpRequestMessage();

            // Act
            var result = await binder.BindModelAsync(bindingContext);

            // Assert
            Assert.NotNull(result);
            Assert.True(result.IsModelSet);
            Assert.Same(expectedModel, result.Model);
            Assert.NotNull(result.ValidationNode);
            Assert.True(result.ValidationNode.SuppressValidation);
        }
Ejemplo n.º 4
0
        public async Task BindModelAsync_ReturnsNotNull_ForHttpRequestMessageType()
        {
            // Arrange
            var binder         = new HttpRequestMessageModelBinder();
            var bindingContext = GetBindingContext(typeof(HttpRequestMessage));
            var expectedModel  = bindingContext.OperationBindingContext.HttpContext.GetHttpRequestMessage();

            // Act
            var result = await binder.BindModelAsync(bindingContext);

            // Assert
            Assert.NotNull(result);
            Assert.True(result.IsModelSet);
            Assert.Same(expectedModel, result.Model);
            Assert.NotNull(result.ValidationNode);
            Assert.True(result.ValidationNode.SuppressValidation);
        }
        public async Task BindModelAsync_ReturnsNonEmptyResult_ForHttpRequestMessageType()
        {
            // Arrange
            var binder = new HttpRequestMessageModelBinder();
            var bindingContext = GetBindingContext(typeof(HttpRequestMessage));
            var expectedModel = bindingContext.OperationBindingContext.HttpContext.GetHttpRequestMessage();

            // Act
            var result = await binder.BindModelAsync(bindingContext);

            // Assert
            Assert.NotEqual(ModelBindingResult.NoResult, result);
            Assert.True(result.IsModelSet);
            Assert.Same(expectedModel, result.Model);

            var entry = bindingContext.ValidationState[result.Model];
            Assert.True(entry.SuppressValidation);
            Assert.Null(entry.Key);
            Assert.Null(entry.Metadata);
        }
        public async Task BindModelAsync_ReturnsNonEmptyResult_ForHttpRequestMessageType()
        {
            // Arrange
            var binder         = new HttpRequestMessageModelBinder();
            var bindingContext = GetBindingContext(typeof(HttpRequestMessage));
            var expectedModel  = bindingContext.OperationBindingContext.HttpContext.GetHttpRequestMessage();

            // Act
            var result = await binder.BindModelAsync(bindingContext);

            // Assert
            Assert.NotEqual(ModelBindingResult.NoResult, result);
            Assert.True(result.IsModelSet);
            Assert.Same(expectedModel, result.Model);

            var entry = bindingContext.ValidationState[result.Model];

            Assert.True(entry.SuppressValidation);
            Assert.Null(entry.Key);
            Assert.Null(entry.Metadata);
        }