Skip to content

Commit 6c45aa2

Browse files
committed
Stabilize tests
1 parent 1d0ddc5 commit 6c45aa2

3 files changed

Lines changed: 21 additions & 13 deletions

File tree

.github/workflows/workflows.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ jobs:
3030
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
3131
restore-keys: ${{ runner.os }}-m2
3232
- name: Setup Minikube
33-
uses: manusa/actions-setup-minikube@v2.13.1
33+
uses: manusa/actions-setup-minikube@v2.14.0
3434
with:
35-
minikube version: 'v1.33.0'
35+
minikube version: 'v1.37.0'
3636
kubernetes version: ${{ matrix.kubernetes }}
3737
github token: ${{ secrets.GITHUB_TOKEN }}
3838
container runtime: containerd

src/test/kotlin/eu/openanalytics/shinyproxyoperator/impl/kubernetes/MainIntegrationTest.kt

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ class MainIntegrationTest : IntegrationTestBase() {
166166
// 4. assert correctness
167167
spTestInstance.assertInstanceIsCorrect()
168168

169-
// wait for additionale reconcile to complete
169+
// wait for additional reconcile to complete
170170
eventController.waitForNextReconcile(spTestInstance.hash)
171171

172172
// 5. Delete Replicaset -> reconcile -> assert it is still ok
@@ -178,23 +178,17 @@ class MainIntegrationTest : IntegrationTestBase() {
178178
}
179179
}
180180
logger.info { "ReplicaSet was deleted" }
181-
eventController.waitForNextReconcile(spTestInstance.hash)
181+
waitForNextReconcileAndReady(stableClient, sp, spTestInstance, eventController)
182182
logger.info { "Reconciled after deleting RS" }
183183

184-
withTimeout(10_000) {
185-
while (stableClient.apps().replicaSets().withName(replicaSetName)?.get()?.status?.readyReplicas != 1) {
186-
delay(100)
187-
}
188-
}
189-
190184
spTestInstance.assertInstanceIsCorrect()
191185

192186
// 6. Delete ConfigMap -> reconcile -> assert it is still ok
193187
executeAsyncAfter100ms {
194188
getAndDelete(stableClient.configMaps().withName("sp-${sp.name}-cm-${spTestInstance.hash}".take(63)))
195189
logger.info { "Deleted ConfigMap" }
196190
}
197-
eventController.waitForNextReconcile(spTestInstance.hash)
191+
waitForNextReconcileAndReady(stableClient, sp, spTestInstance, eventController)
198192
logger.info { "Reconciled after deleting CM" }
199193
spTestInstance.assertInstanceIsCorrect()
200194

@@ -203,7 +197,7 @@ class MainIntegrationTest : IntegrationTestBase() {
203197
getAndDelete(stableClient.services().withName("sp-${sp.name}-svc".take(63)))
204198
logger.info { "Deleted Service" }
205199
}
206-
eventController.waitForNextReconcile(spTestInstance.hash)
200+
waitForNextReconcileAndReady(stableClient, sp, spTestInstance, eventController)
207201
logger.info { "Reconciled after deleting SVC" }
208202
spTestInstance.assertInstanceIsCorrect()
209203

@@ -212,7 +206,7 @@ class MainIntegrationTest : IntegrationTestBase() {
212206
getAndDelete(stableClient.network().v1().ingresses().withName("sp-${sp.name}-ing".take(63)))
213207
logger.info { "Deleted Ingress" }
214208
}
215-
eventController.waitForNextReconcile(spTestInstance.hash)
209+
waitForNextReconcileAndReady(stableClient, sp, spTestInstance, eventController)
216210
spTestInstance.assertInstanceIsCorrect()
217211
logger.info { "Reconciled after deleting Ingress" }
218212
}

src/test/kotlin/eu/openanalytics/shinyproxyoperator/impl/kubernetes/helpers/IntegrationTestBase.kt

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -234,4 +234,18 @@ abstract class IntegrationTestBase {
234234
resource.delete()
235235
}
236236

237+
protected suspend fun waitForNextReconcileAndReady(stableClient: NamespacedKubernetesClient, sp: ShinyProxy, spTestInstance: ShinyProxyTestInstance, eventController: AwaitableEvenController) {
238+
eventController.waitForNextReconcile(spTestInstance.hash)
239+
for (i in 0..2) {
240+
val replicaSetName = "sp-${sp.name}-rs-0-${spTestInstance.hash}".take(63)
241+
if (stableClient.apps().replicaSets().withName(replicaSetName)?.get()?.status?.readyReplicas == 1
242+
&& stableClient.configMaps().withName("sp-${sp.name}-cm-${spTestInstance.hash}".take(63)).get() != null
243+
&& stableClient.services().withName("sp-${sp.name}-svc".take(63)) != null
244+
&& stableClient.network().v1().ingresses().withName("sp-${sp.name}-ing".take(63)).get() != null) {
245+
return
246+
}
247+
eventController.waitForNextReconcile(spTestInstance.hash)
248+
}
249+
}
250+
237251
}

0 commit comments

Comments
 (0)