github.com/drud/ddev@v1.21.5-alpha1.0.20230226034409-94fcc4b94453/containers/ddev-dbserver/test/image_general.bats (about) 1 #!/usr/bin/env bats 2 3 # Run these tests from the repo root directory 4 5 load functions.sh 6 7 function setup { 8 basic_setup 9 10 echo "# Starting container using: docker run --rm -u "$MOUNTUID:$MOUNTGID" --rm -v $VOLUME:/var/lib/mysql --mount "type=bind,src=$PWD/test/testdata,target=/mnt/ddev_config" --name=$CONTAINER_NAME -p $HOSTPORT:3306 -d $IMAGE" >&3 11 docker run --rm -u "$MOUNTUID:$MOUNTGID" --rm -v $VOLUME:/var/lib/mysql --mount "type=bind,src=$PWD/test/testdata,target=/mnt/ddev_config" --name=$CONTAINER_NAME -p $HOSTPORT:3306 -d $IMAGE 12 containercheck 13 } 14 15 @test "verify apt keys are not expiring" { 16 DDEV_MAX_DAYS_BEFORE_CERT_EXPIRATION=${DDEV_MAX_DAYS_BEFORE_CERT_EXPIRATION:-90} 17 if [ "${DDEV_IGNORE_EXPIRING_KEYS:-}" = "true" ]; then 18 skip "Skipping because DDEV_IGNORE_EXPIRING_KEYS is set" 19 fi 20 echo "# DDEV_MAX_DAYS_BEFORE_CERT_EXPIRATION='${DDEV_MAX_DAYS_BEFORE_CERT_EXPIRATION}' DDEV_IGNORE_EXPIRING_KEYS='${DDEV_IGNORE_EXPIRING_KEYS}'" >&3 21 docker exec -e "max=${DDEV_MAX_DAYS_BEFORE_CERT_EXPIRATION}" ${CONTAINER_NAME} bash -c ' 22 dates=$(apt-key list 2>/dev/null | awk "/\[expires/ { gsub(/[\[\]]/, \"\"); print \$6;}") 23 for item in ${dates}; do 24 today=$(date -I) 25 let diff=($(date +%s -d ${item})-$(date +%s -d ${today}))/86400 26 if [ ${diff} -le ${max} ]; then 27 exit 1 28 fi 29 done 30 ' 31 } 32 33 @test "verify xtrabackup version equal to mysql-server version" { 34 if [ "${DB_TYPE:-}" != "mysql" ] && [ ${DB_VERSION} != "8.0" ]; then 35 skip "Skipping because not mysql 8.0, so need for the test" 36 fi 37 mysql_version=$(docker exec ${CONTAINER_NAME} bash -c "mysqld --version | awk {'print $3'}") 38 xtrabackup_version=$(docker exec ${CONTAINER_NAME} bash -c "xtrabackup --version 2>&1 | awk '/xtrabackup version/ {print $3}'") 39 [ "${mysql_version}" != "" ] 40 [ "${xtrabackup_version}" \> "${mysql_version}" ] 41 }