Fix broken tests

With the introduction of the initial branch check introduced in JGIT
5.11.x[1], some tests started to fail due to the absence of a master
branch.

Make tests more adherent to reality by also creating an initial commit
in the master branch to mimic the behaviour of a real project creation.

[1]https://git.eclipse.org/r/c/jgit/jgit/+/175264

Bug: Issue 14368
Change-Id: I03e0a7e7545d237d1432e6b4f1f4a89d12ee3431
diff --git a/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/CommitStatisticsSpec.scala b/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/CommitStatisticsSpec.scala
index 8c5eb60..cb000e6 100644
--- a/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/CommitStatisticsSpec.scala
+++ b/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/CommitStatisticsSpec.scala
@@ -14,7 +14,8 @@
 
 package com.googlesource.gerrit.plugins.analytics.test
 
-import com.google.gerrit.acceptance.UseLocalDisk
+import com.google.gerrit.acceptance.{GitUtil, UseLocalDisk}
+import com.google.gerrit.entities.Project
 import com.googlesource.gerrit.plugins.analytics.CommitInfo
 import com.googlesource.gerrit.plugins.analytics.common.{CommitsStatistics, Statistics}
 import org.scalatest.{FlatSpec, Inside, Matchers}
@@ -107,8 +108,12 @@
     }
   }
 
-  it should "split merge commits and non-merge commits" in new TestEnvironment {
-    val clonedRepo = testFileRepository.gitClone
+  it should "split merge commits and non-merge commits" in {
+    val newProjectKey: Project.NameKey = daemonTest.newProject(testSpecificRepositoryName, true)
+    val repository = daemonTest.getRepository(newProjectKey)
+    val clonedRepo = GitUtil.newTestRepository(repository).gitClone
+    val stats = new Statistics(newProjectKey, commitsStatisticsNoCache)
+
     val firstNonMerge = clonedRepo.commitFile("file1.txt", "line1\nline2\n")
     val merge = clonedRepo.mergeCommitFile("file1.txt", "line1\nline2\nline3")
     val nonMerge = clonedRepo.commitFiles(
diff --git a/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/GerritTestDaemon.scala b/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/GerritTestDaemon.scala
index 332c733..2feb82d 100644
--- a/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/GerritTestDaemon.scala
+++ b/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/GerritTestDaemon.scala
@@ -17,17 +17,15 @@
 import java.io.File
 import java.util.{Date, UUID}
 
-import com.google.gerrit.acceptance.{AbstractDaemonTest, GitUtil}
+import com.google.gerrit.acceptance.{AbstractDaemonTest, GitUtil, _}
 import com.google.gerrit.entities.Project
-import com.google.gerrit.extensions.annotations.PluginName
 import com.google.gerrit.extensions.client.SubmitType
-import com.google.gerrit.acceptance._
 import com.google.gerrit.extensions.restapi.RestApiModule
-import com.google.gerrit.server.project.{ProjectConfig, ProjectState}
 import com.google.gerrit.server.project.ProjectResource.PROJECT_KIND
+import com.google.gerrit.server.project.ProjectState
 import com.google.inject.AbstractModule
-import com.googlesource.gerrit.plugins.analytics.{AnalyticsConfig, ContributorsResource}
 import com.googlesource.gerrit.plugins.analytics.common.CommitsStatisticsCache
+import com.googlesource.gerrit.plugins.analytics.{AnalyticsConfig, ContributorsResource}
 import org.eclipse.jgit.api.MergeCommand.FastForwardMode
 import org.eclipse.jgit.api.{Git, MergeResult}
 import org.eclipse.jgit.internal.storage.file.FileRepository
@@ -80,7 +78,7 @@
     testFileRepository = GitUtil.newTestRepository(fileRepository)
   }
 
-  private def testSpecificRepositoryName = "git-test-case-" + UUID.randomUUID().toString
+  protected def testSpecificRepositoryName = "git-test-case-" + UUID.randomUUID().toString
 
   implicit class PimpedGitRepository(repo: TestFileRepository) {
 
@@ -151,9 +149,9 @@
   AbstractDaemonTest.temporaryFolder.create()
   tempDataDir.create()
 
-  def newProject(nameSuffix: String) = {
+  def newProject(nameSuffix: String, emptyCommit: Boolean = false) = {
     resourcePrefix = ""
-    super.createProjectOverAPI(nameSuffix, allProjects, false, SubmitType.MERGE_IF_NECESSARY)
+    super.createProjectOverAPI(nameSuffix, allProjects, emptyCommit, SubmitType.MERGE_IF_NECESSARY)
   }
 
   def reloadProject(projectName: Project.NameKey): Option[ProjectState] = {
diff --git a/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/UserActivitySummarySpec.scala b/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/UserActivitySummarySpec.scala
index 3ecaa36..a5a5e10 100644
--- a/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/UserActivitySummarySpec.scala
+++ b/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/UserActivitySummarySpec.scala
@@ -1,6 +1,7 @@
 package com.googlesource.gerrit.plugins.analytics.test
 
-import com.google.gerrit.acceptance.UseLocalDisk
+import com.google.gerrit.acceptance.{GitUtil, UseLocalDisk}
+import com.google.gerrit.entities.Project
 import com.googlesource.gerrit.plugins.analytics.UserActivitySummary
 import com.googlesource.gerrit.plugins.analytics.common.AggregationStrategy.EMAIL
 import com.googlesource.gerrit.plugins.analytics.common.{Statistics, TestUtils}
@@ -14,7 +15,9 @@
     val personEmail = "aCommitter@aCompany.com"
 
     // we want merge and non-merge commits to be authored by same person, so that they can be aggregated together
-    val cloneRepo = testFileRepository.gitClone
+    val newProjectKey: Project.NameKey = daemonTest.newProject(testSpecificRepositoryName, true)
+    val repository = daemonTest.getRepository(newProjectKey)
+    val cloneRepo = GitUtil.newTestRepository(repository).gitClone
     getRepoOwnedByPerson(personEmail, repo = cloneRepo)
 
     val personIdent = newPersonIdent("aPerson", personEmail)
@@ -22,8 +25,8 @@
     cloneRepo.mergeCommitFile("anotherFile.txt", "some other content", author = personIdent, committer = personIdent)
     cloneRepo.push
 
-    val aggregatedCommits = aggregateBy(EMAIL)
-    val summary = UserActivitySummary.apply(new Statistics(fileRepositoryName, commitsStatisticsNoCache))(aggregatedCommits.head)
+    val aggregatedCommits = aggregateBy(EMAIL)(repository)
+    val summary = UserActivitySummary.apply(new Statistics(newProjectKey, commitsStatisticsNoCache))(aggregatedCommits.head)
 
     val nonMergeSummary = summary.head
     val mergeSummary = summary.drop(1).head