#!/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 export state_tmpdir=$(mktemp -d -t tmp.XXXXXXXXXX) trap "rm -rf \"$state_tmpdir\"" EXIT ## ## Tests ## try " __vhost_cfg_normalize_protocol ' protocol: both '" noerror is out ',http,https,' try " __vhost_cfg_normalize_protocol ' protocol: http '" noerror is out ',http,' try " __vhost_cfg_normalize_protocol ' protocol: https '" noerror is out ',https,' try " __vhost_cfg_normalize_protocol ' protocol: ssl '" noerror is out ',https,' ## ## auto ## try " __vhost_cfg_normalize_protocol ' protocol: auto '" noerror is out ',http,' try " __vhost_cfg_normalize_protocol ' '" noerror is out ',http,' try " __vhost_cfg_normalize_protocol ' ssl: false '" noerror is out ',http,' try " __vhost_cfg_normalize_protocol ' ssl: null '" noerror is out ',http,' try " __vhost_cfg_normalize_protocol ' ssl: true '" noerror is out ',http,https,' ## This case is special, we have values, but we don't know ## how if there are any plugin that can use it. For this ## function's responsibility, we are wanting 'ssl'. try " __vhost_cfg_normalize_protocol ' ssl: xxx '" noerror is out ',http,https,' try " RELATIONS=(cert-provider foo a True) __vhost_cfg_normalize_protocol ' '" "no ssl, but with cert-provider" noerror is out ',http,https,' try " RELATIONS=(cert-provider foo a True) __vhost_cfg_normalize_protocol ' ssl: false '" "with explicit ssl disable, but with cert-provider" noerror is out ',http,'