From 438949d1117a0d7a70241854a1fd272cf44e66d9 Mon Sep 17 00:00:00 2001
From: "stu126940@mail.uni-kiel.de" <stu126940@mail.uni-kiel.de>
Date: Wed, 30 Jun 2021 17:58:42 +0200
Subject: [PATCH] Fix: Start informer before run the operator

---
 .../theodolite/execution/operator/TheodoliteOperator.kt  | 9 +++++----
 .../execution/operator/ExecutionEventHandlerTest.kt      | 2 +-
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/theodolite-quarkus/src/main/kotlin/theodolite/execution/operator/TheodoliteOperator.kt b/theodolite-quarkus/src/main/kotlin/theodolite/execution/operator/TheodoliteOperator.kt
index 0415680f5..5318abc17 100644
--- a/theodolite-quarkus/src/main/kotlin/theodolite/execution/operator/TheodoliteOperator.kt
+++ b/theodolite-quarkus/src/main/kotlin/theodolite/execution/operator/TheodoliteOperator.kt
@@ -67,15 +67,16 @@ class TheodoliteOperator {
                 client = client
             ).clearClusterState()
 
-            getController(
+            controller = getController(
                 client = client,
                 executionStateHandler = getExecutionStateHandler(client = client)
-            ).run()
-            getExecutionEventHandler(client).startAllRegisteredInformers()
+            )
+            getExecutionEventHandler(controller, client).startAllRegisteredInformers()
+            controller.run()
         }
     }
 
-    fun getExecutionEventHandler(client: NamespacedKubernetesClient): SharedInformerFactory {
+    fun getExecutionEventHandler(controller: TheodoliteController, client: NamespacedKubernetesClient): SharedInformerFactory {
         val factory = client.informers()
             .inNamespace(client.namespace)
 
diff --git a/theodolite-quarkus/src/test/kotlin/theodolite/execution/operator/ExecutionEventHandlerTest.kt b/theodolite-quarkus/src/test/kotlin/theodolite/execution/operator/ExecutionEventHandlerTest.kt
index d72dd1cd3..bbbb3092c 100644
--- a/theodolite-quarkus/src/test/kotlin/theodolite/execution/operator/ExecutionEventHandlerTest.kt
+++ b/theodolite-quarkus/src/test/kotlin/theodolite/execution/operator/ExecutionEventHandlerTest.kt
@@ -39,7 +39,7 @@ class ExecutionEventHandlerTest {
             executionStateHandler = ExecutionStateHandler(client = server.client)
         )
 
-        this.factory = operator.getExecutionEventHandler(server.client)
+        this.factory = operator.getExecutionEventHandler(this.controller,server.client)
         this.stateHandler = TheodoliteOperator().getExecutionStateHandler(client = server.client)
 
         this.executionVersion1 = K8sResourceLoader(server.client)
-- 
GitLab