Skip to content

Change the E2E class Fixture to allow parallel running#2049

Draft
xuzhg wants to merge 374 commits into
OData:masterfrom
xuzhg:E2ETestFrameWorkChange
Draft

Change the E2E class Fixture to allow parallel running#2049
xuzhg wants to merge 374 commits into
OData:masterfrom
xuzhg:E2ETestFrameWorkChange

Conversation

@xuzhg

@xuzhg xuzhg commented Feb 13, 2020

Copy link
Copy Markdown
Member

Issues

This pull request fixes issue #xxx.

Description

Briefly describe the changes of this pull request.

Checklist (Uncheck if it is not completed)

  • Test cases added
  • Build and test with one-click build and test script passed

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.

xuzhg and others added 30 commits March 21, 2018 16:50
…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.
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.
@xuzhg xuzhg force-pushed the E2ETestFrameWorkChange branch from 8becfbf to 5a4f2b5 Compare February 26, 2020 18:20
Sreejithpin and others added 6 commits February 26, 2020 16:30
… 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
@xuzhg xuzhg modified the milestones: 7.4 Beta, vNext Mar 2, 2020
Brecht Debaere and others added 8 commits March 3, 2020 09:49
* 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
@xuzhg xuzhg force-pushed the E2ETestFrameWorkChange branch from 5a4f2b5 to cfddc55 Compare April 13, 2020 22:42
@Sreejithpin Sreejithpin removed the Ready for review Use this label if a pull request is ready to be reviewed label Jul 21, 2020
@odero

odero commented Sep 23, 2020

Copy link
Copy Markdown
Contributor

@xuzhg, @Sreejithpin is anyone still working on this?

@xuzhg

xuzhg commented Sep 23, 2020

Copy link
Copy Markdown
Member Author

@xuzhg, @Sreejithpin is anyone still working on this?

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.

@mikepizzo mikepizzo marked this pull request as draft January 5, 2021 21:42
@xuzhg xuzhg force-pushed the master branch 2 times, most recently from 4c43a84 to ddfd3dd Compare May 29, 2026 01:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.