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
|
||||
campaigns_revision=$(git -C "$campaigns_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=(
|
||||
-e 'dnd_pipeline_whisperx_transcribe_url=http://127.0.0.1:8000/transcribe'
|
||||
-e "dnd_pipeline_campaigns_repository_url=file://$campaigns_repository"
|
||||
@@ -30,6 +34,8 @@ baseline_args=(
|
||||
cleanup() {
|
||||
exit_status=$?
|
||||
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
|
||||
rm -rf -- "$test_tmp"
|
||||
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 \
|
||||
--config /usr/local/etc/narratio/pipeline.yml --campaign centaurs | \
|
||||
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 \
|
||||
--config /usr/local/etc/scriptorium/config.yml \
|
||||
--prompt dnd.session_recap --prompt-version 2.0.0 --format json)
|
||||
|
||||
Reference in New Issue
Block a user