Change the E2E class Fixture to allow parallel running#2049
Draft
xuzhg wants to merge 374 commits into
Draft
Conversation
…rate is:
AspNet : 4648 pass, 0 fail - 100% enabled, 100% pass
AspNetCore: 4123 pass, 97 fail - 91% enabled, 89% pass
This change:
1.) ModifiesEnableQuery to return a Json format similar to the HttpError format in AspNet. Many tests are expecting
the exact json format from AspNet classic. It's a fine format not specific to any platform so I chose to
emulate is for AspNetCore.
2.) Implements async client query pattern as the NetStandard version of the client does not support sync methods.
3.) Modifies LowerCamelCase tests to match error profile of AspNetCore for model validation failures.
…instead of ignoring them.
to avoid having AspNetCore validate the object, which may access properties such as SelectClause which throw if the clause is invalid.
…riPartial.Path) to return the path port of the Uri, which escapes characters that need it. The ODL Parser expects those characters to be escaped. Uri.GetLeftPart(UriPartial.Path) is used in the AspNet version in this scenario as well.
…rate is:
AspNet : 4648 pass, 0 fail - 100% enabled, 100% pass
AspNetCore: 4155 pass, 65 fail - 91% enabled, 98% pass
This change:
1.) Wrap EnableQueryAttribute and IActionFilter in a QueryFilterProvider() in the test fixture.
This is similar to the configuration used in the product configuration extensions.
2.) Modifies the case of Json properties in TopSkipOrderByTests.cs.
3.) Implements async client query pattern in SingletonClientTest.cs.
4.) Implements CreateODataPath().
the description and the QueryFilter itself.
the EntityId. The response code is not set properly until after ExecuteResultAsync() is completed.
key is not present in the SerializableError. Convert the errors in SerializableError into ODataErrorDetail collection.
…bound is either ODataQueryOptions or ODataQueryOptions<T>.
if a filter of the same type is already present in the Filters list. Modify QueryFilterProvider to apply of a global query filter if the return type is a Task<> returning a collection and if the return type is derived from single result.
8becfbf to
5a4f2b5
Compare
… dynamic controller (OData#2035) * Enable endpoint routing using dynamic controller * Update to 7.4.0 * Update the PublicAPI test cases * Add the E2E test cases * Change the startup to test the per-route configuration * Some test codes about policy * Use MatcherPolicy Instead of EndpointSelector to resolve the ambiguity * Address the comments and add LinkGenerator test cases * Revert the EF Core version to 2.2.0 to make Aggregation E2E test pass
* Add test to verify batch handler does not copy all headers to individual requests * Control which headers are copied from batch to individual requests * Handle quoted and escaped preference header values in batch requests * Fix regression in default batch handler tests * Minor refactor of header handling in batch handler * Use only comma as separator for preferences in Prefer header * Handle multiple prefer headers and duplicate preferences in batch request * Minor style fixes * Refactor handling of batch headers * Remove unnecessary Trim() in preference header handling * Remove space from preference header separator
5a4f2b5 to
cfddc55
Compare
Contributor
|
@xuzhg, @Sreejithpin is anyone still working on this? |
Member
Author
I'd like to keep it open. Some E2E tests case runs conflict because some static settings has conflict when running parallel. I'd like to continue to investigate it until i have the time. Another part is that we can move to WebApplicationFactory. |
4c43a84 to
ddfd3dd
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issues
This pull request fixes issue #xxx.
Description
Briefly describe the changes of this pull request.
Checklist (Uncheck if it is not completed)
Additional work necessary
If documentation update is needed, please add "Docs Needed" label to the issue and provide details about the required document change in the issue.