This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch fix/milo-server-cert-test-bad-value
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to 
refs/heads/fix/milo-server-cert-test-bad-value by this push:
     new fe56d8f81874 CAMEL-25645: camel-milo - ServerCertificateValidationTest 
writes the value before the consumers start
fe56d8f81874 is described below

commit fe56d8f81874f4fde23d782fd133d1bdf85f9c3b
Author: Claus Ibsen <[email protected]>
AuthorDate: Sat Oct 17 10:45:50 2026 +0200

    CAMEL-25645: camel-milo - ServerCertificateValidationTest writes the value 
before the consumers start
    
    Since CAMEL-25626 a consumer also delivers a null value with a Bad status, 
so
    a client that connected before the test wrote Foo received the initial Bad
    value of the item as well, and mock:trustAll got 2 messages. The two changes
    were merged on main 26 seconds apart and neither PR build ran with the 
other.
    
    The consumer routes now start after the value is written, as MonitorItemTest
    does since CAMEL-25626, so Foo is the first notification of each client.
    
    Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
    Signed-off-by: Claus Ibsen <[email protected]>
---
 .../component/milo/ServerCertificateValidationTest.java   | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git 
a/components/camel-milo/src/test/java/org/apache/camel/component/milo/ServerCertificateValidationTest.java
 
b/components/camel-milo/src/test/java/org/apache/camel/component/milo/ServerCertificateValidationTest.java
index 98a822dd4085..12352d91f9c6 100644
--- 
a/components/camel-milo/src/test/java/org/apache/camel/component/milo/ServerCertificateValidationTest.java
+++ 
b/components/camel-milo/src/test/java/org/apache/camel/component/milo/ServerCertificateValidationTest.java
@@ -126,11 +126,13 @@ class ServerCertificateValidationTest extends 
AbstractMiloServerTest {
             public void configure() {
                 from(DIRECT_START).to(MILO_SERVER_ITEM);
 
-                from(resolve(trustListClient("trusted"))).to("mock:trustList");
-                
from(resolve(trustListClient("empty"))).to("mock:emptyTrustList");
-                from(resolve(MILO_CLIENT)).to("mock:notConfigured");
-                from(resolve(MILO_CLIENT + 
"&trustAllCertificates=true")).to("mock:trustAll");
-                from(resolve(MILO_CLIENT + 
"&certificateValidator=#recordingValidator")).to("mock:certificateValidator");
+                // the consumers deliver the current value while they start, 
so the test starts these routes
+                
from(resolve(trustListClient("trusted"))).autoStartup(false).to("mock:trustList");
+                
from(resolve(trustListClient("empty"))).autoStartup(false).to("mock:emptyTrustList");
+                
from(resolve(MILO_CLIENT)).autoStartup(false).to("mock:notConfigured");
+                from(resolve(MILO_CLIENT + 
"&trustAllCertificates=true")).autoStartup(false).to("mock:trustAll");
+                from(resolve(MILO_CLIENT + 
"&certificateValidator=#recordingValidator")).autoStartup(false)
+                        .to("mock:certificateValidator");
             }
         };
     }
@@ -146,7 +148,10 @@ class ServerCertificateValidationTest extends 
AbstractMiloServerTest {
         this.notConfiguredEndpoint.setExpectedCount(0);
         this.notConfiguredEndpoint.setSleepForEmptyTest(5_000);
 
+        // the value is written before the consumers start, so it is the first 
notification of each client that
+        // connects (and not the initial Bad value of the item)
         this.producer.sendBody("Foo");
+        context.getRouteController().startAllRoutes();
 
         MockEndpoint.assertIsSatisfied(context);
 

Reply via email to