public static final String KEY_SCM = "scm";
public static final String KEY_SCM_DEVELOPER_CONNECTION = "scm_dev";
+ private MavenProject pom;
+
+ public ProjectLinksSensor(MavenProject pom) {
+ this.pom = pom;
+ }
+
public boolean shouldExecuteOnProject(Project project) {
return true;
}
public void analyse(Project project, SensorContext context) {
- MavenProject pom = project.getPom();
updateLink(context, KEY_HOME, "Home", pom.getUrl());
Scm scm = pom.getScm();
updateLink(context, KEY_SCM, "Sources", scm.getUrl());
updateLink(context, KEY_SCM_DEVELOPER_CONNECTION, "Developer connection", scm.getDeveloperConnection());
-
CiManagement ci = pom.getCiManagement();
if (ci == null) {
ci = new CiManagement();
import org.hamcrest.BaseMatcher;
import org.hamcrest.Description;
import org.junit.Test;
-import static org.mockito.Matchers.argThat;
-import static org.mockito.Mockito.*;
import org.sonar.api.batch.SensorContext;
import org.sonar.api.resources.Project;
import org.sonar.api.resources.ProjectLink;
import org.sonar.api.test.MavenTestUtils;
+import static org.mockito.Matchers.argThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+
public class ProjectLinksSensorTest {
@Test
SensorContext context = mock(SensorContext.class);
MavenProject pom = MavenTestUtils.loadPom("/org/sonar/plugins/core/sensors/ProjectLinksSensorTest/shouldSaveLinks.xml");
Project project = mock(Project.class);
- when(project.getPom()).thenReturn(pom);
- new ProjectLinksSensor().analyse(project, context);
+ new ProjectLinksSensor(pom).analyse(project, context);
verify(context).saveLink(argThat(new MatchLink(ProjectLinksSensor.KEY_HOME, "Home", "http://sonar.codehaus.org")));
verify(context).saveLink(argThat(new MatchLink(ProjectLinksSensor.KEY_ISSUE_TRACKER, "Issues", "http://jira.codehaus.org/browse/SONAR")));
SensorContext context = mock(SensorContext.class);
MavenProject pom = MavenTestUtils.loadPom("/org/sonar/plugins/core/sensors/ProjectLinksSensorTest/shouldDeleteMissingLinks.xml");
Project project = mock(Project.class);
- when(project.getPom()).thenReturn(pom);
- new ProjectLinksSensor().analyse(project, context);
+ new ProjectLinksSensor(pom).analyse(project, context);
verify(context).deleteLink(ProjectLinksSensor.KEY_HOME);
verify(context).deleteLink(ProjectLinksSensor.KEY_ISSUE_TRACKER);