Skip to content

Commit 5217486

Browse files
committed
test: add context unit tests to confirm request wrapper headers are included
1 parent 4f7755e commit 5217486

1 file changed

Lines changed: 39 additions & 0 deletions

File tree

src/test/java/com/perimeterx/models/PXContextTest.java

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.perimeterx.api.providers.HostnameProvider;
66
import com.perimeterx.api.providers.IPProvider;
77
import com.perimeterx.api.providers.RemoteAddressIPProvider;
8+
import com.perimeterx.http.RequestWrapper;
89
import com.perimeterx.models.configuration.PXConfiguration;
910
import com.perimeterx.models.risk.CustomParameters;
1011
import org.mockito.Mockito;
@@ -14,6 +15,7 @@
1415
import org.testng.annotations.Test;
1516

1617
import javax.servlet.http.HttpServletRequest;
18+
import java.util.Collections;
1719

1820
/**
1921
* Test {@link PXContext}
@@ -53,4 +55,41 @@ public void customParamsTest() {
5355

5456
Mockito.verify(spyTestCustomParamProvider).buildCustomParameters(pxConfig, context);
5557
}
58+
59+
@Test
60+
public void allRequestHeadersShouldBeInPXContext() {
61+
CustomParameters customParameters = new CustomParameters();
62+
customParameters.setCustomParam1("number1");
63+
TestCustomParamProvider spyTestCustomParamProvider = Mockito.spy(new TestCustomParamProvider(customParameters));
64+
PXConfiguration pxConfig = PXConfiguration.builder()
65+
.appId("APP_ID")
66+
.authToken("AUTH_123")
67+
.cookieKey("COOKIE_123")
68+
.customParametersProvider(spyTestCustomParamProvider)
69+
.build();
70+
((MockHttpServletRequest) request).addHeader("TEST-BYPASS", "0");
71+
PXContext context = new PXContext(request, this.ipProvider, this.hostnameProvider, pxConfig);
72+
Assert.assertEquals(context.getHeaders().size(), Collections.list(request.getHeaderNames()).size());
73+
}
74+
75+
@Test
76+
public void allRequestWrapperHeadersShouldBeInPXContext() {
77+
CustomParameters customParameters = new CustomParameters();
78+
customParameters.setCustomParam1("number1");
79+
TestCustomParamProvider spyTestCustomParamProvider = Mockito.spy(new TestCustomParamProvider(customParameters));
80+
PXConfiguration pxConfig = PXConfiguration.builder()
81+
.appId("APP_ID")
82+
.authToken("AUTH_123")
83+
.cookieKey("COOKIE_123")
84+
.customParametersProvider(spyTestCustomParamProvider)
85+
.build();
86+
((MockHttpServletRequest) request).addHeader("TEST-BYPASS", "0");
87+
RequestWrapper requestWrapper = new RequestWrapper(request);
88+
requestWrapper.addHeader("client-ip", "127.0.0.1");
89+
requestWrapper.addHeader("accept", "application/json");
90+
requestWrapper.addHeader("content-type", "application/json");
91+
92+
PXContext context = new PXContext(requestWrapper, this.ipProvider, this.hostnameProvider, pxConfig);
93+
Assert.assertEquals(context.getHeaders().size(), Collections.list(request.getHeaderNames()).size() + 3);
94+
}
5695
}

0 commit comments

Comments
 (0)