Skip to content

Commit a047bb9

Browse files
authored
fix: integration test stability (#698)
1 parent d3e3c45 commit a047bb9

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

operator-framework/src/test/java/io/javaoperatorsdk/operator/KubernetesResourceStatusUpdateIT.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.util.HashMap;
44
import java.util.List;
5+
import java.util.Map;
56
import java.util.concurrent.TimeUnit;
67

78
import org.junit.jupiter.api.Test;
@@ -30,10 +31,13 @@ public class KubernetesResourceStatusUpdateIT {
3031
@Test
3132
public void testReconciliationOfNonCustomResourceAndStatusUpdate() {
3233
var deployment = operator.create(Deployment.class, testDeployment());
33-
await().atMost(10, TimeUnit.SECONDS).untilAsserted(() -> {
34+
await().atMost(120, TimeUnit.SECONDS).untilAsserted(() -> {
3435
var d = operator.get(Deployment.class, deployment.getMetadata().getName());
3536
assertThat(d.getStatus()).isNotNull();
3637
assertThat(d.getStatus().getConditions()).isNotNull();
38+
// wait until the pod is ready, if not this is causing some test stability issues with
39+
// namespace cleanup in k8s version 1.22
40+
assertThat(d.getStatus().getReadyReplicas()).isGreaterThanOrEqualTo(1);
3741
assertThat(
3842
d.getStatus().getConditions().stream().filter(c -> c.getMessage().equals(STATUS_MESSAGE))
3943
.count()).isEqualTo(1);
@@ -42,9 +46,12 @@ public void testReconciliationOfNonCustomResourceAndStatusUpdate() {
4246

4347
private Deployment testDeployment() {
4448
Deployment resource = new Deployment();
49+
Map<String, String> labels = new HashMap<>();
50+
labels.put("test", "KubernetesResourceStatusUpdateIT");
4551
resource.setMetadata(
4652
new ObjectMetaBuilder()
4753
.withName("test-deployment")
54+
.withLabels(labels)
4855
.build());
4956
DeploymentSpec spec = new DeploymentSpec();
5057
resource.setSpec(spec);
@@ -61,7 +68,7 @@ private Deployment testDeployment() {
6168

6269
Container container = new Container();
6370
container.setName("nginx");
64-
container.setImage("nginx:1.14.2");
71+
container.setImage("nginx:1.21.4");
6572
ContainerPort port = new ContainerPort();
6673
port.setContainerPort(80);
6774
container.setPorts(List.of(port));

operator-framework/src/test/java/io/javaoperatorsdk/operator/sample/deployment/DeploymentReconciler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import io.javaoperatorsdk.operator.api.reconciler.UpdateControl;
1616
import io.javaoperatorsdk.operator.support.TestExecutionInfoProvider;
1717

18-
@ControllerConfiguration
18+
@ControllerConfiguration(labelSelector = "test=KubernetesResourceStatusUpdateIT")
1919
public class DeploymentReconciler
2020
implements Reconciler<Deployment>, TestExecutionInfoProvider {
2121

0 commit comments

Comments
 (0)