Skip to content

Commit

Permalink
#17 pass MYSQL_ENV_MYSQL_HOST to the backup script; use "mysql" as de…
Browse files Browse the repository at this point in the history
…fault
  • Loading branch information
angelo-v committed Jul 16, 2018
1 parent 3fc2d4a commit 7298baa
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 2 deletions.
1 change: 1 addition & 0 deletions src/Dockerfile
Expand Up @@ -8,6 +8,7 @@ RUN apt-get update && \
rm -rf /var/lib/apt/lists/* && \
mkdir /backups

ENV MYSQL_ENV_MYSQL_HOST mysql
ENV BACKUP_TIME 0 3 * * *

COPY docker-entrypoint.sh /entrypoint.sh
Expand Down
1 change: 1 addition & 0 deletions src/docker-entrypoint.sh
Expand Up @@ -5,6 +5,7 @@ then
echo "Creating cron entry to start backup at: $BACKUP_TIME"
# Note: Must use tabs with indented 'here' scripts.
cat <<-EOF >> backup-cron
MYSQL_ENV_MYSQL_HOST=$MYSQL_ENV_MYSQL_HOST
MYSQL_ENV_MYSQL_USER=$MYSQL_ENV_MYSQL_USER
MYSQL_ENV_MYSQL_DATABASE=$MYSQL_ENV_MYSQL_DATABASE
MYSQL_ENV_MYSQL_PASSWORD=$MYSQL_ENV_MYSQL_PASSWORD
Expand Down
5 changes: 4 additions & 1 deletion test/customized_container_test.py
Expand Up @@ -10,6 +10,7 @@ def container(client, image):
name="test_container",
detach=True,
environment=[
'MYSQL_ENV_MYSQL_HOST=mariadb',
'MYSQL_ENV_MYSQL_USER=test_user',
'MYSQL_ENV_MYSQL_DATABASE=test_db',
'MYSQL_ENV_MYSQL_PASSWORD=test_password',
Expand All @@ -22,14 +23,16 @@ def container(client, image):

def test_environment(host):
env = host.check_output("env")
assert "MYSQL_ENV_MYSQL_HOST=mariadb" in env
assert "MYSQL_ENV_MYSQL_USER=test_user" in env
assert "MYSQL_ENV_MYSQL_DATABASE=test_db" in env
assert "MYSQL_ENV_MYSQL_PASSWORD=test_password" in env
assert "BACKUP_TIME=1 2 3 4 5" in env
assert "CLEANUP_OLDER_THAN=100" in env

def test_crontab(host):
assert host.check_output("crontab -l") == """MYSQL_ENV_MYSQL_USER=test_user
assert host.check_output("crontab -l") == """MYSQL_ENV_MYSQL_HOST=mariadb
MYSQL_ENV_MYSQL_USER=test_user
MYSQL_ENV_MYSQL_DATABASE=test_db
MYSQL_ENV_MYSQL_PASSWORD=test_password
CLEANUP_OLDER_THAN=100
Expand Down
4 changes: 3 additions & 1 deletion test/minimal_settings_test.py
Expand Up @@ -20,13 +20,15 @@ def container(client, image):

def test_environment(host):
env = host.check_output("env")
assert "MYSQL_ENV_MYSQL_HOST=mysql" in env
assert "MYSQL_ENV_MYSQL_USER=test_user" in env
assert "MYSQL_ENV_MYSQL_DATABASE=test_db" in env
assert "MYSQL_ENV_MYSQL_PASSWORD=test_password" in env
assert "BACKUP_TIME=0 3 * * *" in env

def test_crontab(host):
assert host.check_output("crontab -l") == """MYSQL_ENV_MYSQL_USER=test_user
assert host.check_output("crontab -l") == """MYSQL_ENV_MYSQL_HOST=mysql
MYSQL_ENV_MYSQL_USER=test_user
MYSQL_ENV_MYSQL_DATABASE=test_db
MYSQL_ENV_MYSQL_PASSWORD=test_password
0 3 * * * backup > /backup.log"""

0 comments on commit 7298baa

Please sign in to comment.