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

fgerlits pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git

commit a0d7c8c9bfdbd12c577ae5c4c7308e007858e0c6
Author: Gabor Gyimesi <[email protected]>
AuthorDate: Tue May 12 17:50:27 2026 +0200

    MINIFICPP-2806 Fix verify package test issues
    
    - Override default CA paths to use test generated root CA in tests, or
      leave the default CA when need external SSL communication
    - Fix minifi binary path when using RPM package
    
    Signed-off-by: Ferenc Gerlits <[email protected]>
    
    Closes #2171
---
 .../src/minifi_behave/containers/minifi_linux_container.py | 14 +++++++++++---
 behave_framework/src/minifi_behave/core/hooks.py           |  1 +
 .../src/minifi_behave/core/minifi_test_context.py          |  1 +
 extensions/python/tests/features/environment.py            |  1 +
 4 files changed, 14 insertions(+), 3 deletions(-)

diff --git 
a/behave_framework/src/minifi_behave/containers/minifi_linux_container.py 
b/behave_framework/src/minifi_behave/containers/minifi_linux_container.py
index 0b389f660..4658a8237 100644
--- a/behave_framework/src/minifi_behave/containers/minifi_linux_container.py
+++ b/behave_framework/src/minifi_behave/containers/minifi_linux_container.py
@@ -31,6 +31,13 @@ from .minifi_controller import MinifiController
 from .minifi_protocol import MinifiProtocol
 
 
+CA_CERT_PATHS = [
+    "/usr/local/share/certs/ca-root-nss.crt",
+    "/etc/ssl/certs/ca-certificates.crt",
+    "/etc/pki/tls/certs/ca-bundle.crt"
+]
+
+
 class NormalDeployment:
     def __init__(self):
         self.conf_path = "/opt/minifi/minifi-current/conf"
@@ -67,9 +74,10 @@ class MinifiLinuxContainer(LinuxContainer, MinifiProtocol):
         minifi_client_cert, minifi_client_key = 
make_cert_without_extended_usage(common_name=self.container_name,
                                                                                
  ca_cert=test_context.root_ca_cert,
                                                                                
  ca_key=test_context.root_ca_key)
-        self.files.append(File("/usr/local/share/certs/ca-root-nss.crt", 
dump_cert(test_context.root_ca_cert)))
         self.files.append(File("/tmp/resources/root_ca.crt", 
dump_cert(test_context.root_ca_cert)))
-        self.files.append(File("/etc/ssl/certs/ca-certificates.crt", 
dump_cert(test_context.root_ca_cert)))
+        if test_context.override_default_ca_cert_files:
+            for ca_cert_path in CA_CERT_PATHS:
+                self.files.append(File(ca_cert_path, 
dump_cert(test_context.root_ca_cert)))
         self.files.append(File("/tmp/resources/minifi_client.crt", 
dump_cert(minifi_client_cert)))
         self.files.append(File("/tmp/resources/minifi_client.key", 
dump_key(minifi_client_key)))
         self.files.append(
@@ -143,5 +151,5 @@ class MinifiLinuxContainer(LinuxContainer, MinifiProtocol):
         return "\n".join(lines)
 
     def add_example_python_processors(self):
-        run_minifi_cmd = f'{self.deployment_type.bin_path}/minifi.sh run'
+        run_minifi_cmd = f'{self.deployment_type.bin_path}/minifi'
         self.command = f'sh -c "cp -r 
{self.deployment_type.minifi_python_examples_path} 
{self.deployment_type.minifi_python_path}/examples && {run_minifi_cmd}"'
diff --git a/behave_framework/src/minifi_behave/core/hooks.py 
b/behave_framework/src/minifi_behave/core/hooks.py
index b3073aacc..bec809f1c 100644
--- a/behave_framework/src/minifi_behave/core/hooks.py
+++ b/behave_framework/src/minifi_behave/core/hooks.py
@@ -78,6 +78,7 @@ def common_before_scenario(context: Context, scenario: 
Scenario):
     context.containers = {}
     context.resource_dir = None
     context.root_ca_cert, context.root_ca_key = make_self_signed_cert("root 
CA")
+    context.override_default_ca_cert_files = True
 
     for step in scenario.steps:
         inject_scenario_id(context, step)
diff --git a/behave_framework/src/minifi_behave/core/minifi_test_context.py 
b/behave_framework/src/minifi_behave/core/minifi_test_context.py
index 5933264d0..59a1e04f2 100644
--- a/behave_framework/src/minifi_behave/core/minifi_test_context.py
+++ b/behave_framework/src/minifi_behave/core/minifi_test_context.py
@@ -43,6 +43,7 @@ class MinifiTestContext(Context):
     resource_dir: str | None
     root_ca_key: RSAPrivateKey
     root_ca_cert: Certificate
+    override_default_ca_cert_files: bool
 
     def get_or_create_minifi_container(self, container_name: str) -> 
MinifiContainer:
         if container_name not in self.containers:
diff --git a/extensions/python/tests/features/environment.py 
b/extensions/python/tests/features/environment.py
index 1e94d24ea..648377cda 100644
--- a/extensions/python/tests/features/environment.py
+++ b/extensions/python/tests/features/environment.py
@@ -122,6 +122,7 @@ def before_scenario(context, scenario):
 
     common_before_scenario(context, scenario)
     context.minifi_container_image = "apacheminificpp-python:latest"
+    context.override_default_ca_cert_files = False
 
 
 def after_scenario(context, scenario):

Reply via email to