|
| 1 | +#!/usr/bin/env bats |
| 2 | + |
| 3 | +CONTAINER_NAME=redis |
| 4 | +IMAGE_NAME=bitnami/redis |
| 5 | +SLEEP_TIME=3 |
| 6 | +VOL_PREFIX=/bitnami/$CONTAINER_NAME |
| 7 | +HOST_VOL_PREFIX=/tmp/bitnami/$CONTAINER_NAME |
| 8 | +REDIS_PASSWORD=test_password123 |
| 9 | + |
| 10 | +# Check config override from host |
| 11 | +setup() { |
| 12 | + mkdir -p $HOST_VOL_PREFIX |
| 13 | +} |
| 14 | + |
| 15 | +teardown() { |
| 16 | + if [ "$(docker ps -a | grep $CONTAINER_NAME)" ]; then |
| 17 | + docker rm -fv $CONTAINER_NAME |
| 18 | + fi |
| 19 | +} |
| 20 | + |
| 21 | +create_container(){ |
| 22 | + docker run -itd --name $CONTAINER_NAME $IMAGE_NAME |
| 23 | + sleep $SLEEP_TIME |
| 24 | +} |
| 25 | + |
| 26 | + |
| 27 | +@test "Auth if no password provided" { |
| 28 | + create_container |
| 29 | + run docker exec -it $CONTAINER_NAME redis-cli ping |
| 30 | + [[ "$output" =~ "PONG" ]] |
| 31 | +} |
| 32 | + |
| 33 | +@test "Auth if password provided" { |
| 34 | + docker run -itd --name $CONTAINER_NAME\ |
| 35 | + -e REDIS_PASSWORD=$REDIS_PASSWORD $IMAGE_NAME |
| 36 | + # Longs sleep because of bnconfig password update |
| 37 | + sleep 10 |
| 38 | + # Can't connect without passw |
| 39 | + run docker exec -it $CONTAINER_NAME redis-cli ping |
| 40 | + [[ "$output" =~ "NOAUTH Authentication required" ]] |
| 41 | + run docker exec -it $CONTAINER_NAME redis-cli -a $REDIS_PASSWORD ping |
| 42 | + [[ "$output" =~ "PONG" ]] |
| 43 | +} |
| 44 | + |
| 45 | +@test "All the volumes exposed" { |
| 46 | + create_container |
| 47 | + docker inspect $CONTAINER_NAME | { |
| 48 | + run grep "\"Volumes\":" -A 3 |
| 49 | + [[ "$output" =~ "$VOL_PREFIX/logs" ]] |
| 50 | + [[ "$output" =~ "$VOL_PREFIX/conf" ]] |
| 51 | + [[ "$output" =~ "$VOL_PREFIX/data" ]] |
| 52 | + } |
| 53 | +} |
| 54 | + |
0 commit comments