Make RepositoryMonitor more robust

This commit is contained in:
Andy Wilkinson
2015-12-08 17:21:01 +00:00
parent 3b2639e2d4
commit 7f847ebb4b
2 changed files with 38 additions and 7 deletions

View File

@@ -25,6 +25,7 @@ import io.spring.issuebot.github.Issue;
import io.spring.issuebot.github.Page;
import static org.mockito.BDDMockito.given;
import static org.mockito.BDDMockito.willThrow;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
@@ -68,4 +69,23 @@ public class RepositoryMonitorTests {
verify(this.issueListenerTwo).onOpenIssue(issueTwo);
}
@Test
public void exceptionFromAnIssueListenerIsHandledGracefully() {
@SuppressWarnings("unchecked")
Page<Issue> page = mock(Page.class);
Issue issue = new Issue(null, null, null, null, null, null, null, null);
given(page.getContent()).willReturn(Arrays.asList(issue));
given(this.gitHub.getIssues("test", "test")).willReturn(page);
willThrow(new RuntimeException()).given(this.issueListenerOne).onOpenIssue(issue);
this.repositoryMonitor.monitor();
verify(this.issueListenerOne).onOpenIssue(issue);
verify(this.issueListenerTwo).onOpenIssue(issue);
}
@Test
public void exceptionFromGitHubIsHandledGracefully() {
given(this.gitHub.getIssues("test", "test")).willThrow(new RuntimeException());
this.repositoryMonitor.monitor();
}
}