|
1 | | -package io.quarkiverse.githubapp.it.testingframework; |
| 1 | +package io.quarkiverse.githubapp.testing; |
2 | 2 |
|
3 | 3 | import static org.mockito.Mockito.mock; |
4 | 4 | import static org.mockito.Mockito.when; |
| 5 | +import static org.mockito.Mockito.withSettings; |
5 | 6 |
|
6 | 7 | import java.util.Iterator; |
7 | 8 | import java.util.List; |
8 | 9 |
|
9 | 10 | import org.kohsuke.github.PagedIterator; |
10 | 11 | import org.kohsuke.github.PagedSearchIterable; |
| 12 | +import org.mockito.Answers; |
| 13 | +import org.mockito.quality.Strictness; |
11 | 14 |
|
12 | | -class MockHelper { |
| 15 | +public final class GitHubAppMockito { |
| 16 | + |
| 17 | + private GitHubAppMockito() { |
| 18 | + } |
| 19 | + |
| 20 | + public static <T> T mockBuilder(Class<T> builderClass) { |
| 21 | + return mock(builderClass, withSettings().defaultAnswer(Answers.RETURNS_SELF)); |
| 22 | + } |
13 | 23 |
|
14 | 24 | @SafeVarargs |
15 | 25 | @SuppressWarnings("unchecked") |
16 | 26 | public static <T> PagedSearchIterable<T> mockPagedIterable(T... contentMocks) { |
17 | | - PagedSearchIterable<T> iterableMock = mock(PagedSearchIterable.class); |
| 27 | + PagedSearchIterable<T> iterableMock = mock(PagedSearchIterable.class, |
| 28 | + withSettings().stubOnly().strictness(Strictness.LENIENT).defaultAnswer(Answers.RETURNS_SELF)); |
| 29 | + when(iterableMock.spliterator()).thenAnswer(ignored -> List.of(contentMocks).spliterator()); |
18 | 30 | when(iterableMock.iterator()).thenAnswer(ignored -> { |
19 | | - PagedIterator<T> iteratorMock = mock(PagedIterator.class); |
| 31 | + PagedIterator<T> iteratorMock = mock(PagedIterator.class, withSettings().stubOnly().strictness(Strictness.LENIENT)); |
20 | 32 | Iterator<T> actualIterator = List.of(contentMocks).iterator(); |
21 | 33 | when(iteratorMock.next()).thenAnswer(ignored2 -> actualIterator.next()); |
22 | 34 | when(iteratorMock.hasNext()).thenAnswer(ignored2 -> actualIterator.hasNext()); |
|
0 commit comments