From 45f6836bf54f86b8e34218c16cba6cac689b0179 Mon Sep 17 00:00:00 2001 From: Eric Rakestraw Date: Mon, 28 Sep 2026 14:54:03 +0000 Subject: [PATCH] Test Narratio selectors and credential lists --- tests/integration | 21 ++++++++++++++++----- tests/representative.yml | 6 ++++++ tests/verify-baseline.yml | 3 ++- tests/verify-config.yml | 14 +++++++++++++- 4 files changed, 37 insertions(+), 7 deletions(-) diff --git a/tests/integration b/tests/integration index f95b9cb..155c8e2 100755 --- a/tests/integration +++ b/tests/integration @@ -18,7 +18,10 @@ verify_baseline="$repository_root/tests/verify-baseline.yml" representative="$repository_root/tests/representative.yml" verify_config="$repository_root/tests/verify-config.yml" ansible_playbook="$workspace_venv/bin/ansible-playbook" -baseline_args=(-e 'narratio_whisperx_transcribe_url=http://127.0.0.1:8000/transcribe') +baseline_args=( + -e 'narratio_whisperx_transcribe_url=http://127.0.0.1:8000/transcribe' + -e '{"narratio_audita_credentials":null,"narratio_audita_overlay":null,"narratio_audita_proposal_profile":null,"narratio_audita_validation_profile":null,"narratio_notarius_credentials":null,"narratio_notarius_config_overlay":null}' +) cleanup() { exit_status=$? @@ -86,19 +89,27 @@ require_clean_recap "$recovery_repeat_log" representative_log="$test_tmp/representative.log" "$ansible_playbook" -i "$inventory" "$representative" | tee "$representative_log" synthetic_notarius_api_key=notarius-representative-synthetic-value +synthetic_audita_api_key=audita-representative-synthetic-value representative_validation_log="$test_tmp/representative-validation.log" NARRATIO_TEST_NOTARIUS_API_KEY="$synthetic_notarius_api_key" \ +NARRATIO_TEST_AUDITA_API_KEY="$synthetic_audita_api_key" \ "$ansible_playbook" -i "$inventory" "$verify_config" | tee "$representative_validation_log" ! grep -Fq "$synthetic_notarius_api_key" "$representative_log" "$representative_validation_log" +! grep -Fq "$synthetic_audita_api_key" "$representative_log" "$representative_validation_log" representative_repeat_log="$test_tmp/representative-repeat.log" "$ansible_playbook" -i "$inventory" "$representative" | tee "$representative_repeat_log" require_clean_recap "$representative_repeat_log" empty_overlay_log="$test_tmp/empty-overlay.log" +empty_inputs='{"narratio_audita_credentials":[],"narratio_notarius_credentials":[],"narratio_audita_overlay":"","narratio_audita_proposal_profile":"","narratio_audita_validation_profile":"","narratio_notarius_config_overlay":""}' +empty_expectations='{"narratio_test_audita_credentials":[],"narratio_test_notarius_credentials":[],"narratio_test_audita_overlay":"","narratio_test_audita_proposal_profile":"","narratio_test_audita_validation_profile":"","narratio_test_notarius_config_overlay":""}' "$ansible_playbook" -i "$inventory" \ - -e '{"narratio_notarius_config_overlay": ""}' \ + -e "$empty_inputs" \ "$representative" | tee "$empty_overlay_log" -NARRATIO_TEST_NOTARIUS_API_KEY="$synthetic_notarius_api_key" \ - "$ansible_playbook" -i "$inventory" \ - -e '{"narratio_test_notarius_config_overlay": ""}' \ +"$ansible_playbook" -i "$inventory" \ + -e "$empty_expectations" \ "$verify_config" +empty_repeat_log="$test_tmp/empty-repeat.log" +"$ansible_playbook" -i "$inventory" -e "$empty_inputs" \ + "$representative" | tee "$empty_repeat_log" +require_clean_recap "$empty_repeat_log" diff --git a/tests/representative.yml b/tests/representative.yml index 1eba6cb..20ad1c1 100644 --- a/tests/representative.yml +++ b/tests/representative.yml @@ -24,6 +24,12 @@ narratio_seriatim_coalesce_gap: 0.0 narratio_seriatim_report: false narratio_audita_modules: [] + narratio_audita_credentials: + - NARRATIO_TEST_AUDITA_API_KEY + - NARRATIO_TEST_NOTARIUS_API_KEY + narratio_audita_overlay: representative-audita-overlay + narratio_audita_proposal_profile: representative-proposal + narratio_audita_validation_profile: representative-validation narratio_notarius_credentials: - NARRATIO_TEST_NOTARIUS_API_KEY narratio_notarius_config_overlay: representative-overlay diff --git a/tests/verify-baseline.yml b/tests/verify-baseline.yml index 9ddc48c..57333fb 100644 --- a/tests/verify-baseline.yml +++ b/tests/verify-baseline.yml @@ -9,9 +9,10 @@ src: /usr/local/etc/narratio/pipeline.yml register: narratio_baseline_pipeline - - name: Verify null Notarius fields are omitted + - name: Verify null downstream fields are omitted ansible.builtin.assert: that: + - "'audita' not in narratio_pipeline" - "'notarius' not in narratio_pipeline" vars: narratio_pipeline: "{{ narratio_baseline_pipeline.content | b64decode | from_yaml }}" diff --git a/tests/verify-config.yml b/tests/verify-config.yml index d4c340c..b35be7f 100644 --- a/tests/verify-config.yml +++ b/tests/verify-config.yml @@ -24,7 +24,11 @@ - narratio_pipeline.seriatim.coalesce_gap == 0.0 - narratio_pipeline.seriatim.report == false - narratio_pipeline.audita.modules == [] - - narratio_pipeline.notarius.credentials == ['NARRATIO_TEST_NOTARIUS_API_KEY'] + - narratio_pipeline.audita.credentials == narratio_expected_audita_credentials + - narratio_pipeline.audita.overlay == narratio_expected_audita_overlay + - narratio_pipeline.audita.proposal_profile == narratio_expected_audita_proposal_profile + - narratio_pipeline.audita.validation_profile == narratio_expected_audita_validation_profile + - narratio_pipeline.notarius.credentials == narratio_expected_notarius_credentials - narratio_pipeline.notarius.config_overlay == narratio_expected_notarius_config_overlay - narratio_pipeline.notarius.resume == false - narratio_pipeline.notarius.chunk_cache == 'auto' @@ -39,6 +43,13 @@ - "'normalize' not in narratio_pipeline" vars: narratio_pipeline: "{{ narratio_managed_pipeline.content | b64decode | from_yaml }}" + narratio_expected_audita_credentials: >- + {{ narratio_test_audita_credentials | + default(['NARRATIO_TEST_AUDITA_API_KEY', 'NARRATIO_TEST_NOTARIUS_API_KEY']) }} + narratio_expected_audita_overlay: "{{ narratio_test_audita_overlay | default('representative-audita-overlay') }}" + narratio_expected_audita_proposal_profile: "{{ narratio_test_audita_proposal_profile | default('representative-proposal') }}" + narratio_expected_audita_validation_profile: "{{ narratio_test_audita_validation_profile | default('representative-validation') }}" + narratio_expected_notarius_credentials: "{{ narratio_test_notarius_credentials | default(['NARRATIO_TEST_NOTARIUS_API_KEY']) }}" narratio_expected_notarius_config_overlay: "{{ narratio_test_notarius_config_overlay | default('representative-overlay') }}" - name: Validate the representative pipeline as the Narratio account @@ -53,4 +64,5 @@ - /usr/local/etc/narratio/pipeline.yml environment: NARRATIO_TEST_NOTARIUS_API_KEY: "{{ lookup('ansible.builtin.env', 'NARRATIO_TEST_NOTARIUS_API_KEY') }}" + NARRATIO_TEST_AUDITA_API_KEY: "{{ lookup('ansible.builtin.env', 'NARRATIO_TEST_AUDITA_API_KEY') }}" changed_when: false