Commit Graph

2644 Commits

Author SHA1 Message Date
Ryan Nowak fbae57cde1 React to the removal of EndpointConstraint 2018-07-28 19:03:16 -07:00
James Newton-King c01c7075be
Add EndpointMetadata to ActionDescriptor and hookup CORS (#8158) 2018-07-28 16:12:54 +12:00
Doug Bunting 556880872d
Ensure later validations of `null` models do not overwrite `Invalid` state
- #8078
2018-07-26 13:49:22 -07:00
Doug Bunting 0d427a60e5
Use `TheoryData` properties to avoid duplicate test data
- couldn't just remove duplicate `[TheoryData]` in `GlobalRoutingTest`
  - xUnit analyzers don't understand `[InlineData]` is inherited (though runtime certainly does)
2018-07-26 10:12:50 -07:00
Doug Bunting 498fa2d72f
Avoid `InvalidOperationException` when serializing `SerializableError`
- #8055
- provide unique name (`<Empty-Key>`) for XML elements that would otherwise be nameless

nits:
- remove now-useless Mono special case in updated test class
- extend updated tests to involve square brackets as well as empty keys
2018-07-26 08:56:02 -07:00
James Newton-King f31ab716ee
Change MvcEndpointDataSource to use GetChangeToken (#8137) 2018-07-26 09:20:26 +12:00
Kiran Challa 10ce77b9ca Updated MvcEndpointDataSource to create endpoints with SuppressLinkGenerationMetadata 2018-07-25 06:41:57 -07:00
Ryan Nowak b71d5da05e Fix test break due to 405 returned from routing 2018-07-24 22:15:32 -07:00
James Newton-King c08504b08a
MVC startup experience (#8131) 2018-07-25 14:30:51 +12:00
Kiran Challa 630aeade07 Added tests related to generating urls with route name 2018-07-24 15:06:16 -07:00
Alexej Timonin 52c1e942c6
Added UseCamelCasing and UseMemberCasing extension methods to MvcJsonOptions (#7256) 2018-07-23 10:11:04 -07:00
Ryan Nowak 196e3f109f React to Routing branding
This is a reaction PR for the branding changes in progress in Routing.

This can be merged after the changes to in to Routing.
2018-07-22 19:47:15 -07:00
kishan.anem c0ba374549 Custom error messages with validation message tag helper #8035
#8035
PR #8087
https://github.com/aspnet/Razor/issues/2497
2018-07-22 17:55:06 +05:30
Kiran Challa e1e7ec0f28 Enable couple of skipped Dispatching functional tests 2018-07-21 04:44:38 -07:00
Alexej Timonin d4beab5d09
CompositeValidationAttribute
- Add abstract CompositeValidationAttribute.
- Change DataAnnotationsMetadataProvider.CreateValidationMetadata to
populate ValidatorMetadata with validation attributes from CompositeValidationAttribute.
2018-07-20 15:31:14 -07:00
Ryan Nowak 5c488bf09c make feature branch build 2018-07-20 12:57:43 -07:00
Ryan Nowak 3ba6f35495 React to RoutePattern changes in Routing 2018-07-20 12:57:43 -07:00
Kristian Hellang 53930af0e3 Set ProblemDetails status field during ObjectResult formatting 2018-07-19 17:57:55 -07:00
James Newton-King 36d90c9bc2
Run request service constraint test with dispatching (#8112) 2018-07-19 16:43:51 +12:00
James Newton-King ec8976ffaf
Update MvcEndpointDataSource on raised change token (#8108) 2018-07-19 16:43:24 +12:00
James Newton-King 42218d5fb5
Versioning with endpoint constraint (#8098) 2018-07-17 16:37:45 +12:00
Pranav K b62499e02c
Ensure PageContext.ViewData and ViewContext.ViewData are the same instance
Fixes #7675
2018-07-16 11:16:03 -07:00
Pranav K 9d951325b2
Re-organize shared src packages so we can do true IVT between src assemblies 2018-07-16 11:15:58 -07:00
Doug Bunting 35fad0881b
Mark unused `ParameterBinder.BindModelAsync(...)` overloads as `[Obsolete]`
- #7660
- also addresses part of #7317, only in `ComplexTypeModelBinderIntegrationTest`
2018-07-13 13:26:56 -07:00
Doug Bunting f2608c2ff4
Do not suppress `ModelValidationState.Invalid` entries
- #7992, #7963
2018-07-13 13:21:43 -07:00
Pranav K dfbdb37979
Refactorings for codefix (#8067)
* Refactorings for codefix

- Move some common code in SymbolApiResponseMetadataProvider
- Don't run diagnostics for 1006 if we are unable to parse a return type
2018-07-13 13:05:49 -07:00
James Newton-King f12f9b46ed
Add startup filter to set MiddlewareFilterBuilder.ApplicationBuilder 2018-07-13 12:23:30 +12:00
Hao Kung a5083d525b
Fix regression with Authorize + IPolicyProvider (#8068) 2018-07-12 15:36:03 -07:00
Pranav K 46189abda7 Refactoring for ApiConvention analyzers 2018-07-12 14:26:27 -07:00
James Newton-King a67d9363e2
Consumes endpoint constraint (#8057) 2018-07-12 16:35:33 +12:00
James Newton-King c367e1d681
Fix dispatching functional tests not using dispatching startup (#8052) 2018-07-12 14:19:48 +12:00
James Newton-King 183ecd85d6
Fix MVC integration with UseEndpoint (#8047) 2018-07-11 11:47:33 +12:00
Kiran Challa 0812279464 Merge branch 'release/2.1' into kichalla/21.to.22.mergecommit
# Conflicts:
#	build/dependencies.props
#	korebuild-lock.txt
#	src/Microsoft.AspNetCore.Mvc.ApiExplorer/DefaultApiDescriptionProvider.cs
#	test/Microsoft.AspNetCore.Mvc.Core.Test/Internal/ApiBehaviorApplicationModelProviderTest.cs
#	version.props
2018-07-09 13:00:10 -07:00
Kiran Challa bd995d4cb1 [Fixes #7959] Conventional routing with custom templates not working when you have area attributes 2018-07-09 12:35:14 -07:00
Alexej Timonin dc2ae93c3f
Add fallback attribute to partial tag helper.
Addresses #7515
2018-07-09 12:24:26 -07:00
hishamco dee479fda7
Add partial helper to Razor Page \ PageModel
Fixes #7885
2018-07-09 11:01:15 -07:00
Pranav K d2bb674b0a
Add support for default response (#8028)
* Add support for default response

Fixes #6828
2018-07-06 16:44:07 -07:00
Pranav K 335500ab0e Use ModelMetadata from actual types for validation
Fixes https://github.com/aspnet/Mvc/issues/7952
2018-07-02 11:23:16 -07:00
Alexej Timonin c2fcfabdf3 Add optional property to PartialTagHelper (#7991)
* Add optional to PartialTagHelper

Addresses #7268
2018-06-29 16:02:38 -07:00
Nathanael Marchand 133d49c57e
Fix Api Explorer not returning type with ActionResult<T> and no type in ProducesResponseTypeAttribute 2018-06-29 13:55:30 -07:00
Pranav K 7f2a64e32b
Razor runtime compilation produces errors if running on a shared runtime that's rolled forward
Do not provide compilation references from runtime MVC assemblies. This avoids cases where the app is compiled
against an older MVC but running against a newer one (e.g. shared fx roll forward) resulting in compiling against multiple
versions of MVC assemblies

Fixes #7969
2018-06-29 13:55:22 -07:00
Nathanael Marchand 82f7f2aab8 Fix Api Explorer not returning type with ActionResult<T> and no type in ProducesResponseTypeAttribute 2018-06-29 12:00:16 -07:00
Pranav K c4d5ef94a9 Razor runtime compilation produces errors if running on a shared runtime that's rolled forward
Do not provide compilation references from runtime MVC assemblies. This avoids cases where the app is compiled
against an older MVC but running against a newer one (e.g. shared fx roll forward) resulting in compiling against multiple
versions of MVC assemblies

Fixes #7969
2018-06-29 11:17:25 -07:00
Doug Bunting 192e8073ee
Work around `CryptographicException`s thrown in some full framework test runs
- always skip affected tests on full framework
2018-06-28 15:52:19 -07:00
Kiran Challa 54c14b8782 Reacting to Routing repo's EndpointFinder changes 2018-06-28 12:40:04 -07:00
Doug Bunting 4dd4e5ef3e
Shorten names so MVC repo can be cloned on Windows benchmarks server 2018-06-27 14:33:31 -07:00
kishanAnem e1af5b8b6d Array or List in query string does not get parsed #7712 (#7967)
- exclude collections when detecting complex types in `ApiBehaviorApplicationModelProvider`
- add test cases
2018-06-26 11:43:46 -07:00
Pranav K 94a7c83998
Change DefaultApiConventions (#7939)
* Change DefaultApiConventions

* Introduce attributes for matching by name and type.

* Move discovery of ApiConventionAttribute to ApiBehaviorApplicationModelProvider. This is required
for us to detect during startup if the convention is incorrectly authored.
2018-06-25 08:24:30 -07:00
Doug Bunting 53857d052f
Add BasicApi and BasicViews apps
- #7805
- make initial copy of apps from aspnet/Performance repo
  - add apps to solution
  - add Readme for the benchmark apps
- update BasicApi app to actually do authentication and authorization
  - bug in the ported app
- refactor `Main` methods and add `CreateWebHostBuilder(...)` methods
- change projects to understand `$(BenchmarksTargetFramework)`
  - use NuGet.org EF packages to avoid changing the Universe build graph
- use SQLite instead of LocalDb by default
  - remove unnecessary appsettings.json files and JSON configuration support
- add EF migrations
  - (greatly) reduce startup times compared to creating / deleting databases
- add MySql, PostgreSQL, and SqlServer support
  - load BasicApi data in a `DbContext.OnModelCreating(...)` override
    - no longer need seed.sql
  - generalize migrations to support multiple providers
  - use negative seeding indices to work around npgsql/Npgsql.EntityFrameworkCore.PostgreSQL#36
  - work around Pomelo lack of strong name (PomeloFoundation/Pomelo.EntityFrameworkCore.MySql#603)
  - use BenchmarksOnly* properties for EF dependencies
    - see also aspnet/Universe#1224
- drop databases (if SQLite) or migrations (otherwise) in `IApplicationLifetime.ApplicationStopping` handlers
- add functional tests
  - drop SQLite database at end of test run
- add benchmarks automation
  - add anonymous BasicApi action i.e. require no authorization
  - add non-antiforgery BasicViews actions

Address PR comments
- remove `AntiforgeryTestHelper` workarounds
- use `[ApiController]`
- use `ActionResult<Pet>`
- remove unused classes

nits:
- take VS suggestions in added files
- optionally display create and delete SQL scripts for per-database migrations
- merge `InsertData(...)` calls for consistency with most supported EF providers
  - SQLite is the only one that requires separate `INSERT`s and EF does the splitting
2018-06-22 16:41:17 -07:00
Pranav K 6911e192e4
Add IsRequired and DefaultValue to ApiParameterDescription 2018-06-22 06:51:58 -07:00