mirror of
https://github.com/certbot/certbot.git
synced 2026-06-04 06:15:36 -04:00
* Setup an integration tests env against Pebble, that enforce post-as-get * Implement POST-as-GET requests, with fallback to GET. * Fix unit tests * Fix coverage. * Fix or ignore lint errors * Corrections after review * Correct test * Try a simple delegate approach * Add a test * Simplify test mocking * Clean comment
41 lines
1 KiB
Bash
Executable file
41 lines
1 KiB
Bash
Executable file
#!/bin/bash
|
|
# Download and run Pebble instance for integration testing
|
|
set -xe
|
|
|
|
PEBBLE_VERSION=2018-11-02
|
|
|
|
# We reuse the same GOPATH-style directory than for Boulder.
|
|
# Pebble does not need it, but it will make the installation consistent with Boulder's one.
|
|
export GOPATH=${GOPATH:-$HOME/gopath}
|
|
PEBBLEPATH=${PEBBLEPATH:-$GOPATH/src/github.com/letsencrypt/pebble}
|
|
|
|
mkdir -p ${PEBBLEPATH}
|
|
|
|
cat << UNLIKELY_EOF > "$PEBBLEPATH/docker-compose.yml"
|
|
version: '3'
|
|
|
|
services:
|
|
pebble:
|
|
image: letsencrypt/pebble:${PEBBLE_VERSION}
|
|
command: pebble -strict ${PEBBLE_STRICT:-false} -dnsserver 10.77.77.1
|
|
ports:
|
|
- 14000:14000
|
|
environment:
|
|
- PEBBLE_VA_NOSLEEP=1
|
|
UNLIKELY_EOF
|
|
|
|
docker-compose -f "$PEBBLEPATH/docker-compose.yml" up -d pebble
|
|
|
|
set +x # reduce verbosity while waiting for boulder
|
|
for n in `seq 1 150` ; do
|
|
if curl -k https://localhost:14000/dir 2>/dev/null; then
|
|
break
|
|
else
|
|
sleep 1
|
|
fi
|
|
done
|
|
|
|
if ! curl -k https://localhost:14000/dir 2>/dev/null; then
|
|
echo "timed out waiting for pebble to start"
|
|
exit 1
|
|
fi
|