]> source.dussan.org Git - sonarqube.git/blob
4eede37eb18a62553be0d14f4a0adec356d8e3f3
[sonarqube.git] /
1 /*
2  * SonarQube
3  * Copyright (C) 2009-2017 SonarSource SA
4  * mailto:info AT sonarsource DOT com
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 3 of the License, or (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public License
17  * along with this program; if not, write to the Free Software Foundation,
18  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
19  */
20 package org.sonar.server.computation.task.projectanalysis.issue;
21
22 import static org.mockito.Mockito.mock;
23 import static org.mockito.Mockito.verify;
24 import static org.mockito.Mockito.verifyZeroInteractions;
25 import static org.mockito.Mockito.when;
26
27 import org.junit.Before;
28 import org.junit.Test;
29 import org.mockito.Mock;
30 import org.mockito.MockitoAnnotations;
31 import org.sonar.db.component.BranchType;
32 import org.sonar.server.computation.task.projectanalysis.analysis.AnalysisMetadataHolder;
33 import org.sonar.server.computation.task.projectanalysis.analysis.Branch;
34 import org.sonar.server.computation.task.projectanalysis.component.Component;
35
36 public class IssueTrackingDelegatorTest {
37   @Mock
38   private ShortBranchTrackerExecution shortBranchTracker;
39   @Mock
40   private TrackerExecution tracker;
41   @Mock
42   private AnalysisMetadataHolder analysisMetadataHolder;
43   @Mock
44   private Component component;
45
46   private IssueTrackingDelegator underTest;
47
48   @Before
49   public void setUp() {
50     MockitoAnnotations.initMocks(this);
51     underTest = new IssueTrackingDelegator(shortBranchTracker, tracker, analysisMetadataHolder);
52   }
53
54   @Test
55   public void delegate_regular_tracker() {
56     when(analysisMetadataHolder.isShortLivingBranch()).thenReturn(false);
57
58     underTest.track(component);
59
60     verify(tracker).track(component);
61     verifyZeroInteractions(shortBranchTracker);
62   }
63
64   @Test
65   public void delegate_short_branch_tracker() {
66     Branch branch = mock(Branch.class);
67     when(branch.getType()).thenReturn(BranchType.SHORT);
68     when(analysisMetadataHolder.isShortLivingBranch()).thenReturn(true);
69
70     underTest.track(component);
71
72     verify(shortBranchTracker).track(component);
73     verifyZeroInteractions(tracker);
74
75   }
76 }