Skip to content

Commit 94675d1

Browse files
committed
parametrize further
1 parent 30bbbaa commit 94675d1

File tree

1 file changed

+15
-5
lines changed

1 file changed

+15
-5
lines changed

opengrok-web/src/test/java/org/opengrok/web/AuthorizationFilterTest.java

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,10 @@
2727
import jakarta.servlet.ServletException;
2828
import jakarta.servlet.http.HttpServletRequest;
2929
import jakarta.servlet.http.HttpServletResponse;
30+
import org.apache.commons.lang3.tuple.Pair;
3031
import org.junit.jupiter.api.Test;
3132
import org.junit.jupiter.params.ParameterizedTest;
33+
import org.junit.jupiter.params.provider.MethodSource;
3234
import org.junit.jupiter.params.provider.ValueSource;
3335
import org.opengrok.indexer.configuration.Project;
3436
import org.opengrok.indexer.configuration.RuntimeEnvironment;
@@ -37,6 +39,7 @@
3739
import org.opengrok.web.api.v1.RestApp;
3840

3941
import java.io.IOException;
42+
import java.util.stream.Stream;
4043

4144
import static org.mockito.ArgumentMatchers.anyInt;
4245
import static org.mockito.ArgumentMatchers.anyString;
@@ -74,14 +77,21 @@ public String getServletPath() {
7477
verify(response, never()).sendError(anyInt(), anyString());
7578
}
7679

80+
private static Stream<Pair<Boolean, String>> getParamsForTestIsAllowed() {
81+
return Stream.of(Pair.of(true, null),
82+
Pair.of(true, "user"),
83+
Pair.of(false, null),
84+
Pair.of(false, "user"));
85+
}
86+
7787
@ParameterizedTest
78-
@ValueSource(booleans = {true, false})
79-
void testIsAllowed(boolean isAllowed) throws ServletException, IOException {
88+
@MethodSource("getParamsForTestIsAllowed")
89+
void testIsAllowed(Pair<Boolean, String> pair) throws ServletException, IOException {
8090
AuthorizationFilter filter = new AuthorizationFilter();
8191
PageConfig pageConfig = mock(PageConfig.class);
8292
Project project = mock(Project.class);
8393
when(pageConfig.getProject()).thenReturn(project);
84-
when(pageConfig.isAllowed(project)).thenReturn(isAllowed);
94+
when(pageConfig.isAllowed(project)).thenReturn(pair.getLeft());
8595
when(pageConfig.getEnv()).thenReturn(RuntimeEnvironment.getInstance());
8696
HttpServletRequest request = new DummyHttpServletRequest() {
8797
@Override
@@ -91,7 +101,7 @@ public String getServletPath() {
91101

92102
@Override
93103
public String getRemoteUser() {
94-
return "user";
104+
return pair.getRight();
95105
}
96106

97107
@Override
@@ -116,7 +126,7 @@ public Object getAttribute(String s) {
116126
filter.init(filterConfig);
117127
filter.doFilter(request, response, chain);
118128

119-
if (isAllowed) {
129+
if (pair.getLeft()) {
120130
verify(chain).doFilter(request, response);
121131
verify(response, never()).sendError(anyInt());
122132
verify(response, never()).sendError(anyInt(), anyString());

0 commit comments

Comments
 (0)