lol

nixosTests.firefly-iii: migrate to runTest

Part of #386873

+105 -107
+1 -1
nixos/tests/all-tests.nix
··· 398 398 fider = runTest ./fider.nix; 399 399 filesender = handleTest ./filesender.nix {}; 400 400 filesystems-overlayfs = runTest ./filesystems-overlayfs.nix; 401 - firefly-iii = handleTest ./firefly-iii.nix {}; 401 + firefly-iii = runTest ./firefly-iii.nix; 402 402 firefly-iii-data-importer = handleTest ./firefly-iii-data-importer.nix {}; 403 403 firefox = runTest { 404 404 imports = [./firefox.nix ];
+104 -106
nixos/tests/firefly-iii.nix
··· 1 - import ./make-test-python.nix ( 2 - { lib, ... }: 1 + { lib, ... }: 3 2 4 - let 5 - db-pass = "Test2Test2"; 6 - app-key = "TestTestTestTestTestTestTestTest"; 7 - in 8 - { 9 - name = "firefly-iii"; 10 - meta.maintainers = [ lib.maintainers.savyajha ]; 3 + let 4 + db-pass = "Test2Test2"; 5 + app-key = "TestTestTestTestTestTestTestTest"; 6 + in 7 + { 8 + name = "firefly-iii"; 9 + meta.maintainers = [ lib.maintainers.savyajha ]; 11 10 12 - nodes.fireflySqlite = 13 - { config, ... }: 14 - { 15 - environment.etc = { 16 - "firefly-iii-appkey".text = app-key; 17 - }; 18 - services.firefly-iii = { 19 - enable = true; 20 - enableNginx = true; 21 - settings = { 22 - APP_KEY_FILE = "/etc/firefly-iii-appkey"; 23 - LOG_CHANNEL = "stdout"; 24 - SITE_OWNER = "mail@example.com"; 25 - }; 11 + nodes.fireflySqlite = 12 + { config, ... }: 13 + { 14 + environment.etc = { 15 + "firefly-iii-appkey".text = app-key; 16 + }; 17 + services.firefly-iii = { 18 + enable = true; 19 + enableNginx = true; 20 + settings = { 21 + APP_KEY_FILE = "/etc/firefly-iii-appkey"; 22 + LOG_CHANNEL = "stdout"; 23 + SITE_OWNER = "mail@example.com"; 26 24 }; 27 25 }; 26 + }; 28 27 29 - nodes.fireflyPostgresql = 30 - { config, pkgs, ... }: 31 - { 32 - environment.etc = { 33 - "firefly-iii-appkey".text = app-key; 34 - "postgres-pass".text = db-pass; 35 - }; 36 - services.firefly-iii = { 37 - enable = true; 38 - enableNginx = true; 39 - settings = { 40 - APP_KEY_FILE = "/etc/firefly-iii-appkey"; 41 - LOG_CHANNEL = "stdout"; 42 - SITE_OWNER = "mail@example.com"; 43 - DB_CONNECTION = "pgsql"; 44 - DB_DATABASE = "firefly"; 45 - DB_USERNAME = "firefly"; 46 - DB_PASSWORD_FILE = "/etc/postgres-pass"; 47 - PGSQL_SCHEMA = "firefly"; 48 - }; 28 + nodes.fireflyPostgresql = 29 + { config, pkgs, ... }: 30 + { 31 + environment.etc = { 32 + "firefly-iii-appkey".text = app-key; 33 + "postgres-pass".text = db-pass; 34 + }; 35 + services.firefly-iii = { 36 + enable = true; 37 + enableNginx = true; 38 + settings = { 39 + APP_KEY_FILE = "/etc/firefly-iii-appkey"; 40 + LOG_CHANNEL = "stdout"; 41 + SITE_OWNER = "mail@example.com"; 42 + DB_CONNECTION = "pgsql"; 43 + DB_DATABASE = "firefly"; 44 + DB_USERNAME = "firefly"; 45 + DB_PASSWORD_FILE = "/etc/postgres-pass"; 46 + PGSQL_SCHEMA = "firefly"; 49 47 }; 48 + }; 50 49 51 - services.postgresql = { 52 - enable = true; 53 - package = pkgs.postgresql_16; 54 - authentication = '' 55 - local all postgres peer 56 - local firefly firefly password 57 - ''; 58 - initialScript = pkgs.writeText "firefly-init.sql" '' 59 - CREATE USER "firefly" WITH LOGIN PASSWORD '${db-pass}'; 60 - CREATE DATABASE "firefly" WITH OWNER "firefly"; 61 - \c firefly 62 - CREATE SCHEMA AUTHORIZATION firefly; 63 - ''; 64 - }; 50 + services.postgresql = { 51 + enable = true; 52 + package = pkgs.postgresql_16; 53 + authentication = '' 54 + local all postgres peer 55 + local firefly firefly password 56 + ''; 57 + initialScript = pkgs.writeText "firefly-init.sql" '' 58 + CREATE USER "firefly" WITH LOGIN PASSWORD '${db-pass}'; 59 + CREATE DATABASE "firefly" WITH OWNER "firefly"; 60 + \c firefly 61 + CREATE SCHEMA AUTHORIZATION firefly; 62 + ''; 65 63 }; 64 + }; 66 65 67 - nodes.fireflyMysql = 68 - { config, pkgs, ... }: 69 - { 70 - environment.etc = { 71 - "firefly-iii-appkey".text = app-key; 72 - "mysql-pass".text = db-pass; 66 + nodes.fireflyMysql = 67 + { config, pkgs, ... }: 68 + { 69 + environment.etc = { 70 + "firefly-iii-appkey".text = app-key; 71 + "mysql-pass".text = db-pass; 72 + }; 73 + services.firefly-iii = { 74 + enable = true; 75 + enableNginx = true; 76 + settings = { 77 + APP_KEY_FILE = "/etc/firefly-iii-appkey"; 78 + LOG_CHANNEL = "stdout"; 79 + SITE_OWNER = "mail@example.com"; 80 + DB_CONNECTION = "mysql"; 81 + DB_DATABASE = "firefly"; 82 + DB_USERNAME = "firefly"; 83 + DB_PASSWORD_FILE = "/etc/mysql-pass"; 84 + DB_SOCKET = "/run/mysqld/mysqld.sock"; 73 85 }; 74 - services.firefly-iii = { 75 - enable = true; 76 - enableNginx = true; 77 - settings = { 78 - APP_KEY_FILE = "/etc/firefly-iii-appkey"; 79 - LOG_CHANNEL = "stdout"; 80 - SITE_OWNER = "mail@example.com"; 81 - DB_CONNECTION = "mysql"; 82 - DB_DATABASE = "firefly"; 83 - DB_USERNAME = "firefly"; 84 - DB_PASSWORD_FILE = "/etc/mysql-pass"; 85 - DB_SOCKET = "/run/mysqld/mysqld.sock"; 86 - }; 87 - }; 86 + }; 88 87 89 - services.mysql = { 90 - enable = true; 91 - package = pkgs.mariadb; 92 - initialScript = pkgs.writeText "firefly-init.sql" '' 93 - create database firefly DEFAULT CHARACTER SET utf8mb4; 94 - create user 'firefly'@'localhost' identified by '${db-pass}'; 95 - grant all on firefly.* to 'firefly'@'localhost'; 96 - ''; 97 - settings.mysqld.character-set-server = "utf8mb4"; 98 - }; 88 + services.mysql = { 89 + enable = true; 90 + package = pkgs.mariadb; 91 + initialScript = pkgs.writeText "firefly-init.sql" '' 92 + create database firefly DEFAULT CHARACTER SET utf8mb4; 93 + create user 'firefly'@'localhost' identified by '${db-pass}'; 94 + grant all on firefly.* to 'firefly'@'localhost'; 95 + ''; 96 + settings.mysqld.character-set-server = "utf8mb4"; 99 97 }; 98 + }; 100 99 101 - testScript = '' 102 - fireflySqlite.wait_for_unit("phpfpm-firefly-iii.service") 103 - fireflySqlite.wait_for_unit("nginx.service") 104 - fireflySqlite.succeed("curl -fvvv -Ls http://localhost/ | grep 'Firefly III'") 105 - fireflySqlite.succeed("curl -fvvv -Ls http://localhost/v1/js/app.js") 106 - fireflySqlite.succeed("systemctl start firefly-iii-cron.service") 107 - fireflyPostgresql.wait_for_unit("phpfpm-firefly-iii.service") 108 - fireflyPostgresql.wait_for_unit("nginx.service") 109 - fireflyPostgresql.wait_for_unit("postgresql.service") 110 - fireflyPostgresql.succeed("curl -fvvv -Ls http://localhost/ | grep 'Firefly III'") 111 - fireflyPostgresql.succeed("systemctl start firefly-iii-cron.service") 112 - fireflyMysql.wait_for_unit("phpfpm-firefly-iii.service") 113 - fireflyMysql.wait_for_unit("nginx.service") 114 - fireflyMysql.wait_for_unit("mysql.service") 115 - fireflyMysql.succeed("curl -fvvv -Ls http://localhost/ | grep 'Firefly III'") 116 - fireflyMysql.succeed("systemctl start firefly-iii-cron.service") 117 - ''; 118 - } 119 - ) 100 + testScript = '' 101 + fireflySqlite.wait_for_unit("phpfpm-firefly-iii.service") 102 + fireflySqlite.wait_for_unit("nginx.service") 103 + fireflySqlite.succeed("curl -fvvv -Ls http://localhost/ | grep 'Firefly III'") 104 + fireflySqlite.succeed("curl -fvvv -Ls http://localhost/v1/js/app.js") 105 + fireflySqlite.succeed("systemctl start firefly-iii-cron.service") 106 + fireflyPostgresql.wait_for_unit("phpfpm-firefly-iii.service") 107 + fireflyPostgresql.wait_for_unit("nginx.service") 108 + fireflyPostgresql.wait_for_unit("postgresql.service") 109 + fireflyPostgresql.succeed("curl -fvvv -Ls http://localhost/ | grep 'Firefly III'") 110 + fireflyPostgresql.succeed("systemctl start firefly-iii-cron.service") 111 + fireflyMysql.wait_for_unit("phpfpm-firefly-iii.service") 112 + fireflyMysql.wait_for_unit("nginx.service") 113 + fireflyMysql.wait_for_unit("mysql.service") 114 + fireflyMysql.succeed("curl -fvvv -Ls http://localhost/ | grep 'Firefly III'") 115 + fireflyMysql.succeed("systemctl start firefly-iii-cron.service") 116 + ''; 117 + }