diff options
author | Flakebi <flakebi@t-online.de> | 2023-02-10 23:05:45 +0100 |
---|---|---|
committer | Flakebi <flakebi@t-online.de> | 2023-05-22 00:39:58 +0200 |
commit | 1a13b4c0f965f72be51637330aaddfac67a1f118 (patch) | |
tree | 34aca4b5d68c307939b801cac90fd8cae766d202 /nixos | |
parent | fbe371c0196088ac03a186a5c343d137a780362c (diff) | |
download | nixpkgs-1a13b4c0f965f72be51637330aaddfac67a1f118.tar nixpkgs-1a13b4c0f965f72be51637330aaddfac67a1f118.tar.gz nixpkgs-1a13b4c0f965f72be51637330aaddfac67a1f118.tar.bz2 nixpkgs-1a13b4c0f965f72be51637330aaddfac67a1f118.tar.lz nixpkgs-1a13b4c0f965f72be51637330aaddfac67a1f118.tar.xz nixpkgs-1a13b4c0f965f72be51637330aaddfac67a1f118.tar.zst nixpkgs-1a13b4c0f965f72be51637330aaddfac67a1f118.zip |
powerdns-admin: 0.3.0 -> 0.4.1
- Fix with flask-migrate 4+ - Update to 0.4.1 - Improve the test to check that using the database works
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/services/web-apps/powerdns-admin.nix | 3 | ||||
-rw-r--r-- | nixos/tests/powerdns-admin.nix | 24 |
2 files changed, 26 insertions, 1 deletions
diff --git a/nixos/modules/services/web-apps/powerdns-admin.nix b/nixos/modules/services/web-apps/powerdns-admin.nix index e9f7f41055e..7b6fb06e356 100644 --- a/nixos/modules/services/web-apps/powerdns-admin.nix +++ b/nixos/modules/services/web-apps/powerdns-admin.nix @@ -78,7 +78,8 @@ in environment.PYTHONPATH = pkgs.powerdns-admin.pythonPath; serviceConfig = { ExecStart = "${pkgs.powerdns-admin}/bin/powerdns-admin --pid /run/powerdns-admin/pid ${escapeShellArgs cfg.extraArgs}"; - ExecStartPre = "${pkgs.coreutils}/bin/env FLASK_APP=${pkgs.powerdns-admin}/share/powerdnsadmin/__init__.py ${pkgs.python3Packages.flask}/bin/flask db upgrade -d ${pkgs.powerdns-admin}/share/migrations"; + # Set environment variables only for starting flask database upgrade + ExecStartPre = "${pkgs.coreutils}/bin/env FLASK_APP=${pkgs.powerdns-admin}/share/powerdnsadmin/__init__.py SESSION_TYPE= ${pkgs.python3Packages.flask}/bin/flask db upgrade -d ${pkgs.powerdns-admin}/share/migrations"; ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID"; ExecStop = "${pkgs.coreutils}/bin/kill -TERM $MAINPID"; PIDFile = "/run/powerdns-admin/pid"; diff --git a/nixos/tests/powerdns-admin.nix b/nixos/tests/powerdns-admin.nix index 4d763c9c6f6..d7bacb24eec 100644 --- a/nixos/tests/powerdns-admin.nix +++ b/nixos/tests/powerdns-admin.nix @@ -10,6 +10,7 @@ let defaultConfig = '' BIND_ADDRESS = '127.0.0.1' PORT = 8000 + CAPTCHA_ENABLE = False ''; makeAppTest = name: configs: makeTest { @@ -98,7 +99,30 @@ let tcp = { services.powerdns-admin.extraArgs = [ "-b" "127.0.0.1:8000" ]; system.build.testScript = '' + set -euxo pipefail curl -sSf http://127.0.0.1:8000/ + + # Create account to check that the database migrations ran + csrf_token="$(curl -sSfc session http://127.0.0.1:8000/register | grep _csrf_token | cut -d\" -f6)" + # Outputs 'Redirecting' if successful + curl -sSfb session http://127.0.0.1:8000/register \ + -F "_csrf_token=$csrf_token" \ + -F "firstname=first" \ + -F "lastname=last" \ + -F "email=a@example.com" \ + -F "username=user" \ + -F "password=password" \ + -F "rpassword=password" | grep Redirecting + + # Login + # Outputs 'Redirecting' if successful + curl -sSfb session http://127.0.0.1:8000/login \ + -F "_csrf_token=$csrf_token" \ + -F "username=user" \ + -F "password=password" | grep Redirecting + + # Check that we are logged in, this redirects to /admin/setting/pdns if we are + curl -sSfb session http://127.0.0.1:8000/dashboard/ | grep /admin/setting ''; }; unix = { |