summary refs log tree commit diff
path: root/nixos/tests/mysql/mysql-autobackup.nix
diff options
context:
space:
mode:
authorIzorkin <izorkin@elven.pw>2020-04-02 23:40:55 +0300
committerIzorkin <izorkin@elven.pw>2020-05-06 16:42:29 +0300
commit8af9c97c0d6ee8e5f5fe3e61479ebc56c5ffb761 (patch)
tree35e78ec799a3852fe93be0da13439b47577f43a2 /nixos/tests/mysql/mysql-autobackup.nix
parent5487e155d7888c9cb5d777acbb600b11c16c4bf1 (diff)
downloadnixpkgs-8af9c97c0d6ee8e5f5fe3e61479ebc56c5ffb761.tar
nixpkgs-8af9c97c0d6ee8e5f5fe3e61479ebc56c5ffb761.tar.gz
nixpkgs-8af9c97c0d6ee8e5f5fe3e61479ebc56c5ffb761.tar.bz2
nixpkgs-8af9c97c0d6ee8e5f5fe3e61479ebc56c5ffb761.tar.lz
nixpkgs-8af9c97c0d6ee8e5f5fe3e61479ebc56c5ffb761.tar.xz
nixpkgs-8af9c97c0d6ee8e5f5fe3e61479ebc56c5ffb761.tar.zst
nixpkgs-8af9c97c0d6ee8e5f5fe3e61479ebc56c5ffb761.zip
nixos/tests: move mysql tests to subfolder
Diffstat (limited to 'nixos/tests/mysql/mysql-autobackup.nix')
-rw-r--r--nixos/tests/mysql/mysql-autobackup.nix38
1 files changed, 38 insertions, 0 deletions
diff --git a/nixos/tests/mysql/mysql-autobackup.nix b/nixos/tests/mysql/mysql-autobackup.nix
new file mode 100644
index 00000000000..65576e52a53
--- /dev/null
+++ b/nixos/tests/mysql/mysql-autobackup.nix
@@ -0,0 +1,38 @@
+import ./../make-test-python.nix ({ pkgs, lib, ... }:
+
+{
+  name = "automysqlbackup";
+  meta.maintainers = [ lib.maintainers.aanderse ];
+
+  machine =
+    { pkgs, ... }:
+    {
+      services.mysql.enable = true;
+      services.mysql.package = pkgs.mysql;
+      services.mysql.initialDatabases = [ { name = "testdb"; schema = ./testdb.sql; } ];
+
+      services.automysqlbackup.enable = true;
+    };
+
+  testScript = ''
+    start_all()
+
+    # Need to have mysql started so that it can be populated with data.
+    machine.wait_for_unit("mysql.service")
+
+    with subtest("Wait for testdb to be fully populated (5 rows)."):
+        machine.wait_until_succeeds(
+            "mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5"
+        )
+
+    with subtest("Do a backup and wait for it to start"):
+        machine.start_job("automysqlbackup.service")
+        machine.wait_for_job("automysqlbackup.service")
+
+    with subtest("wait for backup file and check that data appears in backup"):
+        machine.wait_for_file("/var/backup/mysql/daily/testdb")
+        machine.succeed(
+            "${pkgs.gzip}/bin/zcat /var/backup/mysql/daily/testdb/daily_testdb_*.sql.gz | grep hello"
+        )
+    '';
+})