Closed wzieba closed 1 year ago
Attention: 4 lines
in your changes are missing coverage. Please review.
Comparison is base (
fcb6d7c
) 44.38% compared to head (aad4629
) 46.15%.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
I would still recommend having some actual manual testing instructions, to verify them and only then to proceed with merging this, even if that's just for documentation purposes. I am recommending that because FlushManager has been completely re-written to Kotlin + Coroutines, plus, the test suite for it was added after the fact, not before.
I agree that it's quite a big change (first of many to the SDK), but one of the reasons for adding functional tests, was to eliminate a need for manual testing. They are as close to the real scenario as possible - only instead of a person tapping buttons, we run SDK functions, and instead of a person validating logs - we have assertions. Do you have some additional scenario in mind that we should test here manually?
@ParaskP7 heads up - in case of some changes/bugfixes that can be needed for current main
, I've decided to change target of this PR to a new, long-running feature branch coroutines
.
As soon as all code will be migrated to use Coroutines, I'll merge the long-running branch to main
and prepare a version of SDK.
π @wzieba !
I agree that it's quite a big change (first of many to the SDK), but one of the reasons for adding functional tests, was to eliminate a need for manual testing.
π― but also, IMHO, elevating manual testing after merging this, not before, thus me suggested we still do manual testing on this PR. Still, I do understand were you are coming from. π―
They are as close to the real scenario as possible - only instead of a person tapping buttons, we run SDK functions, and instead of a person validating logs - we have assertions.
π
Do you have some additional scenario in mind that we should test here manually?
Nothing comes to mind as I am not having all testing scenarios in my head, I just did someΒ basic manual testing myself and wondered if I covered everything needed. Thus me trying to be on the safe side and asking you for an explicit testing scenario list so that I can be a bit more relaxed with this merge. π
@ParaskP7 heads up - in case of some changes/bugfixes that can be needed for current main, I've decided to change target of this PR to a new, long-running feature branch coroutines.
Oh nice, this kind of makes sense, thanks for the heads-up on that @wzieba ! π
As soon as all code will be migrated to use Coroutines, I'll merge the long-running branch to main and prepare a version of SDK.
π
Description
This PR moves
FlushTimer
class to separate class, rewrites it in Kotlin Coroutines and adds unit tests coverage. Additionally, it adds a functional test that asserts the correct flushing queue logic.To test
Green light from CI should be fine π