fix: use newer qson to add support for escaped = (equals) signs

Equal signs should be escaped - %3D - in order to be used in values.
This commit is contained in:
Jose Diaz-Gonzalez
2025-08-12 20:15:27 -04:00
parent 3eeb9be292
commit b0c2912453
25 changed files with 74 additions and 56 deletions

View File

@@ -239,6 +239,49 @@ teardown() {
assert_output_not_exists
}
@test "(logs) logs:set equals in uri" {
run create_app
echo "output: $output"
echo "status: $status"
assert_success
run /bin/bash -c "dokku logs:set $TEST_APP vector-sink 'loki://?endpoint=https://host&encoding[codec]=text&auth[token]=foobar%3D&auth[strategy]=bearer'"
echo "output: $output"
echo "status: $status"
assert_success
assert_output_contains "Setting vector-sink"
assert_output_contains "Writing updated vector config to /var/lib/dokku/data/logs/vector.json"
# type: loki
# endpoint: https://host
# encoding[codec]: text
# auth[token]: foobar=
# auth[strategy]: bearer
run /bin/bash -c "jq -r '.sinks[\"docker-sink:$TEST_APP\"].auth.strategy' /var/lib/dokku/data/logs/vector.json"
echo "output: $output"
echo "status: $status"
assert_success
assert_output "bearer"
run /bin/bash -c "jq -r '.sinks[\"docker-sink:$TEST_APP\"].auth.token' /var/lib/dokku/data/logs/vector.json"
echo "output: $output"
echo "status: $status"
assert_success
assert_output "foobar="
run /bin/bash -c "jq -r '.sinks[\"docker-sink:$TEST_APP\"].endpoint' /var/lib/dokku/data/logs/vector.json"
echo "output: $output"
echo "status: $status"
assert_success
assert_output "https://host"
run /bin/bash -c "jq -r '.sinks[\"docker-sink:$TEST_APP\"].encoding.codec' /var/lib/dokku/data/logs/vector.json"
echo "output: $output"
echo "status: $status"
assert_success
assert_output "text"
}
@test "(logs) logs:set escaped uri" {
run create_app
echo "output: $output"