Add more integration tests
Add tests for main, app, accessory, traefik and lock commands. Other commands are generally covered by the main tests. Also adds some changes to speed up the integration specs: - Use a persistent volume for the registry so we can push images to to reuse between runs (also gets around docker hub rate limits) - Use persistent volume for mrsk gem install, to avoid re-installing between tests - Shorter stop wait time - Shorter connection timeouts on the load balancer Takes just over 2 minutes to run all tests locally on an M1 Mac after docker caches are primed.
This commit is contained in:
23
test/integration/docker/deployer/setup.sh
Executable file
23
test/integration/docker/deployer/setup.sh
Executable file
@@ -0,0 +1,23 @@
|
||||
#!/bin/bash
|
||||
|
||||
install_mrsk() {
|
||||
cd /mrsk && gem build mrsk.gemspec -o /tmp/mrsk.gem && gem install /tmp/mrsk.gem
|
||||
}
|
||||
|
||||
# Push the images to a persistent volume on the registry container
|
||||
# This is to work around docker hub rate limits
|
||||
push_image_to_registry_4443() {
|
||||
# Check if the image is in the registry without having to pull it
|
||||
if ! stat /registry/docker/registry/v2/repositories/$1/_manifests/tags/$2/current/link > /dev/null; then
|
||||
hub_tag=$1:$2
|
||||
registry_4443_tag=registry:4443/$1:$2
|
||||
docker pull $hub_tag
|
||||
docker tag $hub_tag $registry_4443_tag
|
||||
docker push $registry_4443_tag
|
||||
fi
|
||||
}
|
||||
|
||||
install_mrsk
|
||||
push_image_to_registry_4443 nginx 1-alpine-slim
|
||||
push_image_to_registry_4443 traefik v2.9
|
||||
push_image_to_registry_4443 busybox 1.36.0
|
||||
Reference in New Issue
Block a user