tree a1e8ee2dd1248561a97966ee1ed370bd87f7ffac
parent 1dbd132a4b6af3434b7af020edc4af98ff217467
author Luca Milanesio <luca.milanesio@gmail.com> 1718664143 +0100
committer Luca Milanesio <luca.milanesio@gmail.com> 1718664143 +0100

Add missing @UseLocalDisk annotation in BotLikeExtractorImplSpec

The BotLikeExtractorImplSpec test was missing the @UseLocalDisk
triggering the creation of a Gerrit site with an in-memory repository
manager.

The all analytics plugin assumes the repositories are stored on disk
therefore the text execution, if run as first test, was triggering
the creation of a static daemon that broke all assertions of having
a FileRepository.

Example of a failure noticed on the CI:

java.lang.IllegalStateException: Expected 'FileRepository', got com.google.gerrit.testing.InMemoryRepositoryManager$Repo
at com.googlesource.gerrit.plugins.analytics.test.GerritTestDaemon$.getRepository(GerritTestDaemon.scala:166)
at com.googlesource.gerrit.plugins.analytics.test.GerritTestDaemon.beforeEach(GerritTestDaemon.scala:77)
at com.googlesource.gerrit.plugins.analytics.test.GerritTestDaemon.beforeEach$(GerritTestDaemon.scala:74)
at com.googlesource.gerrit.plugins.analytics.test.CommitStatisticsSpec.beforeEach(CommitStatisticsSpec.scala:26)

Add the missing @UseLocalDisk annotation and make the analytics
tests more resilient to tests execution order.

Change-Id: Ia8801071b7fabfa17e8036f7b6eb3175d7cf555e
