mirror of
https://github.com/getsentry/self-hosted.git
synced 2025-12-08 19:46:14 +00:00
* Reference paths relative to the current script or project root Before this PR: - some scripts change the current working directory and use relative paths - different approaches are taken to know which directory a script is running in - paths are sometimes relative, sometimes absolute, sometimes traversing directories After this PR: - scripts do neither change nor care much about the current working directory - a unified approach determines the directory of the current script - paths are always relative to the project root This should resolve an issue I already tried to fix with https://github.com/getsentry/self-hosted/pull/1798, where the contents of `./sentry` were not copied into the built container image, thus `enhance-image.sh` did not apply. Co-authored-by: Amin Vakil <info@aminvakil.com>
62 lines
2.1 KiB
Bash
Executable File
62 lines
2.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
source _unit-test/_test_setup.sh
|
|
|
|
export REPORT_SELF_HOSTED_ISSUES=1
|
|
|
|
# This is set up in dc-detect-version.sh, but for
|
|
# our purposes we don't care about proxies.
|
|
dbuild="docker build"
|
|
source install/error-handling.sh
|
|
|
|
# mock send_envelope
|
|
send_envelope() {
|
|
echo "Test Sending $1"
|
|
}
|
|
|
|
export -f send_envelope
|
|
echo "Testing initial send_event"
|
|
export log_file=test_log.txt
|
|
echo "Test Logs" >"$log_file"
|
|
echo "Error Msg" >>"$log_file"
|
|
breadcrumbs=$(generate_breadcrumb_json | sed '$d' | $jq -s -c)
|
|
SEND_EVENT_RESPONSE=$(send_event "12345123451234512345123451234512" "Test exited with status 1" "{\"ignore\": \"me\"}" "$breadcrumbs")
|
|
rm "$log_file"
|
|
test "$SEND_EVENT_RESPONSE" == 'Test Sending sentry-envelope-12345123451234512345123451234512'
|
|
ENVELOPE_CONTENTS=$(cat /tmp/sentry-envelope-12345123451234512345123451234512)
|
|
test "$ENVELOPE_CONTENTS" == "$(cat _unit-test/snapshots/sentry-envelope-12345123451234512345123451234512)"
|
|
echo "Pass."
|
|
|
|
echo "Testing send_event duplicate"
|
|
SEND_EVENT_RESPONSE=$(send_event "12345123451234512345123451234512" "Test exited with status 1" "{\"ignore\": \"me\"}" "$breadcrumbs")
|
|
test "$SEND_EVENT_RESPONSE" == "Looks like you've already sent this error to us, we're on it :)"
|
|
echo "Pass."
|
|
rm '/tmp/sentry-envelope-12345123451234512345123451234512'
|
|
|
|
echo "Testing cleanup without minimizing downtime"
|
|
export REPORT_SELF_HOSTED_ISSUES=0
|
|
export MINIMIZE_DOWNTIME=''
|
|
export dc=':'
|
|
echo "Test Logs" >"$log_file"
|
|
CLEANUP_RESPONSE=$(cleanup ERROR)
|
|
rm "$log_file"
|
|
test "$CLEANUP_RESPONSE" == 'Error in _unit-test/error-handling-test.sh:41.
|
|
'\''local cmd="${BASH_COMMAND}"'\'' exited with status 0
|
|
|
|
Cleaning up...'
|
|
echo "Pass."
|
|
|
|
echo "Testing cleanup while minimizing downtime"
|
|
export REPORT_SELF_HOSTED_ISSUES=0
|
|
export MINIMIZE_DOWNTIME=1
|
|
echo "Test Logs" >"$log_file"
|
|
CLEANUP_RESPONSE=$(cleanup ERROR)
|
|
rm "$log_file"
|
|
test "$CLEANUP_RESPONSE" == 'Error in _unit-test/error-handling-test.sh:53.
|
|
'\''local cmd="${BASH_COMMAND}"'\'' exited with status 0
|
|
|
|
*NOT* cleaning up, to clean your environment run "docker compose stop".'
|
|
echo "Pass."
|
|
|
|
report_success
|