From 25b79308241c05658db0fe195b6839baaabc069e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Attila=20M=C3=A9sz=C3=A1ros?= Date: Fri, 24 Apr 2026 13:48:02 +0200 Subject: [PATCH 1/5] fix: ClusterDeployedOperatorExtension should alway apply CRDs before test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Attila Mészáros --- .../operator/junit/ClusterDeployedOperatorExtension.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/operator-framework-junit/src/main/java/io/javaoperatorsdk/operator/junit/ClusterDeployedOperatorExtension.java b/operator-framework-junit/src/main/java/io/javaoperatorsdk/operator/junit/ClusterDeployedOperatorExtension.java index 34df20c15a..a6a1a571b4 100644 --- a/operator-framework-junit/src/main/java/io/javaoperatorsdk/operator/junit/ClusterDeployedOperatorExtension.java +++ b/operator-framework-junit/src/main/java/io/javaoperatorsdk/operator/junit/ClusterDeployedOperatorExtension.java @@ -82,7 +82,12 @@ public static Builder builder() { return new Builder(); } - protected void before(ExtensionContext context) { + protected void beforeAllImpl(ExtensionContext context) { + applyCrds(context); + super.beforeAllImpl(context); + } + + protected void applyCrds(ExtensionContext context) { super.before(context); final var crdPath = "./target/classes/META-INF/fabric8/"; From bdb7456d4bb8b4d0399ca45c954e97d47d9e5a9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Attila=20M=C3=A9sz=C3=A1ros?= Date: Fri, 24 Apr 2026 13:55:09 +0200 Subject: [PATCH 2/5] wip MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Attila Mészáros --- .../operator/junit/ClusterDeployedOperatorExtension.java | 1 + 1 file changed, 1 insertion(+) diff --git a/operator-framework-junit/src/main/java/io/javaoperatorsdk/operator/junit/ClusterDeployedOperatorExtension.java b/operator-framework-junit/src/main/java/io/javaoperatorsdk/operator/junit/ClusterDeployedOperatorExtension.java index a6a1a571b4..f0f40a16c8 100644 --- a/operator-framework-junit/src/main/java/io/javaoperatorsdk/operator/junit/ClusterDeployedOperatorExtension.java +++ b/operator-framework-junit/src/main/java/io/javaoperatorsdk/operator/junit/ClusterDeployedOperatorExtension.java @@ -82,6 +82,7 @@ public static Builder builder() { return new Builder(); } + @Override protected void beforeAllImpl(ExtensionContext context) { applyCrds(context); super.beforeAllImpl(context); From c260432c94f4206cdc2ac6e71a06a7b69104cae9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Attila=20M=C3=A9sz=C3=A1ros?= Date: Fri, 24 Apr 2026 14:06:16 +0200 Subject: [PATCH 3/5] wip MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Attila Mészáros --- .../operator/junit/ClusterDeployedOperatorExtension.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/operator-framework-junit/src/main/java/io/javaoperatorsdk/operator/junit/ClusterDeployedOperatorExtension.java b/operator-framework-junit/src/main/java/io/javaoperatorsdk/operator/junit/ClusterDeployedOperatorExtension.java index f0f40a16c8..a6eda4f694 100644 --- a/operator-framework-junit/src/main/java/io/javaoperatorsdk/operator/junit/ClusterDeployedOperatorExtension.java +++ b/operator-framework-junit/src/main/java/io/javaoperatorsdk/operator/junit/ClusterDeployedOperatorExtension.java @@ -82,6 +82,13 @@ public static Builder builder() { return new Builder(); } + // note that if extension is not static beforeAll is not called + @Override + protected void beforeEachImpl(ExtensionContext context) { + applyCrds(context); + super.beforeEachImpl(context); + } + @Override protected void beforeAllImpl(ExtensionContext context) { applyCrds(context); From 9e7993c8b389652b9d4525a22d335148522f813c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Attila=20M=C3=A9sz=C3=A1ros?= Date: Fri, 24 Apr 2026 14:12:57 +0200 Subject: [PATCH 4/5] wip MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Attila Mészáros --- .../operator/junit/ClusterDeployedOperatorExtension.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/operator-framework-junit/src/main/java/io/javaoperatorsdk/operator/junit/ClusterDeployedOperatorExtension.java b/operator-framework-junit/src/main/java/io/javaoperatorsdk/operator/junit/ClusterDeployedOperatorExtension.java index a6eda4f694..dff2396b47 100644 --- a/operator-framework-junit/src/main/java/io/javaoperatorsdk/operator/junit/ClusterDeployedOperatorExtension.java +++ b/operator-framework-junit/src/main/java/io/javaoperatorsdk/operator/junit/ClusterDeployedOperatorExtension.java @@ -96,8 +96,6 @@ protected void beforeAllImpl(ExtensionContext context) { } protected void applyCrds(ExtensionContext context) { - super.before(context); - final var crdPath = "./target/classes/META-INF/fabric8/"; final var crdSuffix = "-v1.yml"; From 1c88ef8b8cf3b846df80d6bdfb08046774a630c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Attila=20M=C3=A9sz=C3=A1ros?= Date: Fri, 24 Apr 2026 14:19:05 +0200 Subject: [PATCH 5/5] wip MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Attila Mészáros --- .../operator/junit/ClusterDeployedOperatorExtension.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/operator-framework-junit/src/main/java/io/javaoperatorsdk/operator/junit/ClusterDeployedOperatorExtension.java b/operator-framework-junit/src/main/java/io/javaoperatorsdk/operator/junit/ClusterDeployedOperatorExtension.java index dff2396b47..a8513d9d69 100644 --- a/operator-framework-junit/src/main/java/io/javaoperatorsdk/operator/junit/ClusterDeployedOperatorExtension.java +++ b/operator-framework-junit/src/main/java/io/javaoperatorsdk/operator/junit/ClusterDeployedOperatorExtension.java @@ -120,7 +120,12 @@ protected void applyCrds(ExtensionContext context) { throw new IllegalStateException("Cannot apply CRD yaml: " + crdFile.getAbsolutePath(), ex); } } + } + @Override + protected void before(ExtensionContext context) { + super.before(context); + final var kubernetesClient = getInfrastructureKubernetesClient(); LOGGER.debug("Deploying the operator into Kubernetes. Target namespace: {}", namespace); operatorDeployment.forEach( hm -> {