Skip to content

Commit 1215670

Browse files
committed
Add awaits to ensure the pods are present before interacting with controller
1 parent bb2e74d commit 1215670

3 files changed

Lines changed: 18 additions & 3 deletions

File tree

pom.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,13 @@
7979
<groupId>io.quarkus</groupId>
8080
<artifactId>quarkus-test-kubernetes-client</artifactId>
8181
<scope>test</scope>
82-
</dependency>
83-
</dependencies>
82+
</dependency>
83+
<dependency>
84+
<groupId>org.awaitility</groupId>
85+
<artifactId>awaitility</artifactId>
86+
<scope>test</scope>
87+
</dependency>
88+
</dependencies>
8489

8590
<build>
8691
<plugins>

src/main/java/com/redhat/MeterController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ public UpdateControl<Meter> createOrUpdateResource(Meter resource, Context<Meter
109109
}
110110

111111
void createServiceMonitor() {
112-
if (serviceMonitor().isReady() && serviceMonitor().get() != null) {
112+
if (serviceMonitor().get() != null) {
113113
System.out.println("SKIPPED INSTALL");
114114
// Don't repeat the install
115115
return;

src/test/java/com/redhat/MeterControllerTest.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import static org.junit.jupiter.api.Assertions.assertNull;
1010
import static org.junit.jupiter.api.Assertions.assertTrue;
1111

12+
import java.time.Duration;
1213
import java.time.Instant;
1314
import java.util.Collections;
1415
import java.util.List;
@@ -19,6 +20,7 @@
1920

2021
import javax.inject.Inject;
2122

23+
import org.awaitility.Awaitility;
2224
import org.hamcrest.text.IsEmptyString;
2325
import org.jboss.logmanager.LogManager;
2426
import org.junit.jupiter.api.BeforeEach;
@@ -272,6 +274,8 @@ void testSpecWithMeterCollectionEnabledThenDisabledWithPods() {
272274
mockServer.getClient().pods().create(pod1);
273275
mockServer.getClient().pods().create(pod2);
274276

277+
Awaitility.await().atMost(Duration.ofMinutes(2)).until(() -> meterController.getWatcher().watchedPods().equals("2"));
278+
275279
response = meterController.createOrUpdateResource(meter, null);
276280

277281
assertNotNull(response);
@@ -381,6 +385,8 @@ void testStatusWatchingPods() {
381385
mockServer.getClient().pods().create(pod1);
382386
mockServer.getClient().pods().create(pod2);
383387

388+
Awaitility.await().atMost(Duration.ofMinutes(2)).until(() -> meterController.getWatcher().watchedPods().equals("2"));
389+
384390
response = meterController.createOrUpdateResource(meter, null);
385391

386392
assertNotNull(response);
@@ -458,6 +464,8 @@ void testStatusWatchingPodsAndInfrastructureFlag() {
458464
mockServer.getClient().pods().create(pod1);
459465
mockServer.getClient().pods().create(pod2);
460466

467+
Awaitility.await().atMost(Duration.ofMinutes(2)).until(() -> meterController.getWatcher().watchedPods().equals("2"));
468+
461469
response = meterController.createOrUpdateResource(meter, null);
462470

463471
assertNotNull(response);
@@ -689,6 +697,8 @@ void testProductNamesLimitedToDefinedThree() {
689697
mockServer.getClient().pods().create(pod2);
690698
mockServer.getClient().pods().create(pod3);
691699

700+
Awaitility.await().atMost(Duration.ofMinutes(2)).until(() -> meterController.getWatcher().watchedPods().equals("2"));
701+
692702
response = meterController.createOrUpdateResource(meter, null);
693703

694704
assertNotNull(response);

0 commit comments

Comments
 (0)