Moved v3 code from NginxProxyManager/nginx-proxy-manager-3 to NginxProxyManager/nginx-proxy-manager
This commit is contained in:
105
scripts/ci/fulltest-cypress
Executable file
105
scripts/ci/fulltest-cypress
Executable file
@ -0,0 +1,105 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
# remember this is running in "ci" folder..
|
||||
|
||||
# Colors
|
||||
BLUE='\E[1;34m'
|
||||
CYAN='\E[1;36m'
|
||||
GREEN='\E[1;32m'
|
||||
RESET='\E[0m'
|
||||
YELLOW='\E[1;33m'
|
||||
|
||||
export BLUE CYAN GREEN RESET YELLOW
|
||||
|
||||
echo -e "${BLUE}❯ ${CYAN}Starting fullstack cypress testing ...${RESET}"
|
||||
|
||||
NETWORK_NAME="${COMPOSE_PROJECT_NAME}_default"
|
||||
|
||||
# $1: container_name
|
||||
get_container_ip () {
|
||||
local container_name=$1
|
||||
local container
|
||||
local ip
|
||||
container=$(docker-compose ps -q "${container_name}" | tail -n1)
|
||||
ip=$(docker inspect -f "{{.NetworkSettings.Networks.${NETWORK_NAME}.IPAddress}}" "$container")
|
||||
echo "$ip"
|
||||
}
|
||||
|
||||
# $1: container_name
|
||||
get_container_aliases () {
|
||||
local container_name=$1
|
||||
local container
|
||||
local ip
|
||||
container=$(docker-compose ps -q "${container_name}" | tail -n1)
|
||||
ip=$(docker inspect -f "{{.NetworkSettings.Networks.${NETWORK_NAME}.Aliases}}" "$container")
|
||||
echo "$ip"
|
||||
}
|
||||
|
||||
# Bring up a stack, in steps so we can inject IPs everywhere
|
||||
docker-compose up -d pdns pdns-db
|
||||
PDNS_IP=$(get_container_ip "pdns")
|
||||
echo -e "${BLUE}❯ ${YELLOW}PDNS IP is ${PDNS_IP}${RESET}"
|
||||
|
||||
# adjust the dnsrouter config
|
||||
LOCAL_DNSROUTER_CONFIG="$DIR/../../docker/dev/dnsrouter-config.json"
|
||||
rm -rf "$LOCAL_DNSROUTER_CONFIG.tmp"
|
||||
# IMPORTANT: changes to dnsrouter-config.json will affect this line:
|
||||
jq --arg a "$PDNS_IP" '.servers[0].upstreams[1].upstream = $a' "$LOCAL_DNSROUTER_CONFIG" > "$LOCAL_DNSROUTER_CONFIG.tmp"
|
||||
|
||||
docker-compose up -d dnsrouter
|
||||
DNSROUTER_IP=$(get_container_ip "dnsrouter")
|
||||
echo -e "${BLUE}❯ ${YELLOW}DNS Router IP is ${DNSROUTER_IP}"
|
||||
|
||||
# mount the resolver
|
||||
LOCAL_RESOLVE="$DIR/../../docker/dev/resolv.conf"
|
||||
rm -rf "${LOCAL_RESOLVE}"
|
||||
printf "nameserver %s\noptions ndots:0" "${DNSROUTER_IP}" > "${LOCAL_RESOLVE}"
|
||||
|
||||
# bring up all remaining containers, except cypress!
|
||||
docker-compose up -d --remove-orphans fullstack stepca
|
||||
|
||||
# wait for main container to be healthy
|
||||
bash "$DIR/../wait-healthy" "$(docker-compose ps -q fullstack)" 120
|
||||
|
||||
# Run tests
|
||||
rm -rf "$DIR/../../test/results"
|
||||
docker-compose up cypress
|
||||
|
||||
# Get results
|
||||
docker cp -L "$(docker-compose ps -q cypress):/test/results" "$DIR/../../test/"
|
||||
docker cp -L "$(docker-compose ps -q fullstack):/data/logs" "$DIR/../../test/results/"
|
||||
|
||||
echo -e "${BLUE}❯ ${GREEN}Fullstack cypress testing complete${RESET}"
|
||||
|
||||
# ----------------- Debug Report ----------------------
|
||||
# echo ip address of every docker container in stack
|
||||
# echo the hostnames and aliases of them
|
||||
# dns lookups from main container
|
||||
echo -e "${BLUE}============================================${RESET}"
|
||||
|
||||
FULLSTACK_IP=$(get_container_ip "fullstack")
|
||||
FULLSTACK_ALIASES=$(get_container_aliases "fullstack")
|
||||
echo -e "${YELLOW}fullstack IP: ${GREEN}${FULLSTACK_IP}${RESET}"
|
||||
echo -e "${YELLOW}fullstack Aliases: ${CYAN}${FULLSTACK_ALIASES}${RESET}"
|
||||
|
||||
STEPCA_IP=$(get_container_ip "stepca")
|
||||
STEPCA_ALIASES=$(get_container_aliases "stepca")
|
||||
echo -e "${YELLOW}stepca IP: ${GREEN}${STEPCA_IP}${RESET}"
|
||||
echo -e "${YELLOW}stepca Aliases: ${CYAN}${STEPCA_ALIASES}${RESET}"
|
||||
|
||||
PDNS_IP=$(get_container_ip "pdns")
|
||||
STEPCA_ALIASES=$(get_container_aliases "stepca")
|
||||
echo -e "${YELLOW}pdns IP: ${GREEN}${PDNS_IP}${RESET}"
|
||||
echo -e "${YELLOW}pdns Aliases: ${CYAN}${PDNS_ALIASES}${RESET}"
|
||||
|
||||
PDNSDB_IP=$(get_container_ip "pdns-db")
|
||||
PDNSDB_ALIASES=$(get_container_aliases "pdns-db")
|
||||
echo -e "${YELLOW}pdns-db IP: ${GREEN}${PDNSDB_IP}${RESET}"
|
||||
echo -e "${YELLOW}pdns-db Aliases: ${CYAN}${PDNSDB_ALIASES}${RESET}"
|
||||
|
||||
DNSROUTER_IP=$(get_container_ip "dnsrouter")
|
||||
DNSROUTER_ALIASES=$(get_container_aliases "dnsrouter")
|
||||
echo -e "${YELLOW}dnsrouter IP: ${GREEN}${DNSROUTER_IP}${RESET}"
|
||||
echo -e "${YELLOW}dnsrouter Aliases: ${CYAN}${DNSROUTER_ALIASES}${RESET}"
|
Reference in New Issue
Block a user