This is an automated email from the ASF dual-hosted git repository.
markt-asf pushed a commit to branch 11.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/11.0.x by this push:
new 6499e3612b Expand test coverage
6499e3612b is described below
commit 6499e3612b32c92f2b743df6cb36c9b94c50f0d7
Author: Mark Thomas <[email protected]>
AuthorDate: Wed Oct 7 14:57:12 2026 +0100
Expand test coverage
Co-authored-by: Claude Sonnet 5.5
---
.../catalina/ha/session/TestDeltaSession.java | 23 ++++++++++++++++++++++
.../apache/catalina/manager/TestManagerWebapp.java | 7 ++++++-
2 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/test/org/apache/catalina/ha/session/TestDeltaSession.java
b/test/org/apache/catalina/ha/session/TestDeltaSession.java
index f5e43d1e5d..570f9b5ecf 100644
--- a/test/org/apache/catalina/ha/session/TestDeltaSession.java
+++ b/test/org/apache/catalina/ha/session/TestDeltaSession.java
@@ -105,4 +105,27 @@ public class TestDeltaSession {
Assert.assertNull(setAttributeException.get());
Assert.assertNull(expireException.get());
}
+
+
+ @Test
+ public void testIsAccessReplicateNonPositiveInterval() {
+ DeltaSession session = new DeltaSession(new StandardManager());
+ // Last replicated long enough ago to exceed any reasonable interval
+ session.setLastTimeReplicated(System.currentTimeMillis() - 3600 *
1000L);
+
+ // Zero or negative means the session never times out so there is no
+ // need to replicate access
+ session.setMaxInactiveInterval(0);
+ Assert.assertFalse(session.isAccessReplicate());
+ session.setMaxInactiveInterval(-1);
+ Assert.assertFalse(session.isAccessReplicate());
+
+ // Positive interval that has elapsed since last replication
+ session.setMaxInactiveInterval(60);
+ Assert.assertTrue(session.isAccessReplicate());
+
+ // Positive interval that has not yet elapsed
+ session.setLastTimeReplicated(System.currentTimeMillis());
+ Assert.assertFalse(session.isAccessReplicate());
+ }
}
diff --git a/test/org/apache/catalina/manager/TestManagerWebapp.java
b/test/org/apache/catalina/manager/TestManagerWebapp.java
index 890d831f94..fb63dd7d90 100644
--- a/test/org/apache/catalina/manager/TestManagerWebapp.java
+++ b/test/org/apache/catalina/manager/TestManagerWebapp.java
@@ -649,6 +649,11 @@ public class TestManagerWebapp extends TomcatBaseTest {
unlimited.setMaxInactiveInterval(-1);
manager.add(unlimited);
+ // An interval of zero also means the session never times out
+ Session zeroInterval = manager.createSession(null);
+ zeroInterval.setMaxInactiveInterval(0);
+ manager.add(zeroInterval);
+
Session limited = manager.createSession(null);
manager.add(limited);
@@ -680,7 +685,7 @@ public class TestManagerWebapp extends TomcatBaseTest {
client.processRequest(true);
Assert.assertEquals(HttpServletResponse.SC_OK, client.getStatusCode());
Assert.assertTrue(client.getResponseBody(),
- client.getResponseBody().contains("Unlimited time: [1]
sessions"));
+ client.getResponseBody().contains("Unlimited time: [2]
sessions"));
// The unlimited session must not also appear in an idle bucket
Assert.assertTrue(client.getResponseBody(),
client.getResponseBody().contains("Inactive for [<1] minutes:
[1] sessions"));
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]