From a5ab1cbe7853e2fc95379c996ac9ee08ce54c078 Mon Sep 17 00:00:00 2001 From: Jerome Charaoui Date: Tue, 5 Jan 2021 10:38:28 -0500 Subject: [PATCH] tests: use runaction and global vars in mysql test --- test/mysql.bats | 102 +++++++++++++++++++++++++----------------------- 1 file changed, 53 insertions(+), 49 deletions(-) diff --git a/test/mysql.bats b/test/mysql.bats index dd907a0..bda7ee5 100644 --- a/test/mysql.bats +++ b/test/mysql.bats @@ -10,7 +10,7 @@ begin_mysql() { setup_mysql() { cat << EOF > "${BATS_TMPDIR}/backup.d/test.mysql" databases = all -backupdir = /var/backups/mysql +backupdir = ${BN_BACKUPDIR}/mysql hotcopy = no sqldump = yes compress = yes @@ -32,93 +32,97 @@ teardown_mysql() { @test "sqldump: exports all databases, with compression" { setconfig backup.d/test.mysql databases all setconfig backup.d/test.mysql compress yes - run backupninja -f "${BATS_TMPDIR}/backupninja.conf" --now --run "${BATS_TMPDIR}/backup.d/test.mysql" - [ -s /var/backups/mysql/sqldump/bntest_p8Cz8k.sql.gz ] - [ -s /var/backups/mysql/sqldump/bntest_v11vJj.sql.gz ] - [ "$(zgrep -c 'INSERT INTO' /var/backups/mysql/sqldump/bntest_p8Cz8k.sql.gz)" -eq 9 ] - [ "$(zgrep -c 'INSERT INTO' /var/backups/mysql/sqldump/bntest_v11vJj.sql.gz)" -eq 47 ] + runaction test.mysql + [ -s "${BN_BACKUPDIR}/mysql/sqldump/bntest_p8Cz8k.sql.gz" ] + [ -s "${BN_BACKUPDIR}/mysql/sqldump/bntest_v11vJj.sql.gz" ] + [ "$(zgrep -c 'INSERT INTO' ${BN_BACKUPDIR}/mysql/sqldump/bntest_p8Cz8k.sql.gz)" -eq 9 ] + [ "$(zgrep -c 'INSERT INTO' ${BN_BACKUPDIR}/mysql/sqldump/bntest_v11vJj.sql.gz)" -eq 47 ] } @test "sqldump: exports all databases, without compression" { setconfig backup.d/test.mysql databases all setconfig backup.d/test.mysql compress no - run backupninja -f "${BATS_TMPDIR}/backupninja.conf" --now --run "${BATS_TMPDIR}/backup.d/test.mysql" - [ -s /var/backups/mysql/sqldump/bntest_p8Cz8k.sql ] - [ -s /var/backups/mysql/sqldump/bntest_v11vJj.sql ] - [ "$(grep -c 'INSERT INTO' /var/backups/mysql/sqldump/bntest_p8Cz8k.sql)" -eq 9 ] - [ "$(grep -c 'INSERT INTO' /var/backups/mysql/sqldump/bntest_v11vJj.sql)" -eq 47 ] + runaction test.mysql + [ -s "${BN_BACKUPDIR}/mysql/sqldump/bntest_p8Cz8k.sql" ] + [ -s "${BN_BACKUPDIR}/mysql/sqldump/bntest_v11vJj.sql" ] + [ "$(grep -c 'INSERT INTO' ${BN_BACKUPDIR}/mysql/sqldump/bntest_p8Cz8k.sql)" -eq 9 ] + [ "$(grep -c 'INSERT INTO' ${BN_BACKUPDIR}/mysql/sqldump/bntest_v11vJj.sql)" -eq 47 ] } @test "sqldump: exports specific database" { setconfig backup.d/test.mysql databases bntest_v11vJj - run backupninja -f "${BATS_TMPDIR}/backupninja.conf" --now --run "${BATS_TMPDIR}/backup.d/test.mysql" - [ ! -f /var/backups/mysql/sqldump/bntest_p8Cz8k.sql.gz ] - [ -s /var/backups/mysql/sqldump/bntest_v11vJj.sql.gz ] - [ "$(zgrep -c 'INSERT INTO' /var/backups/mysql/sqldump/bntest_v11vJj.sql.gz)" -eq 47 ] + runaction test.mysql + [ ! -f ${BN_BACKUPDIR}/mysql/sqldump/bntest_p8Cz8k.sql.gz ] + [ -s "${BN_BACKUPDIR}/mysql/sqldump/bntest_v11vJj.sql.gz" ] + [ "$(zgrep -c 'INSERT INTO' ${BN_BACKUPDIR}/mysql/sqldump/bntest_v11vJj.sql.gz)" -eq 47 ] } @test "ignores: exports all databases while excluding two tables entirely" { setconfig backup.d/test.mysql databases all setconfig backup.d/test.mysql ignores "bntest_v11vJj.cache_data bntest_v11vJj.cache_entity" - run backupninja -f "${BATS_TMPDIR}/backupninja.conf" --now --run "${BATS_TMPDIR}/backup.d/test.mysql" - [ -s /var/backups/mysql/sqldump/bntest_p8Cz8k.sql.gz ] - [ "$(zgrep -c 'INSERT INTO' /var/backups/mysql/sqldump/bntest_p8Cz8k.sql.gz)" -eq 9 ] - [ -s /var/backups/mysql/sqldump/bntest_v11vJj.sql.gz ] - [ "$(zgrep -c 'CREATE TABLE `cache_data`' /var/backups/mysql/sqldump/bntest_v11vJj.sql.gz)" -eq 0 ] - [ "$(zgrep -c 'CREATE TABLE `cache_entity`' /var/backups/mysql/sqldump/bntest_v11vJj.sql.gz)" -eq 0 ] - [ "$(zgrep -c 'CREATE TABLE' /var/backups/mysql/sqldump/bntest_v11vJj.sql.gz)" -eq 66 ] + runaction test.mysql + [ -s "${BN_BACKUPDIR}/mysql/sqldump/bntest_p8Cz8k.sql.gz" ] + [ "$(zgrep -c 'INSERT INTO' ${BN_BACKUPDIR}/mysql/sqldump/bntest_p8Cz8k.sql.gz)" -eq 9 ] + [ -s "${BN_BACKUPDIR}/mysql/sqldump/bntest_v11vJj.sql.gz" ] + [ "$(zgrep -c 'CREATE TABLE `cache_data`' ${BN_BACKUPDIR}/mysql/sqldump/bntest_v11vJj.sql.gz)" -eq 0 ] + [ "$(zgrep -c 'CREATE TABLE `cache_entity`' ${BN_BACKUPDIR}/mysql/sqldump/bntest_v11vJj.sql.gz)" -eq 0 ] + [ "$(zgrep -c 'CREATE TABLE' ${BN_BACKUPDIR}/mysql/sqldump/bntest_v11vJj.sql.gz)" -eq 66 ] } @test "nodata: exports all databases while excluding data from one table, with compression" { setconfig backup.d/test.mysql databases all setconfig backup.d/test.mysql compress yes setconfig backup.d/test.mysql nodata bntest_v11vJj.cache_data - run backupninja -f "${BATS_TMPDIR}/backupninja.conf" --now --run "${BATS_TMPDIR}/backup.d/test.mysql" - [ -s /var/backups/mysql/sqldump/bntest_p8Cz8k.sql.gz ] - [ "$(zgrep -c 'INSERT INTO' /var/backups/mysql/sqldump/bntest_p8Cz8k.sql.gz)" -eq 9 ] - [ -s /var/backups/mysql/sqldump/bntest_v11vJj.sql.gz ] - [ "$(zgrep -c 'INSERT INTO `cache_data`' /var/backups/mysql/sqldump/bntest_v11vJj.sql.gz)" -eq 0 ] - [ "$(zgrep -c 'CREATE TABLE' /var/backups/mysql/sqldump/bntest_v11vJj.sql.gz)" -eq 68 ] + runaction test.mysql + [ -s "${BN_BACKUPDIR}/mysql/sqldump/bntest_p8Cz8k.sql.gz" ] + [ "$(zgrep -c 'INSERT INTO' ${BN_BACKUPDIR}/mysql/sqldump/bntest_p8Cz8k.sql.gz)" -eq 9 ] + [ -s "${BN_BACKUPDIR}/mysql/sqldump/bntest_v11vJj.sql.gz" ] + [ "$(zgrep -c 'INSERT INTO `cache_data`' ${BN_BACKUPDIR}/mysql/sqldump/bntest_v11vJj.sql.gz)" -eq 0 ] + [ "$(zgrep -c 'CREATE TABLE' ${BN_BACKUPDIR}/mysql/sqldump/bntest_v11vJj.sql.gz)" -eq 68 ] } @test "nodata: exports all databases while excluding data from one table, without compression" { setconfig backup.d/test.mysql databases all setconfig backup.d/test.mysql compress no setconfig backup.d/test.mysql nodata bntest_v11vJj.cache_data - run backupninja -f "${BATS_TMPDIR}/backupninja.conf" --now --run "${BATS_TMPDIR}/backup.d/test.mysql" - [ -s /var/backups/mysql/sqldump/bntest_p8Cz8k.sql ] - [ "$(grep -c 'INSERT INTO' /var/backups/mysql/sqldump/bntest_p8Cz8k.sql)" -eq 9 ] - [ -s /var/backups/mysql/sqldump/bntest_v11vJj.sql ] - [ "$(grep -c 'INSERT INTO `cache_data`' /var/backups/mysql/sqldump/bntest_v11vJj.sql)" -eq 0 ] - [ "$(grep -c 'CREATE TABLE' /var/backups/mysql/sqldump/bntest_v11vJj.sql)" -eq 68 ] + runaction test.mysql + [ -s "${BN_BACKUPDIR}/mysql/sqldump/bntest_p8Cz8k.sql" ] + [ "$(grep -c 'INSERT INTO' ${BN_BACKUPDIR}/mysql/sqldump/bntest_p8Cz8k.sql)" -eq 9 ] + [ -s "${BN_BACKUPDIR}/mysql/sqldump/bntest_v11vJj.sql" ] + [ "$(grep -c 'INSERT INTO `cache_data`' ${BN_BACKUPDIR}/mysql/sqldump/bntest_v11vJj.sql)" -eq 0 ] + [ "$(grep -c 'CREATE TABLE' ${BN_BACKUPDIR}/mysql/sqldump/bntest_v11vJj.sql)" -eq 68 ] } @test "nodata: exports all databases while excluding data from two tables, with compression" { setconfig backup.d/test.mysql databases all setconfig backup.d/test.mysql compress yes setconfig backup.d/test.mysql nodata "bntest_v11vJj.cache_data bntest_v11vJj.cache_entity" - run backupninja -f "${BATS_TMPDIR}/backupninja.conf" --now --run "${BATS_TMPDIR}/backup.d/test.mysql" - [ -s /var/backups/mysql/sqldump/bntest_p8Cz8k.sql.gz ] - [ "$(zgrep -c 'INSERT INTO' /var/backups/mysql/sqldump/bntest_p8Cz8k.sql.gz)" -eq 9 ] - [ -s /var/backups/mysql/sqldump/bntest_v11vJj.sql.gz ] - [ "$(zgrep -c 'INSERT INTO `cache_data`' /var/backups/mysql/sqldump/bntest_v11vJj.sql.gz)" -eq 0 ] - [ "$(zgrep -c 'INSERT INTO `cache_entity`' /var/backups/mysql/sqldump/bntest_v11vJj.sql.gz)" -eq 0 ] - [ "$(zgrep -c 'CREATE TABLE' /var/backups/mysql/sqldump/bntest_v11vJj.sql.gz)" -eq 68 ] + runaction test.mysql + [ -s "${BN_BACKUPDIR}/mysql/sqldump/bntest_p8Cz8k.sql.gz" ] + [ "$(zgrep -c 'INSERT INTO' ${BN_BACKUPDIR}/mysql/sqldump/bntest_p8Cz8k.sql.gz)" -eq 9 ] + [ -s "${BN_BACKUPDIR}/mysql/sqldump/bntest_v11vJj.sql.gz" ] + [ "$(zgrep -c 'INSERT INTO `cache_data`' ${BN_BACKUPDIR}/mysql/sqldump/bntest_v11vJj.sql.gz)" -eq 0 ] + [ "$(zgrep -c 'INSERT INTO `cache_entity`' ${BN_BACKUPDIR}/mysql/sqldump/bntest_v11vJj.sql.gz)" -eq 0 ] + [ "$(zgrep -c 'CREATE TABLE' ${BN_BACKUPDIR}/mysql/sqldump/bntest_v11vJj.sql.gz)" -eq 68 ] } @test "nodata: exports all databases while excluding data from two tables, without compression" { setconfig backup.d/test.mysql databases all setconfig backup.d/test.mysql compress no setconfig backup.d/test.mysql nodata "bntest_v11vJj.cache_data bntest_v11vJj.cache_entity" - run backupninja -f "${BATS_TMPDIR}/backupninja.conf" --now --run "${BATS_TMPDIR}/backup.d/test.mysql" - [ -s /var/backups/mysql/sqldump/bntest_p8Cz8k.sql ] - [ "$(grep -c 'INSERT INTO' /var/backups/mysql/sqldump/bntest_p8Cz8k.sql)" -eq 9 ] - [ -s /var/backups/mysql/sqldump/bntest_v11vJj.sql ] - [ "$(grep -c 'INSERT INTO `cache_data`' /var/backups/mysql/sqldump/bntest_v11vJj.sql)" -eq 0 ] - [ "$(grep -c 'INSERT INTO `cache_entity`' /var/backups/mysql/sqldump/bntest_v11vJj.sql)" -eq 0 ] - [ "$(grep -c 'CREATE TABLE' /var/backups/mysql/sqldump/bntest_v11vJj.sql)" -eq 68 ] + runaction test.mysql + [ -s "${BN_BACKUPDIR}/mysql/sqldump/bntest_p8Cz8k.sql" ] + [ "$(grep -c 'INSERT INTO' ${BN_BACKUPDIR}/mysql/sqldump/bntest_p8Cz8k.sql)" -eq 9 ] + [ -s "${BN_BACKUPDIR}/mysql/sqldump/bntest_v11vJj.sql" ] + [ "$(grep -c 'INSERT INTO `cache_data`' ${BN_BACKUPDIR}/mysql/sqldump/bntest_v11vJj.sql)" -eq 0 ] + [ "$(grep -c 'INSERT INTO `cache_entity`' ${BN_BACKUPDIR}/mysql/sqldump/bntest_v11vJj.sql)" -eq 0 ] + [ "$(grep -c 'CREATE TABLE' ${BN_BACKUPDIR}/mysql/sqldump/bntest_v11vJj.sql)" -eq 68 ] } @test "hotcopy: exports all databases" { - skip "not implemented, method is deprecated upstream" + skip "not implemented, requires MyISAM tables, method is deprecated upstream" +} + +@test "hotcopy: exports specific databases" { + skip "not implemented, requires MyISAM tables, method is deprecated upstream" }