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):
