diff options
Diffstat (limited to 'sonar-scanner-engine/src/test/java/org/sonar/batch/phases')
-rw-r--r-- | sonar-scanner-engine/src/test/java/org/sonar/batch/phases/PostJobsExecutorTest.java | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/sonar-scanner-engine/src/test/java/org/sonar/batch/phases/PostJobsExecutorTest.java b/sonar-scanner-engine/src/test/java/org/sonar/batch/phases/PostJobsExecutorTest.java new file mode 100644 index 00000000000..f9fda97b21c --- /dev/null +++ b/sonar-scanner-engine/src/test/java/org/sonar/batch/phases/PostJobsExecutorTest.java @@ -0,0 +1,60 @@ +/* + * SonarQube + * Copyright (C) 2009-2016 SonarSource SA + * mailto:contact AT sonarsource DOT com + * + * This program 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. + * + * This program 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.batch.phases; + +import org.junit.Before; +import org.junit.Test; +import org.sonar.api.batch.PostJob; +import org.sonar.api.batch.SensorContext; +import org.sonar.api.resources.Project; +import org.sonar.batch.bootstrap.BatchExtensionDictionnary; +import org.sonar.batch.events.EventBus; + +import java.util.Arrays; + +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +public class PostJobsExecutorTest { + PostJobsExecutor executor; + + Project project = new Project("project"); + BatchExtensionDictionnary selector = mock(BatchExtensionDictionnary.class); + PostJob job1 = mock(PostJob.class); + PostJob job2 = mock(PostJob.class); + SensorContext context = mock(SensorContext.class); + + @Before + public void setUp() { + executor = new PostJobsExecutor(selector, project, mock(EventBus.class)); + } + + @Test + public void should_execute_post_jobs() { + when(selector.select(PostJob.class, project, true, null)).thenReturn(Arrays.asList(job1, job2)); + + executor.execute(context); + + verify(job1).executeOn(project, context); + verify(job2).executeOn(project, context); + + } +} |