You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#!/bin/bash
exname=$(basename $0)
prefix_cmd=" . /etc/shlib
include common include parse
. ../lib/common
"
# mock relation-get() { local key="$1" echo "$CFG" | shyaml get-value "$key" 2>/dev/null } export -f relation-get
cfg-get-value() { local key="$1" shyaml get-value "$key" 2>/dev/null } export -f cfg-get-value
get_service_relations() { printf "%s\0" "${RELATIONS[@]}" } export -f get_service_relations
merge_yaml_str() { printf "<merge_yaml_str(" printf "'%s', " "$@" printf ")>" } export -f merge_yaml_str
export state_tmpdir=$(mktemp -d -t tmp.XXXXXXXXXX) trap "rm -rf \"$state_tmpdir\"" EXIT
## ## Tests ##
try " ssl_get_plugin_fun ' domain: www.example.com '" is errlvl 1 is err '' is out ''
try " set -o pipefail ssl_get_plugin_fun ' domain: www.example.com ssl: true ' | tr '\0' ':' " is errlvl 0 is err '' is out reg '^ssl_fallback:'
try " ssl_get_plugin_fun ' domain: www.example.com ssl: - a - b ' " is errlvl 1 is err part 'please provide a string or a struct' is out ''
try " ssl_get_plugin_fun ' domain: www.example.com ssl: - a - b ' " is errlvl 1 is err part 'please provide a string or a struct' is out ''
try " ssl_get_plugin_fun ' domain: www.example.com ssl: xxx ' " is errlvl 1 is err part 'no corresponding services declared in cert-provider' is out ''
try " RELATIONS=(cert-provider xxx mycfg True) ssl_get_plugin_fun ' domain: www.example.com ssl: xxx ' | tr '\0' ':' " noerror is out "ssl_plugin_cert-provider:xxx:<merge_yaml_str('mycfg', '', )>:"
try " RELATIONS=( cert-provider xxx mycfgxxx True cert-provider yyy mycfgyyy True ) ssl_get_plugin_fun ' domain: www.example.com ssl: yyy ' | tr '\0' ':' " noerror is out "ssl_plugin_cert-provider:yyy:<merge_yaml_str('mycfgyyy', '', )>:"
try " RELATIONS=( cert-provider xxx mycfgxxx True cert-provider yyy mycfgyyy True ) ssl_get_plugin_fun ' domain: www.example.com ssl: cert: a ' | tr '\0' '|' " noerror is out "ssl_fallback||cert: a|"
try " RELATIONS=( cert-provider xxx mycfgxxx True cert-provider yyy mycfgyyy True ) ssl_get_plugin_fun ' domain: www.example.com ssl: popo: a ' " is errlvl 1 is err part 'no corresponding services declared in cert-provider' is out ''
|