Test shared pipeline access across users
This commit is contained in:
@@ -18,6 +18,10 @@ prompt_library_repository=$(cd "$repository_root/../assets/narratio-prompts" &&
|
|||||||
prompt_library_root=/usr/local/share/narratio/prompt-library
|
prompt_library_root=/usr/local/share/narratio/prompt-library
|
||||||
campaigns_revision=$(git -C "$campaigns_repository" rev-parse HEAD)
|
campaigns_revision=$(git -C "$campaigns_repository" rev-parse HEAD)
|
||||||
prompt_library_revision=$(git -C "$prompt_library_repository" rev-parse HEAD)
|
prompt_library_revision=$(git -C "$prompt_library_repository" rev-parse HEAD)
|
||||||
|
operator_user="dnd_f0009_${$}"
|
||||||
|
shared_fixture_root="/var/lib/narratio/${operator_user}"
|
||||||
|
service_fixture_file="$shared_fixture_root/service.txt"
|
||||||
|
operator_fixture_file="$shared_fixture_root/operator.txt"
|
||||||
baseline_args=(
|
baseline_args=(
|
||||||
-e 'dnd_pipeline_whisperx_transcribe_url=http://127.0.0.1:8000/transcribe'
|
-e 'dnd_pipeline_whisperx_transcribe_url=http://127.0.0.1:8000/transcribe'
|
||||||
-e "dnd_pipeline_campaigns_repository_url=file://$campaigns_repository"
|
-e "dnd_pipeline_campaigns_repository_url=file://$campaigns_repository"
|
||||||
@@ -30,6 +34,8 @@ baseline_args=(
|
|||||||
cleanup() {
|
cleanup() {
|
||||||
exit_status=$?
|
exit_status=$?
|
||||||
trap - EXIT
|
trap - EXIT
|
||||||
|
/usr/bin/sudo /bin/rm -rf -- "$shared_fixture_root" || true
|
||||||
|
/usr/bin/sudo /usr/sbin/userdel --remove "$operator_user" 2>/dev/null || true
|
||||||
"$ansible_playbook" -i "$inventory" "${baseline_args[@]}" "$converge" >/dev/null 2>&1 || true
|
"$ansible_playbook" -i "$inventory" "${baseline_args[@]}" "$converge" >/dev/null 2>&1 || true
|
||||||
rm -rf -- "$test_tmp"
|
rm -rf -- "$test_tmp"
|
||||||
exit "$exit_status"
|
exit "$exit_status"
|
||||||
@@ -84,6 +90,19 @@ run_converge "$baseline_log" "${baseline_args[@]}"
|
|||||||
/usr/bin/sudo -u narratio /usr/local/bin/narratio config diff default testing \
|
/usr/bin/sudo -u narratio /usr/local/bin/narratio config diff default testing \
|
||||||
--config /usr/local/etc/narratio/pipeline.yml --campaign centaurs | \
|
--config /usr/local/etc/narratio/pipeline.yml --campaign centaurs | \
|
||||||
awk -F '\t' '$1 != "changed" || $2 !~ /\.profile_id$/ { invalid = 1 } END { exit invalid || NR == 0 }'
|
awk -F '\t' '$1 != "changed" || $2 !~ /\.profile_id$/ { invalid = 1 } END { exit invalid || NR == 0 }'
|
||||||
|
/usr/bin/sudo /usr/sbin/useradd --create-home --groups narratio \
|
||||||
|
--shell /usr/sbin/nologin "$operator_user"
|
||||||
|
/usr/bin/sudo -u "$operator_user" /usr/local/bin/narratio config validate \
|
||||||
|
--config /usr/local/etc/narratio/pipeline.yml --campaign centaurs
|
||||||
|
/usr/bin/sudo -u nobody /bin/cat /usr/local/etc/narratio/pipeline.yml >/dev/null
|
||||||
|
/usr/bin/sudo -u narratio /bin/sh -c \
|
||||||
|
"umask 077; mkdir '$shared_fixture_root'; printf '%s\\n' service-created > '$service_fixture_file'"
|
||||||
|
/usr/bin/sudo -u "$operator_user" /bin/sh -c \
|
||||||
|
"grep -Fx service-created '$service_fixture_file'; printf '%s\\n' operator-appended >> '$service_fixture_file'"
|
||||||
|
/usr/bin/sudo -u narratio /bin/grep -Fx operator-appended "$service_fixture_file"
|
||||||
|
/usr/bin/sudo -u "$operator_user" /bin/sh -c \
|
||||||
|
"umask 077; printf '%s\\n' operator-created > '$operator_fixture_file'"
|
||||||
|
/usr/bin/sudo -u narratio /bin/grep -Fx operator-created "$operator_fixture_file"
|
||||||
session_recap_prompt_json=$(/usr/local/bin/scriptorium inspect prompt \
|
session_recap_prompt_json=$(/usr/local/bin/scriptorium inspect prompt \
|
||||||
--config /usr/local/etc/scriptorium/config.yml \
|
--config /usr/local/etc/scriptorium/config.yml \
|
||||||
--prompt dnd.session_recap --prompt-version 2.0.0 --format json)
|
--prompt dnd.session_recap --prompt-version 2.0.0 --format json)
|
||||||
|
|||||||
Reference in New Issue
Block a user