Search in sources :

Example 71 with Valve

use of org.apache.catalina.Valve in project tomcat by apache.

the class TestCrawlerSessionManagerValve method testCrawlerIpsPositive.

@Test
public void testCrawlerIpsPositive() throws Exception {
    CrawlerSessionManagerValve valve = new CrawlerSessionManagerValve();
    valve.setCrawlerIps("216\\.58\\.206\\.174");
    valve.setCrawlerUserAgents(valve.getCrawlerUserAgents());
    valve.setNext(EasyMock.createMock(Valve.class));
    HttpSession session = createSessionExpectations(valve, true);
    Request request = createRequestExpectations("216.58.206.174", session, true);
    EasyMock.replay(request, session);
    valve.invoke(request, EasyMock.createMock(Response.class));
    EasyMock.verify(request, session);
}
Also used : Response(org.apache.catalina.connector.Response) HttpSession(jakarta.servlet.http.HttpSession) Request(org.apache.catalina.connector.Request) Valve(org.apache.catalina.Valve) Test(org.junit.Test)

Example 72 with Valve

use of org.apache.catalina.Valve in project tomcat by apache.

the class TestCrawlerSessionManagerValve method testCrawlersSessionIdIsRemovedAfterSessionExpiry.

@Test
public void testCrawlersSessionIdIsRemovedAfterSessionExpiry() throws IOException, ServletException {
    CrawlerSessionManagerValve valve = new CrawlerSessionManagerValve();
    valve.setCrawlerIps("216\\.58\\.206\\.174");
    valve.setCrawlerUserAgents(valve.getCrawlerUserAgents());
    valve.setNext(EasyMock.createMock(Valve.class));
    valve.setSessionInactiveInterval(0);
    StandardSession session = new StandardSession(TEST_MANAGER);
    session.setId("id");
    session.setValid(true);
    Request request = createRequestExpectations("216.58.206.174", session, true);
    EasyMock.replay(request);
    valve.invoke(request, EasyMock.createMock(Response.class));
    EasyMock.verify(request);
    MatcherAssert.assertThat(valve.getClientIpSessionId().values(), CoreMatchers.hasItem("id"));
    session.expire();
    Assert.assertEquals(0, valve.getClientIpSessionId().values().size());
}
Also used : Response(org.apache.catalina.connector.Response) StandardSession(org.apache.catalina.session.StandardSession) Request(org.apache.catalina.connector.Request) Valve(org.apache.catalina.Valve) Test(org.junit.Test)

Aggregations

Valve (org.apache.catalina.Valve)72 ArrayList (java.util.ArrayList)15 Lifecycle (org.apache.catalina.Lifecycle)14 Container (org.apache.catalina.Container)13 LifecycleException (org.apache.catalina.LifecycleException)13 Pipeline (org.apache.catalina.Pipeline)11 ObjectName (javax.management.ObjectName)9 Realm (org.apache.catalina.Realm)8 AccessLogValve (org.apache.catalina.valves.AccessLogValve)8 Contained (org.apache.catalina.Contained)7 LifecycleListener (org.apache.catalina.LifecycleListener)7 Request (org.apache.catalina.connector.Request)7 ClusterValve (org.apache.catalina.ha.ClusterValve)7 RemoteIpValve (org.apache.catalina.valves.RemoteIpValve)7 Test (org.junit.Test)7 Context (org.apache.catalina.Context)6 JmxEnabled (org.apache.catalina.JmxEnabled)6 Response (org.apache.catalina.connector.Response)6 IOException (java.io.IOException)5 ContainerBase (org.apache.catalina.core.ContainerBase)5