mirror of
https://0xacab.org/liberate/backupninja.git
synced 2024-09-19 15:11:38 +02:00
tests: use runaction and global vars in mysql test
This commit is contained in:
parent
1869192529
commit
a5ab1cbe78
102
test/mysql.bats
102
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"
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user