-
Notifications
You must be signed in to change notification settings - Fork 200
Illia malachyn/new execution data tests #8200
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: feature/optimistic-sync
Are you sure you want to change the base?
Illia malachyn/new execution data tests #8200
Conversation
Refactored execution data tracker. I completely removed the indexer dependency from it. Response handler in execution data backend was refactored in a way it supports criteria and execution forks. More work to be done on this but this is the first step forward.
d0c8497 to
661a1d5
Compare
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
e0cbb11 to
5ecb6ab
Compare
5ecb6ab to
720d4c8
Compare
|
Note: tests are a bit flaky currently. I need to come up with a solution to that. |
|
@peterargue can u look into that ? |
- Removed tests for different types of backfill. - Simplify tests by removing unecessary goroutines.
…handler-function-with-interface Illia malachyn/replace response handler function with interface
|
@peterargue @UlyanaAndrukhiv @AndriiDiachuk, guys, I guess this is ready for review. I'd really appreciate your comments/criticisms. If it feels too clumsy and complex, I can split it up into several smaller PRs. |
Closes #8059, #7587, #8231, #8135
Changes:
Streamer streams all available blocks at the start, so either such tests should be there, or they should be removed, since they're basically useless - no matter how many blocks are available, all of them are streamed to the subscription.
Initially, I wanted to do it for testing, so I could easily mock this behavior and write good tests for the backend. However, the problem is that this logic is not injected into the endpoints. Therefore, it is not as useful for the backend tests, but they're useful for the tests in the subscription package (which might be extended/refactored in the [Data Availability] Introduction of a new subscription package #8131). Also, the interface makes it easier to reason about both the backend and subscription packages, as well as their interaction.
Please, review in the following order:
optimistic sync package (changes to result provider + its tests) -> subscription package (changes to streamer and
response handler/data provider interface) -> backend -> tests for backendNote, the tests for events and account statutes MUST fail in this PR, as the result provider and response handler func were significantly changed. We should merge PRs for the events/accounts into this one, then check if CI passes, and only after that we can merge everything into the feature/optimistic_sync
To be done in this PR:
TestGetExecutionData