From c70d5b85ce6aab51f5bd9271705c76cac584f547 Mon Sep 17 00:00:00 2001 From: Belen Pruvost Date: Fri, 3 Sep 2021 08:38:32 +0200 Subject: [PATCH] SONAR-15142 - Avoid log creation when a branch or PR is created --- .../java/org/sonar/db/component/ComponentDao.java | 8 +++++++- .../org/sonar/db/component/ComponentDaoTest.java | 12 ++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDao.java b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDao.java index cf48ef999f3..027eca54878 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDao.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/component/ComponentDao.java @@ -335,7 +335,9 @@ public class ComponentDao implements Dao { public void insert(DbSession session, ComponentDto item) { mapper(session).insert(item); - auditPersister.addComponent(session, new ComponentNewValue(item)); + if (!isBranchOrPullRequest(item)) { + auditPersister.addComponent(session, new ComponentNewValue(item)); + } } public void insert(DbSession session, Collection items) { @@ -400,4 +402,8 @@ public class ComponentDao implements Dao { return false; } + private static boolean isBranchOrPullRequest(ComponentDto item) { + return item.getMainBranchProjectUuid() != null; + } + } diff --git a/server/sonar-db-dao/src/test/java/org/sonar/db/component/ComponentDaoTest.java b/server/sonar-db-dao/src/test/java/org/sonar/db/component/ComponentDaoTest.java index 56054397785..d5aad6f2f47 100644 --- a/server/sonar-db-dao/src/test/java/org/sonar/db/component/ComponentDaoTest.java +++ b/server/sonar-db-dao/src/test/java/org/sonar/db/component/ComponentDaoTest.java @@ -86,6 +86,7 @@ import static org.sonar.api.utils.DateUtils.parseDate; import static org.sonar.db.component.BranchType.BRANCH; import static org.sonar.db.component.BranchType.PULL_REQUEST; import static org.sonar.db.component.ComponentTesting.newApplication; +import static org.sonar.db.component.ComponentTesting.newBranchComponent; import static org.sonar.db.component.ComponentTesting.newBranchDto; import static org.sonar.db.component.ComponentTesting.newDirectory; import static org.sonar.db.component.ComponentTesting.newFileDto; @@ -1914,6 +1915,17 @@ public class ComponentDaoTest { verify(auditPersister).addComponent(any(DbSession.class), any(ComponentNewValue.class)); } + @Test + public void insert_branch_auditPersisterIsNotCalled() { + ComponentDto project = db.components().insertPublicProject(); + BranchDto branch = newBranchDto(project); + ComponentDto branchComponent = newBranchComponent(project, branch); + + underTestWithAuditPersister.insert(dbSession, branchComponent); + + verifyNoInteractions(auditPersister); + } + private boolean privateFlagOfUuid(String uuid) { return underTest.selectByUuid(db.getSession(), uuid).get().isPrivate(); } -- 2.39.5