From 3d8090458c57085d8ad073d7b9f7d10ef7dde69f Mon Sep 17 00:00:00 2001 From: Florian Jacob Date: Tue, 12 Mar 2019 23:53:32 +0100 Subject: [PATCH] nixos/mysql: expand tests to mariadb and ensureUsers / ensureDatabases --- nixos/tests/mysql.nix | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/nixos/tests/mysql.nix b/nixos/tests/mysql.nix index 1a6117793664..fedc7f0ab1f0 100644 --- a/nixos/tests/mysql.nix +++ b/nixos/tests/mysql.nix @@ -5,7 +5,7 @@ import ./make-test.nix ({ pkgs, ...} : { }; nodes = { - master = + mysql = { pkgs, ... }: { @@ -13,12 +13,34 @@ import ./make-test.nix ({ pkgs, ...} : { services.mysql.initialDatabases = [ { name = "testdb"; schema = ./testdb.sql; } ]; services.mysql.package = pkgs.mysql; }; + + mariadb = + { pkgs, ... }: + + { + users.users.testuser = { }; + services.mysql.enable = true; + services.mysql.ensureDatabases = [ "testdb" ]; + services.mysql.ensureUsers = [{ + name = "testuser"; + ensurePermissions = { + "testdb.*" = "ALL PRIVILEGES"; + }; + }]; + services.mysql.package = pkgs.mariadb; + }; + }; testScript = '' startAll; - $master->waitForUnit("mysql"); - $master->succeed("echo 'use testdb; select * from tests' | mysql -u root -N | grep 4"); + $mysql->waitForUnit("mysql"); + $mysql->succeed("echo 'use testdb; select * from tests' | mysql -u root -N | grep 4"); + + $mariadb->waitForUnit("mysql"); + $mariadb->succeed("echo 'use testdb; create table tests (test_id INT, PRIMARY KEY (test_id));' | sudo -u testuser mysql -u testuser"); + $mariadb->succeed("echo 'use testdb; insert into tests values (42);' | sudo -u testuser mysql -u testuser"); + $mariadb->succeed("echo 'use testdb; select test_id from tests' | sudo -u testuser mysql -u testuser -N | grep 42"); ''; })