This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-engine.git
The following commit(s) were added to refs/heads/master by this push:
new 047d5c1 SLING-13244 - Strengthen RequestProcessorMBean reset
statistics test (#79)
047d5c1 is described below
commit 047d5c1ce95edb8ce40ef9a64859d08ea5c4c9cb
Author: aswindhanan <[email protected]>
AuthorDate: Tue Jun 23 06:23:36 2026 -0500
SLING-13244 - Strengthen RequestProcessorMBean reset statistics test (#79)
---
.../engine/impl/RequestProcessorMBeanImplTest.java | 97 ++++++++++++++--------
1 file changed, 62 insertions(+), 35 deletions(-)
diff --git
a/src/test/java/org/apache/sling/engine/impl/RequestProcessorMBeanImplTest.java
b/src/test/java/org/apache/sling/engine/impl/RequestProcessorMBeanImplTest.java
index 240d58a..a07339d 100644
---
a/src/test/java/org/apache/sling/engine/impl/RequestProcessorMBeanImplTest.java
+++
b/src/test/java/org/apache/sling/engine/impl/RequestProcessorMBeanImplTest.java
@@ -132,57 +132,84 @@ public class RequestProcessorMBeanImplTest {
// is reinitialized
bean.resetStatistics();
- // Simulate a single request
- final long durationValue = min + random.nextInt(max - min);
- final int callCountValue = min + random.nextInt(max - min);
- final int peakRecursionDepthValue = min + random.nextInt(max - min);
+ final RequestData firstRequestDataAfterReset =
Mockito.mock(RequestData.class, "firstRequestDataAfterReset");
+
Mockito.when(firstRequestDataAfterReset.getElapsedTimeMsec()).thenReturn(100L);
+
Mockito.when(firstRequestDataAfterReset.getServletCallCount()).thenReturn(10);
+
Mockito.when(firstRequestDataAfterReset.getPeakRecusionDepth()).thenReturn(5);
- final RequestData requestData = Mockito.mock(RequestData.class,
"requestDataAfterReset");
-
Mockito.when(requestData.getElapsedTimeMsec()).thenReturn(durationValue);
-
Mockito.when(requestData.getServletCallCount()).thenReturn(callCountValue);
-
Mockito.when(requestData.getPeakRecusionDepth()).thenReturn(peakRecursionDepthValue);
+ final RequestData secondRequestDataAfterReset =
Mockito.mock(RequestData.class, "secondRequestDataAfterReset");
+
Mockito.when(secondRequestDataAfterReset.getElapsedTimeMsec()).thenReturn(200L);
+
Mockito.when(secondRequestDataAfterReset.getServletCallCount()).thenReturn(20);
+
Mockito.when(secondRequestDataAfterReset.getPeakRecusionDepth()).thenReturn(15);
- bean.addRequestData(requestData);
+ bean.addRequestData(firstRequestDataAfterReset);
- // As only one request has been simulated since resetStatiscts: min,
max and mean statistics should be equals to
- // the request data
assertEquals("After resetStatistics Number of requests must be one",
1, bean.getRequestsCount());
- assertEquals("After resetStatistics Min Duration must be equal",
bean.getMinRequestDurationMsec(), (long)
- durationValue);
- assertEquals("After resetStatistics Max Duration must be equal",
bean.getMaxRequestDurationMsec(), (long)
- durationValue);
+ assertEquals("After resetStatistics Min Duration must be equal", 100L,
bean.getMinRequestDurationMsec());
+ assertEquals("After resetStatistics Max Duration must be equal", 100L,
bean.getMaxRequestDurationMsec());
+ assertEquals("After resetStatistics Mean Duration must be equal",
100.0, bean.getMeanRequestDurationMsec(), 0d);
assertEquals(
- "After resetStatistics Mean Duration must be equal",
- bean.getMeanRequestDurationMsec(),
- (double) durationValue,
+ "After resetStatistics Standard Deviation Duration must be
zero",
+ 0.0,
+ bean.getStandardDeviationDurationMsec(),
+ 0d);
+
+ assertEquals("After resetStatistics Min Servlet Call Count must be
equal", 10, bean.getMinServletCallCount());
+ assertEquals("After resetStatistics Max Servlet Call Count must be
equal", 10, bean.getMaxServletCallCount());
+ assertEquals("After resetStatistics Mean Servlet Call Count", 10.0,
bean.getMeanServletCallCount(), 0d);
+ assertEquals(
+ "After resetStatistics Standard Deviation Servlet Call Count
must be zero",
+ 0.0,
+ bean.getStandardDeviationServletCallCount(),
+ 0d);
+
+ assertEquals(
+ "After resetStatistics Min Peak Recursion Depth must be
equal", 5, bean.getMinPeakRecursionDepth());
+ assertEquals(
+ "After resetStatistics Max Peak Recursion Depth must be
equal", 5, bean.getMaxPeakRecursionDepth());
+ assertEquals("After resetStatistics Mean Peak Recursion Depth", 5.0,
bean.getMeanPeakRecursionDepth(), 0d);
+ assertEquals(
+ "After resetStatistics Standard Deviation Peak Recursion Depth
must be zero",
+ 0.0,
+ bean.getStandardDeviationPeakRecursionDepth(),
0d);
+ bean.addRequestData(secondRequestDataAfterReset);
+
+ assertEquals("After processing second request Number of requests must
be two", 2, bean.getRequestsCount());
assertEquals(
- "After resetStatistics Min Servlet Call Count must be equal",
- bean.getMinServletCallCount(),
- callCountValue);
+ "After processing second request Min Duration must be equal",
100L, bean.getMinRequestDurationMsec());
assertEquals(
- "After resetStatistics Max Servlet Call Count must be equal",
- bean.getMaxServletCallCount(),
- callCountValue);
+ "After processing second request Max Duration must be equal",
200L, bean.getMaxRequestDurationMsec());
assertEquals(
- "After resetStatistics Mean Servlet Call Count",
- bean.getMeanServletCallCount(),
- (double) callCountValue,
+ "After processing second request Mean Duration must be equal",
+ 150.0,
+ bean.getMeanRequestDurationMsec(),
0d);
assertEquals(
- "After resetStatistics Min Peak Recursion Depth must be equal",
- bean.getMinPeakRecursionDepth(),
- peakRecursionDepthValue);
+ "After processing second request Min Servlet Call Count must
be equal",
+ 10,
+ bean.getMinServletCallCount());
+ assertEquals(
+ "After processing second request Max Servlet Call Count must
be equal",
+ 20,
+ bean.getMaxServletCallCount());
assertEquals(
- "After resetStatistics Max Peak Recursion Depth must be equal",
- bean.getMinPeakRecursionDepth(),
- peakRecursionDepthValue);
+ "After processing second request Mean Servlet Call Count",
15.0, bean.getMeanServletCallCount(), 0d);
+
+ assertEquals(
+ "After processing second request Min Peak Recursion Depth must
be equal",
+ 5,
+ bean.getMinPeakRecursionDepth());
+ assertEquals(
+ "After processing second request Max Peak Recursion Depth must
be equal",
+ 15,
+ bean.getMaxPeakRecursionDepth());
assertEquals(
- "After resetStatistics Mean Peak Recursion Depth",
+ "After processing second request Mean Peak Recursion Depth",
+ 10.0,
bean.getMeanPeakRecursionDepth(),
- (double) peakRecursionDepthValue,
0d);
}