From 4a4626326982bdaa20cb145b995b9f9ebb0fd745 Mon Sep 17 00:00:00 2001 From: Teryk Bellahsene Date: Mon, 15 Dec 2014 15:39:55 +0100 Subject: [PATCH] SONAR-5910 refactoring to add a ComputeEngineContext with decompressed report directory --- .../computation/AnalysisReportService.java | 9 ++-- .../computation/ComputationService.java | 3 +- .../computation/ComputeEngineContext.java | 54 +++++++++++++++++++ .../ComponentIndexationInDatabaseStep.java | 7 ++- .../computation/step/ComputationStep.java | 5 +- .../computation/step/DataCleanerStep.java | 7 ++- .../computation/step/DigestReportStep.java | 7 ++- .../step/IndexProjectIssuesStep.java | 5 +- .../step/InvalidatePreviewCacheStep.java | 6 +-- .../computation/step/SwitchSnapshotStep.java | 8 +-- .../SynchronizeProjectPermissionsStep.java | 5 +- .../server/source/IndexSourceLinesStep.java | 5 +- .../AnalysisReportServiceTest.java | 2 +- .../computation/ComputationServiceTest.java | 7 ++- ...ComponentIndexationInDatabaseStepTest.java | 6 ++- .../step/DataCleanerStepMediumTest.java | 7 ++- .../computation/step/DataCleanerStepTest.java | 10 ++-- .../step/DigestReportStepTest.java | 6 ++- .../step/InvalidatePreviewCacheStepTest.java | 6 ++- .../step/SwitchSnapshotStepTest.java | 10 ++-- ...SynchronizeProjectPermissionsStepTest.java | 3 +- 21 files changed, 118 insertions(+), 60 deletions(-) create mode 100644 server/sonar-server/src/main/java/org/sonar/server/computation/ComputeEngineContext.java diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/AnalysisReportService.java b/server/sonar-server/src/main/java/org/sonar/server/computation/AnalysisReportService.java index 57b34283011..130b0ee8bca 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/AnalysisReportService.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/AnalysisReportService.java @@ -20,11 +20,10 @@ package org.sonar.server.computation; +import org.sonar.core.component.ComponentDto; import org.sonar.core.persistence.DbSession; import org.sonar.server.db.DbClient; -import java.io.File; - public class AnalysisReportService { private final DbClient dbClient; @@ -33,7 +32,9 @@ public class AnalysisReportService { this.dbClient = dbClient; } - public File decompress(DbSession session, long id) { - return dbClient.analysisReportDao().getDecompressedReport(session, id); + public void decompress(DbSession session, ComputeEngineContext context) { + ComponentDto project = context.getProject(); + + context.setReportDirectory(dbClient.analysisReportDao().getDecompressedReport(session, project.getId())); } } diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/ComputationService.java b/server/sonar-server/src/main/java/org/sonar/server/computation/ComputationService.java index e6f585f7515..3a854f6c813 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/ComputationService.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/ComputationService.java @@ -63,12 +63,13 @@ public class ComputationService implements ServerComponent { DbSession session = dbClient.openSession(true); ComponentDto project = findProject(report, session); + ComputeEngineContext context = new ComputeEngineContext(report, project); try { report.succeed(); for (ComputationStep step : stepRegistry.steps()) { TimeProfiler stepProfiler = new TimeProfiler(LOG).start(step.getDescription()); - step.execute(session, report, project); + step.execute(session, context); session.commit(); stepProfiler.stop(); } diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/ComputeEngineContext.java b/server/sonar-server/src/main/java/org/sonar/server/computation/ComputeEngineContext.java new file mode 100644 index 00000000000..353f5625148 --- /dev/null +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/ComputeEngineContext.java @@ -0,0 +1,54 @@ +/* + * SonarQube, open source software quality management tool. + * Copyright (C) 2008-2014 SonarSource + * mailto:contact AT sonarsource DOT com + * + * SonarQube is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 3 of the License, or (at your option) any later version. + * + * SonarQube is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + +package org.sonar.server.computation; + +import org.sonar.core.component.ComponentDto; +import org.sonar.core.computation.db.AnalysisReportDto; + +import java.io.File; + +public class ComputeEngineContext { + + private final AnalysisReportDto reportDto; + private final ComponentDto project; + private File reportDirectory; + + public ComputeEngineContext(AnalysisReportDto reportDto, ComponentDto project) { + this.reportDto = reportDto; + this.project = project; + } + + public AnalysisReportDto getReportDto() { + return reportDto; + } + + public ComponentDto getProject() { + return project; + } + + public File getReportDirectory() { + return reportDirectory; + } + + public void setReportDirectory(File reportDirectory) { + this.reportDirectory = reportDirectory; + } +} diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/step/ComponentIndexationInDatabaseStep.java b/server/sonar-server/src/main/java/org/sonar/server/computation/step/ComponentIndexationInDatabaseStep.java index 20e5fc40eb7..a9f61127b94 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/step/ComponentIndexationInDatabaseStep.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/step/ComponentIndexationInDatabaseStep.java @@ -20,10 +20,9 @@ package org.sonar.server.computation.step; -import org.sonar.core.component.ComponentDto; -import org.sonar.core.computation.db.AnalysisReportDto; import org.sonar.core.persistence.DbSession; import org.sonar.core.resource.ResourceIndexerDao; +import org.sonar.server.computation.ComputeEngineContext; public class ComponentIndexationInDatabaseStep implements ComputationStep { private final ResourceIndexerDao resourceIndexerDao; @@ -33,8 +32,8 @@ public class ComponentIndexationInDatabaseStep implements ComputationStep { } @Override - public void execute(DbSession session, AnalysisReportDto report, ComponentDto project) { - resourceIndexerDao.indexProject(project.getId().intValue(), session); + public void execute(DbSession session, ComputeEngineContext context) { + resourceIndexerDao.indexProject(context.getProject().getId().intValue(), session); } @Override diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/step/ComputationStep.java b/server/sonar-server/src/main/java/org/sonar/server/computation/step/ComputationStep.java index 81ae5030257..f13503fac0e 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/step/ComputationStep.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/step/ComputationStep.java @@ -21,13 +21,12 @@ package org.sonar.server.computation.step; import org.sonar.api.ServerComponent; -import org.sonar.core.component.ComponentDto; -import org.sonar.core.computation.db.AnalysisReportDto; import org.sonar.core.persistence.DbSession; +import org.sonar.server.computation.ComputeEngineContext; public interface ComputationStep extends ServerComponent { - void execute(DbSession session, AnalysisReportDto report, ComponentDto project); + void execute(DbSession session, ComputeEngineContext context); String getDescription(); } diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/step/DataCleanerStep.java b/server/sonar-server/src/main/java/org/sonar/server/computation/step/DataCleanerStep.java index 3badf649735..7020e6294ee 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/step/DataCleanerStep.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/step/DataCleanerStep.java @@ -20,11 +20,10 @@ package org.sonar.server.computation.step; -import org.sonar.core.component.ComponentDto; -import org.sonar.core.computation.db.AnalysisReportDto; import org.sonar.core.persistence.DbSession; import org.sonar.core.purge.IdUuidPair; import org.sonar.core.computation.dbcleaner.ProjectCleaner; +import org.sonar.server.computation.ComputeEngineContext; public class DataCleanerStep implements ComputationStep { private final ProjectCleaner projectCleaner; @@ -34,8 +33,8 @@ public class DataCleanerStep implements ComputationStep { } @Override - public void execute(DbSession session, AnalysisReportDto report, ComponentDto project) { - projectCleaner.purge(session, new IdUuidPair(project.getId(), project.uuid())); + public void execute(DbSession session, ComputeEngineContext context) { + projectCleaner.purge(session, new IdUuidPair(context.getProject().getId(), context.getProject().uuid())); } @Override diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/step/DigestReportStep.java b/server/sonar-server/src/main/java/org/sonar/server/computation/step/DigestReportStep.java index bf7b548f03c..b48a6caaf5c 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/step/DigestReportStep.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/step/DigestReportStep.java @@ -20,10 +20,9 @@ package org.sonar.server.computation.step; -import org.sonar.core.component.ComponentDto; -import org.sonar.core.computation.db.AnalysisReportDto; import org.sonar.core.persistence.DbSession; import org.sonar.server.computation.AnalysisReportService; +import org.sonar.server.computation.ComputeEngineContext; public class DigestReportStep implements ComputationStep { private final AnalysisReportService reportService; @@ -33,8 +32,8 @@ public class DigestReportStep implements ComputationStep { } @Override - public void execute(DbSession session, AnalysisReportDto report, ComponentDto project) { - reportService.decompress(session, report.getId()); + public void execute(DbSession session, ComputeEngineContext context) { + reportService.decompress(session, context); } @Override diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/step/IndexProjectIssuesStep.java b/server/sonar-server/src/main/java/org/sonar/server/computation/step/IndexProjectIssuesStep.java index f35471ccc1b..95c7353e06a 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/step/IndexProjectIssuesStep.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/step/IndexProjectIssuesStep.java @@ -20,9 +20,8 @@ package org.sonar.server.computation.step; -import org.sonar.core.component.ComponentDto; -import org.sonar.core.computation.db.AnalysisReportDto; import org.sonar.core.persistence.DbSession; +import org.sonar.server.computation.ComputeEngineContext; import org.sonar.server.issue.index.IssueAuthorizationIndexer; import org.sonar.server.issue.index.IssueIndexer; @@ -38,7 +37,7 @@ public class IndexProjectIssuesStep implements ComputationStep { } @Override - public void execute(DbSession session, AnalysisReportDto report, ComponentDto project) { + public void execute(DbSession session, ComputeEngineContext context) { authorizationIndexer.index(); indexer.index(); } diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/step/InvalidatePreviewCacheStep.java b/server/sonar-server/src/main/java/org/sonar/server/computation/step/InvalidatePreviewCacheStep.java index fce06a49868..670dd138287 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/step/InvalidatePreviewCacheStep.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/step/InvalidatePreviewCacheStep.java @@ -21,11 +21,11 @@ package org.sonar.server.computation.step; import org.sonar.core.component.ComponentDto; -import org.sonar.core.computation.db.AnalysisReportDto; import org.sonar.core.persistence.DbSession; import org.sonar.core.preview.PreviewCache; import org.sonar.core.properties.PropertiesDao; import org.sonar.core.properties.PropertyDto; +import org.sonar.server.computation.ComputeEngineContext; public class InvalidatePreviewCacheStep implements ComputationStep { private final PropertiesDao propertiesDao; @@ -35,8 +35,8 @@ public class InvalidatePreviewCacheStep implements ComputationStep { } @Override - public void execute(DbSession session, AnalysisReportDto report, ComponentDto project) { - propertiesDao.setProperty(newProjectPreviewCacheProperty(project), session); + public void execute(DbSession session, ComputeEngineContext context) { + propertiesDao.setProperty(newProjectPreviewCacheProperty(context.getProject()), session); } private PropertyDto newProjectPreviewCacheProperty(ComponentDto project) { diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/step/SwitchSnapshotStep.java b/server/sonar-server/src/main/java/org/sonar/server/computation/step/SwitchSnapshotStep.java index 10530494ee3..0fbe7df3fdb 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/step/SwitchSnapshotStep.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/step/SwitchSnapshotStep.java @@ -20,11 +20,11 @@ package org.sonar.server.computation.step; -import org.sonar.core.component.ComponentDto; import org.sonar.core.component.SnapshotDto; import org.sonar.core.computation.db.AnalysisReportDto; import org.sonar.core.persistence.DbSession; import org.sonar.server.component.db.SnapshotDao; +import org.sonar.server.computation.ComputeEngineContext; import java.util.List; @@ -37,9 +37,9 @@ public class SwitchSnapshotStep implements ComputationStep { } @Override - public void execute(DbSession session, AnalysisReportDto report, ComponentDto project) { - disablePreviousSnapshot(session, report); - enableCurrentSnapshot(session, report); + public void execute(DbSession session, ComputeEngineContext context) { + disablePreviousSnapshot(session, context.getReportDto()); + enableCurrentSnapshot(session, context.getReportDto()); } @Override diff --git a/server/sonar-server/src/main/java/org/sonar/server/computation/step/SynchronizeProjectPermissionsStep.java b/server/sonar-server/src/main/java/org/sonar/server/computation/step/SynchronizeProjectPermissionsStep.java index 1b5151fdd73..769e3928a0f 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/computation/step/SynchronizeProjectPermissionsStep.java +++ b/server/sonar-server/src/main/java/org/sonar/server/computation/step/SynchronizeProjectPermissionsStep.java @@ -20,9 +20,8 @@ package org.sonar.server.computation.step; -import org.sonar.core.component.ComponentDto; -import org.sonar.core.computation.db.AnalysisReportDto; import org.sonar.core.persistence.DbSession; +import org.sonar.server.computation.ComputeEngineContext; import org.sonar.server.issue.index.IssueAuthorizationIndexer; public class SynchronizeProjectPermissionsStep implements ComputationStep { @@ -34,7 +33,7 @@ public class SynchronizeProjectPermissionsStep implements ComputationStep { } @Override - public void execute(DbSession session, AnalysisReportDto report, ComponentDto project) { + public void execute(DbSession session, ComputeEngineContext context) { indexer.index(); } diff --git a/server/sonar-server/src/main/java/org/sonar/server/source/IndexSourceLinesStep.java b/server/sonar-server/src/main/java/org/sonar/server/source/IndexSourceLinesStep.java index 48007770948..774eb3fbe66 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/source/IndexSourceLinesStep.java +++ b/server/sonar-server/src/main/java/org/sonar/server/source/IndexSourceLinesStep.java @@ -19,9 +19,8 @@ */ package org.sonar.server.source; -import org.sonar.core.component.ComponentDto; -import org.sonar.core.computation.db.AnalysisReportDto; import org.sonar.core.persistence.DbSession; +import org.sonar.server.computation.ComputeEngineContext; import org.sonar.server.computation.step.ComputationStep; import org.sonar.server.source.index.SourceLineIndexer; @@ -34,7 +33,7 @@ public class IndexSourceLinesStep implements ComputationStep { } @Override - public void execute(DbSession session, AnalysisReportDto report, ComponentDto project) { + public void execute(DbSession session, ComputeEngineContext context) { indexer.index(); } diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/AnalysisReportServiceTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/AnalysisReportServiceTest.java index e8789dfd04b..387c67a5504 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/AnalysisReportServiceTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/computation/AnalysisReportServiceTest.java @@ -39,7 +39,7 @@ public class AnalysisReportServiceTest { when(dbClient.analysisReportDao()).thenReturn(dao); sut = new AnalysisReportService(dbClient); - sut.decompress(mock(DbSession.class), 123L); + sut.decompress(mock(DbSession.class), , 123L); verify(dao).getDecompressedReport(any(DbSession.class), eq(123L)); } diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/ComputationServiceTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/ComputationServiceTest.java index 1d835f7d1fa..799f487c35b 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/ComputationServiceTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/computation/ComputationServiceTest.java @@ -24,7 +24,6 @@ import com.google.common.collect.Lists; import org.junit.Before; import org.junit.Test; import org.mockito.InOrder; -import org.sonar.core.component.ComponentDto; import org.sonar.core.computation.db.AnalysisReportDto; import org.sonar.core.persistence.DbSession; import org.sonar.server.activity.ActivityService; @@ -70,8 +69,8 @@ public class ComputationServiceTest { InOrder order = inOrder(firstStep, secondStep, thirdStep); - order.verify(firstStep).execute(any(DbSession.class), any(AnalysisReportDto.class), any(ComponentDto.class)); - order.verify(secondStep).execute(any(DbSession.class), any(AnalysisReportDto.class), any(ComponentDto.class)); - order.verify(thirdStep).execute(any(DbSession.class), any(AnalysisReportDto.class), any(ComponentDto.class)); + order.verify(firstStep).execute(any(DbSession.class), any(ComputeEngineContext.class)); + order.verify(secondStep).execute(any(DbSession.class), any(ComputeEngineContext.class)); + order.verify(thirdStep).execute(any(DbSession.class), any(ComputeEngineContext.class)); } } diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/step/ComponentIndexationInDatabaseStepTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/step/ComponentIndexationInDatabaseStepTest.java index c690a8db37e..1d7c586f559 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/step/ComponentIndexationInDatabaseStepTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/computation/step/ComponentIndexationInDatabaseStepTest.java @@ -26,6 +26,7 @@ import org.sonar.core.component.ComponentDto; import org.sonar.core.computation.db.AnalysisReportDto; import org.sonar.core.persistence.DbSession; import org.sonar.core.resource.ResourceIndexerDao; +import org.sonar.server.computation.ComputeEngineContext; import static org.mockito.Mockito.*; @@ -44,9 +45,10 @@ public class ComponentIndexationInDatabaseStepTest { public void call_indexProject_of_dao() { ComponentDto project = mock(ComponentDto.class); when(project.getId()).thenReturn(123L); - DbSession session = mock(DbSession.class); - sut.execute(session, mock(AnalysisReportDto.class), project); + ComputeEngineContext context = new ComputeEngineContext(mock(AnalysisReportDto.class), project); + + sut.execute(session, context); verify(resourceIndexerDao).indexProject(123, session); } diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/step/DataCleanerStepMediumTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/step/DataCleanerStepMediumTest.java index 69793cb1815..ffbd0b7c476 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/step/DataCleanerStepMediumTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/computation/step/DataCleanerStepMediumTest.java @@ -36,6 +36,7 @@ import org.sonar.core.persistence.MyBatis; import org.sonar.core.properties.PropertyDto; import org.sonar.server.component.ComponentTesting; import org.sonar.server.component.SnapshotTesting; +import org.sonar.server.computation.ComputeEngineContext; import org.sonar.server.db.DbClient; import org.sonar.server.properties.ProjectSettingsFactory; import org.sonar.server.search.IndexClient; @@ -103,9 +104,10 @@ public class DataCleanerStepMediumTest { dbClient.propertiesDao().setProperty(new PropertyDto().setKey(DbCleanerConstants.WEEKS_BEFORE_DELETING_ALL_SNAPSHOTS).setValue("52")); dbSession.commit(); + ComputeEngineContext context = new ComputeEngineContext(report, project); // ACT - sut.execute(dbSession, report, project); + sut.execute(dbSession, context); dbSession.commit(); // ASSERT @@ -142,9 +144,10 @@ public class DataCleanerStepMediumTest { dbClient.propertiesDao().setProperty(new PropertyDto().setKey(DbCleanerConstants.WEEKS_BEFORE_DELETING_ALL_SNAPSHOTS).setValue("4")); dbClient.propertiesDao().setProperty(new PropertyDto().setKey(DbCleanerConstants.WEEKS_BEFORE_DELETING_ALL_SNAPSHOTS).setValue("1").setResourceId(project.getId())); dbSession.commit(); + ComputeEngineContext context = new ComputeEngineContext(report, project); // ACT - sut.execute(dbSession, report, project); + sut.execute(dbSession, context); dbSession.commit(); // ASSERT diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/step/DataCleanerStepTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/step/DataCleanerStepTest.java index 72442f3f912..c0b60752e65 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/step/DataCleanerStepTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/computation/step/DataCleanerStepTest.java @@ -24,14 +24,13 @@ import org.junit.Before; import org.junit.Test; import org.sonar.core.component.ComponentDto; import org.sonar.core.computation.db.AnalysisReportDto; +import org.sonar.core.computation.dbcleaner.ProjectCleaner; import org.sonar.core.persistence.DbSession; import org.sonar.core.purge.IdUuidPair; -import org.sonar.core.computation.dbcleaner.ProjectCleaner; +import org.sonar.server.computation.ComputeEngineContext; import static org.mockito.Matchers.any; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; +import static org.mockito.Mockito.*; public class DataCleanerStepTest { @@ -50,8 +49,9 @@ public class DataCleanerStepTest { ComponentDto project = mock(ComponentDto.class); when(project.getId()).thenReturn(123L); when(project.uuid()).thenReturn("UUID-1234"); + ComputeEngineContext context = new ComputeEngineContext(mock(AnalysisReportDto.class), project); - sut.execute(mock(DbSession.class), mock(AnalysisReportDto.class), project); + sut.execute(mock(DbSession.class), context); verify(projectCleaner).purge(any(DbSession.class), any(IdUuidPair.class)); } diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/step/DigestReportStepTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/step/DigestReportStepTest.java index ee7f652b1dd..bc28affc6d6 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/step/DigestReportStepTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/computation/step/DigestReportStepTest.java @@ -25,6 +25,7 @@ import org.sonar.core.component.ComponentDto; import org.sonar.core.computation.db.AnalysisReportDto; import org.sonar.core.persistence.DbSession; import org.sonar.server.computation.AnalysisReportService; +import org.sonar.server.computation.ComputeEngineContext; import static org.mockito.Matchers.any; import static org.mockito.Matchers.eq; @@ -40,9 +41,10 @@ public class DigestReportStepTest { AnalysisReportService service = mock(AnalysisReportService.class); AnalysisReportDto report = AnalysisReportDto.newForTests(123L); sut = new DigestReportStep(service); + ComputeEngineContext context = new ComputeEngineContext(report, mock(ComponentDto.class)); - sut.execute(mock(DbSession.class), report, mock(ComponentDto.class)); + sut.execute(mock(DbSession.class), context); - verify(service).decompress(any(DbSession.class), eq(123L)); + verify(service).decompress(any(DbSession.class), , eq(123L)); } } diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/step/InvalidatePreviewCacheStepTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/step/InvalidatePreviewCacheStepTest.java index 8b2aca12609..87d6ed0dbb8 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/step/InvalidatePreviewCacheStepTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/computation/step/InvalidatePreviewCacheStepTest.java @@ -27,7 +27,7 @@ import org.sonar.core.computation.db.AnalysisReportDto; import org.sonar.core.persistence.DbSession; import org.sonar.core.properties.PropertiesDao; import org.sonar.core.properties.PropertyDto; -import org.sonar.server.computation.step.InvalidatePreviewCacheStep; +import org.sonar.server.computation.ComputeEngineContext; import static org.mockito.Matchers.any; import static org.mockito.Matchers.eq; @@ -47,7 +47,9 @@ public class InvalidatePreviewCacheStepTest { @Test public void update_property_calling_propertiesDao() { DbSession session = mock(DbSession.class); - sut.execute(session, mock(AnalysisReportDto.class), mock(ComponentDto.class)); + ComputeEngineContext context = new ComputeEngineContext(mock(AnalysisReportDto.class), mock(ComponentDto.class)); + + sut.execute(session, context); verify(propertiesDao).setProperty(any(PropertyDto.class), eq(session)); } diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/step/SwitchSnapshotStepTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/step/SwitchSnapshotStepTest.java index eb7288fcbc2..96dd4aa6b89 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/step/SwitchSnapshotStepTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/computation/step/SwitchSnapshotStepTest.java @@ -29,11 +29,11 @@ import org.sonar.api.utils.DateUtils; import org.sonar.api.utils.System2; import org.sonar.core.computation.db.AnalysisReportDto; import org.sonar.core.persistence.DbSession; -import org.sonar.core.persistence.MyBatis; import org.sonar.core.persistence.DbTester; +import org.sonar.core.persistence.MyBatis; import org.sonar.server.component.ComponentTesting; import org.sonar.server.component.db.SnapshotDao; -import org.sonar.server.computation.step.SwitchSnapshotStep; +import org.sonar.server.computation.ComputeEngineContext; import org.sonar.test.DbTests; import static org.mockito.Mockito.mock; @@ -64,8 +64,9 @@ public class SwitchSnapshotStepTest { @Test public void one_switch_with_a_snapshot_and_his_children() { db.prepareDbUnit(getClass(), "snapshots.xml"); + ComputeEngineContext context = new ComputeEngineContext(AnalysisReportDto.newForTests(1L).setSnapshotId(1L), ComponentTesting.newProjectDto()); - sut.execute(session, AnalysisReportDto.newForTests(1L).setSnapshotId(1L), ComponentTesting.newProjectDto()); + sut.execute(session, context); session.commit(); db.assertDbUnit(getClass(), "snapshots-result.xml", "snapshots"); @@ -74,7 +75,8 @@ public class SwitchSnapshotStepTest { @Test(expected = IllegalStateException.class) public void throw_IllegalStateException_when_not_finding_snapshot() { db.prepareDbUnit(getClass(), "empty.xml"); + ComputeEngineContext context = new ComputeEngineContext(AnalysisReportDto.newForTests(1L).setSnapshotId(1L), ComponentTesting.newProjectDto()); - sut.execute(session, AnalysisReportDto.newForTests(1L).setSnapshotId(1L), ComponentTesting.newProjectDto()); + sut.execute(session, context); } } diff --git a/server/sonar-server/src/test/java/org/sonar/server/computation/step/SynchronizeProjectPermissionsStepTest.java b/server/sonar-server/src/test/java/org/sonar/server/computation/step/SynchronizeProjectPermissionsStepTest.java index dc75cf5dafa..eff04c24aba 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/computation/step/SynchronizeProjectPermissionsStepTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/computation/step/SynchronizeProjectPermissionsStepTest.java @@ -20,7 +20,6 @@ package org.sonar.server.computation.step; import org.junit.Test; -import org.sonar.server.computation.step.SynchronizeProjectPermissionsStep; import org.sonar.server.issue.index.IssueAuthorizationIndexer; import static org.mockito.Mockito.mock; @@ -31,7 +30,7 @@ public class SynchronizeProjectPermissionsStepTest { @Test public void index_issue_permissions() throws Exception { IssueAuthorizationIndexer indexer = mock(IssueAuthorizationIndexer.class); - new SynchronizeProjectPermissionsStep(indexer).execute(null, null, null); + new SynchronizeProjectPermissionsStep(indexer).execute(null, null); verify(indexer).index(); } } -- 2.39.5