Skip to content

Commit a29c009

Browse files
authored
Add @sample annotation for expectation pattern releated integration tests (#3100)
Signed-off-by: Attila Mészáros <[email protected]>
1 parent 9f6c8c1 commit a29c009

File tree

2 files changed

+20
-8
lines changed

2 files changed

+20
-8
lines changed

operator-framework/src/test/java/io/javaoperatorsdk/operator/baseapi/expectation/onallevent/ExpectationIT.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,22 @@
2121
import org.junit.jupiter.api.extension.RegisterExtension;
2222

2323
import io.fabric8.kubernetes.api.model.ObjectMetaBuilder;
24+
import io.javaoperatorsdk.annotation.Sample;
2425
import io.javaoperatorsdk.operator.junit.LocallyRunOperatorExtension;
2526

2627
import static io.javaoperatorsdk.operator.baseapi.expectation.onallevent.ExpectationReconciler.DEPLOYMENT_READY;
2728
import static org.assertj.core.api.Assertions.assertThat;
2829
import static org.awaitility.Awaitility.await;
2930

31+
@Sample(
32+
tldr = "Basic Expectation Pattern with AllEvents Trigger",
33+
description =
34+
"""
35+
Demonstrates the basic expectation pattern using ExpectationManager with triggerReconcilerOnAllEvents = true.
36+
This pattern allows reconcilers to wait for specific conditions to be met (like a Deployment having 3 ready replicas)
37+
before proceeding with status updates. The test shows both successful expectation fulfillment and timeout handling.
38+
Requires @ControllerConfiguration(triggerReconcilerOnAllEvents = true) for proper operation.\
39+
""")
3040
class ExpectationIT {
3141

3242
public static final String TEST_1 = "test1";

operator-framework/src/test/java/io/javaoperatorsdk/operator/baseapi/expectation/periodicclean/PeriodicCleanerExpectationIT.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,20 +21,22 @@
2121
import org.junit.jupiter.api.extension.RegisterExtension;
2222

2323
import io.fabric8.kubernetes.api.model.ObjectMetaBuilder;
24+
import io.javaoperatorsdk.annotation.Sample;
2425
import io.javaoperatorsdk.operator.junit.LocallyRunOperatorExtension;
2526

2627
import static io.javaoperatorsdk.operator.baseapi.expectation.periodicclean.PeriodicCleanerExpectationReconciler.DEPLOYMENT_READY;
2728
import static org.assertj.core.api.Assertions.assertThat;
2829
import static org.awaitility.Awaitility.await;
2930

30-
/**
31-
* Integration test showcasing PeriodicCleanerExpectationManager usage.
32-
*
33-
* <p>This test demonstrates the key benefits of PeriodicCleanerExpectationManager: 1. Works without
34-
* requiring @ControllerConfiguration(triggerReconcilerOnAllEvents = true) 2. Automatically cleans
35-
* up stale expectations periodically 3. Maintains the same expectation API and functionality as the
36-
* regular ExpectationManager
37-
*/
31+
@Sample(
32+
tldr = "Expectation Pattern with Periodic Cleanup",
33+
description =
34+
"""
35+
Demonstrates the PeriodicCleanerExpectationManager pattern which provides automatic cleanup of stale expectations.
36+
This pattern works without requiring @ControllerConfiguration(triggerReconcilerOnAllEvents = true) and automatically
37+
cleans up stale expectations periodically (default: 1 minute). This is ideal for 'set and forget' scenarios where
38+
you want the same expectation API and functionality as the regular ExpectationManager but with automatic lifecycle management.\
39+
""")
3840
class PeriodicCleanerExpectationIT {
3941

4042
public static final String TEST_1 = "test1";

0 commit comments

Comments
 (0)