Thanks everyone for the great effort!

Just one quick question regarding the Streams tests: I looked over
https://github.com/apache/kafka/pull/12492/files,
https://github.com/apache/kafka/pull/12505/files and
https://github.com/apache/kafka/pull/12465/files, but I did not find the
one covering `TaskManagerTest` that has a mixed usage of Mockito and
EasyMock. Do you have a PR covering that class and if yes, could you point
me to that one?


Guozhang

On Mon, Aug 15, 2022 at 11:48 AM Christo <christo_lo...@yahoo.com.invalid>
wrote:

>  Hello!
> Following Divij's example I wanted to give an update on the progress being
> made.
> With a combined effort from Yash Mayya, Matthew de Detrich and myself we
> are 3/4 through providing pull requests for moving the remaining EasyMock
> tests to Mockito (https://issues.apache.org/jira/browse/KAFKA-14133).
> Across those and other pull requests we have received insightful feedback
> from Bruno Cadonna, Chris Egerton, Dalibor Plavcic and Ismael Juma on how
> things can be improved. Thank you very much!
> Current pull requests we are trying to get to a resolution from oldest to
> newest are:
> * https://github.com/apache/kafka/pull/12409*
> https://github.com/apache/kafka/pull/12418*
> https://github.com/apache/kafka/pull/12459*
> https://github.com/apache/kafka/pull/12465
> * https://github.com/apache/kafka/pull/12473
> * https://github.com/apache/kafka/pull/12492*
> https://github.com/apache/kafka/pull/12505*
> https://github.com/apache/kafka/pull/12509
> Best,Christo <https://github.com/apache/kafka/pull/12509Best,Christo>
>
>     On Thursday, 4 August 2022, 18:27:17 BST, Divij Vaidya <
> divijvaidy...@gmail.com> wrote:
>
>  Hi everyone
>
> To provide you with quick updates on the progress.
>
> Open PRs (pending review):
>
>   1. Streams - https://github.com/apache/kafka/pull/12449
>   2. Streams - https://github.com/apache/kafka/pull/12465
>   3. Streams - https://github.com/apache/kafka/pull/12459
>   4. Connect - https://github.com/apache/kafka/pull/12484
>   5. Connect - https://github.com/apache/kafka/pull/12473  6. Connect -
> https://github.com/apache/kafka/pull/12409
>   7. Connect - https://github.com/apache/kafka/pull/12472
>
> Open tasks (pending an owners):
>
>   1. https://issues.apache.org/jira/browse/KAFKA-14132 (need owners for
>   separate individual tests)
>   2. https://issues.apache.org/jira/browse/KAFKA-14133
>
>
> General guidance to reduce code review churn when working on these test
> conversions:
>
>   1. Please use @RunWith(MockitoJUnitRunner.StrictStubs.class) since it
>   provides many benefits.
>   2. Please do not perform JUnit 5 migration in the same PR as Mockito
>   conversion to keep the changes few and easy to review. We will follow up
>   with a blanket JUnit5 conversion (similar to this
>   <https://github.com/apache/kafka/pull/12285>) when Mockito migration is
>   complete.
>   3. Please use @Mock annotation to mock (Chris Egerton has added this
>   comment on various PRs, hence calling it out)
>   4. Note that @RunWith(MockitoJUnitRunner.StrictStubs.class) verifies the
>   invocation of declared stubs automatically. If the stubs are not invoked,
>   the test throws a UnnecessaryStubbingException. Note that this doesn't
> seem
>   to work for `mockStatic` and I would suggest to explicitly verify stub
>   invocations over there.
>   5. As a reference, you can use the merged PR from Chris Egerton here:
>   https://github.com/apache/kafka/pull/12409  6. Add a verification step
> in the description that the test has
>   successfully run with the command `./gradlew connect:runtime:unitTest`
> (or
>   equivalent for the module you are changing the test for). Additionally,
> you
>   can add the code coverage report using `./gradlew streams:reportCoverage
>   -PenableTestCoverage=true -Dorg.gradle.parallel=false` to verify that no
>   test assertion has been accidentally removed during the change.
>
>
> *Chris*, would you like to add anything else to the general guidance above
> which would help reduce the code review churn?
>
> --
> Divij Vaidya
>
>
>
> On Mon, Aug 1, 2022 at 6:49 PM Divij Vaidya <divijvaidy...@gmail.com>
> wrote:
>
> > Hi folks
> >
> > We have been trying to replace EasyMock/Powermock with Mockito
> > <https://issues.apache.org/jira/browse/KAFKA-7438> for quite a while.
> > This adds complications for migrating to JDK 17 & Junit5. Significant
> > contributions have been made by various folks towards this goal and the
> > finish line is almost in sight.
> >
> > Let's join forces this week and get the task done!
> >
> > I and Christo(cc'ed) will be spending time converting the straggler tests
> > during this week.
> >
> > At this stage, we are missing a shepherd to help us wrap up this task.
> *Could
> > we please solicit some code review bandwidth from a committer for this
> week
> > to help us reach the finish line?*
> >
> > Current pending PR requests:
> > 1. KAFKA-13036: Replace EasyMock and PowerMock with Mockito for
> RocksDBMetricsRecorderTest by divijvaidya · Pull Request #12459 ·
> apache/kafka
>
> > 2. KAFKA-12950: Replace EasyMock and PowerMock with Mockito for
> KafkaStreamsTest by divijvaidya · Pull Request #12465 · apache/kafka
> > 3. KAFKA-13414: Replace PowerMock/EasyMock with Mockito in
> connect.storage.KafkaOffsetBackingStoreTest by clolov · Pull Request #12418
> · apache/kafka
> >
> > Regards,
> > Divij Vaidya
> >
> >
>



-- 
-- Guozhang

Reply via email to