diff options
author | Jörg Thalheim <joerg@thalheim.io> | 2023-04-03 17:05:21 +0200 |
---|---|---|
committer | Jörg Thalheim <joerg@thalheim.io> | 2023-04-04 07:50:04 +0200 |
commit | d9c613d746e0b88ec9afc558368dd5422aff8448 (patch) | |
tree | d08284c1cf35d935d7d82acb8a73046d7c9a863b /nixos/tests/mediawiki.nix | |
parent | 5af1d31e42c8e0bdf6c6d9c2879fab832dea4a61 (diff) |
mediawiki: add support for postgresql
Diffstat (limited to 'nixos/tests/mediawiki.nix')
-rw-r--r-- | nixos/tests/mediawiki.nix | 73 |
1 files changed, 51 insertions, 22 deletions
diff --git a/nixos/tests/mediawiki.nix b/nixos/tests/mediawiki.nix index 7f31d6aadfa2c..1ae82d65b3cb9 100644 --- a/nixos/tests/mediawiki.nix +++ b/nixos/tests/mediawiki.nix @@ -1,28 +1,57 @@ -import ./make-test-python.nix ({ pkgs, lib, ... }: { - name = "mediawiki"; - meta.maintainers = [ lib.maintainers.aanderse ]; +{ + system ? builtins.currentSystem, + config ? {}, + pkgs ? import ../.. { inherit system config; }, +}: - nodes.machine = - { ... }: - { services.mediawiki.enable = true; - services.mediawiki.virtualHost.hostName = "localhost"; - services.mediawiki.virtualHost.adminAddr = "root@example.com"; - services.mediawiki.passwordFile = pkgs.writeText "password" "correcthorsebatterystaple"; - services.mediawiki.extensions = { - Matomo = pkgs.fetchzip { - url = "https://github.com/DaSchTour/matomo-mediawiki-extension/archive/v4.0.1.tar.gz"; - sha256 = "0g5rd3zp0avwlmqagc59cg9bbkn3r7wx7p6yr80s644mj6dlvs1b"; - }; - ParserFunctions = null; +let + shared = { + services.mediawiki.enable = true; + services.mediawiki.virtualHost.hostName = "localhost"; + services.mediawiki.virtualHost.adminAddr = "root@example.com"; + services.mediawiki.passwordFile = pkgs.writeText "password" "correcthorsebatterystaple"; + services.mediawiki.extensions = { + Matomo = pkgs.fetchzip { + url = "https://github.com/DaSchTour/matomo-mediawiki-extension/archive/v4.0.1.tar.gz"; + sha256 = "0g5rd3zp0avwlmqagc59cg9bbkn3r7wx7p6yr80s644mj6dlvs1b"; }; + ParserFunctions = null; }; + }; - testScript = '' - start_all() + testLib = import ../lib/testing-python.nix { + inherit system pkgs; + extraConfigurations = [ shared ]; + }; +in +{ + mysql = testLib.makeTest { + name = "mediawiki-mysql"; + nodes.machine = { + services.mediawiki.database.type = "mysql"; + }; + testScript = '' + start_all() + + machine.wait_for_unit("phpfpm-mediawiki.service") + + page = machine.succeed("curl -fL http://localhost/") + assert "MediaWiki has been installed" in page + ''; + }; + + postgresql = testLib.makeTest { + name = "mediawiki-postgres"; + nodes.machine = { + services.mediawiki.database.type = "postgres"; + }; + testScript = '' + start_all() - machine.wait_for_unit("phpfpm-mediawiki.service") + machine.wait_for_unit("phpfpm-mediawiki.service") - page = machine.succeed("curl -fL http://localhost/") - assert "MediaWiki has been installed" in page - ''; -}) + page = machine.succeed("curl -fL http://localhost/") + assert "MediaWiki has been installed" in page + ''; + }; +} |