nixosTests.davis: migrate to runTest

Part of #386873

Changed files
+48 -51
nixos
+1 -1
nixos/tests/all-tests.nix
···
darling = handleTest ./darling.nix {};
darling-dmg = runTest ./darling-dmg.nix;
dae = handleTest ./dae.nix {};
-
davis = handleTest ./davis.nix {};
+
davis = runTest ./davis.nix;
db-rest = handleTest ./db-rest.nix {};
dconf = handleTest ./dconf.nix {};
ddns-updater = handleTest ./ddns-updater.nix {};
+47 -50
nixos/tests/davis.nix
···
-
import ./make-test-python.nix (
-
{ lib, pkgs, ... }:
+
{ pkgs, ... }:
+
{
+
name = "davis";
-
{
-
name = "davis";
+
meta.maintainers = pkgs.davis.meta.maintainers;
-
meta.maintainers = pkgs.davis.meta.maintainers;
+
nodes.machine =
+
{ config, ... }:
+
{
+
virtualisation = {
+
memorySize = 512;
+
};
-
nodes.machine =
-
{ config, ... }:
-
{
-
virtualisation = {
-
memorySize = 512;
+
services.davis = {
+
enable = true;
+
hostname = "davis.example.com";
+
database = {
+
driver = "postgresql";
};
-
-
services.davis = {
-
enable = true;
-
hostname = "davis.example.com";
-
database = {
-
driver = "postgresql";
-
};
-
mail = {
-
dsnFile = "${pkgs.writeText "davisMailDns" "smtp://username:password@example.com:25"}";
-
inviteFromAddress = "dav@example.com";
-
};
-
adminLogin = "admin";
-
appSecretFile = "${pkgs.writeText "davisAppSecret" "52882ef142066e09ab99ce816ba72522e789505caba224"}";
-
adminPasswordFile = "${pkgs.writeText "davisAdminPass" "nixos"}";
-
nginx = { };
+
mail = {
+
dsnFile = "${pkgs.writeText "davisMailDns" "smtp://username:password@example.com:25"}";
+
inviteFromAddress = "dav@example.com";
};
+
adminLogin = "admin";
+
appSecretFile = "${pkgs.writeText "davisAppSecret" "52882ef142066e09ab99ce816ba72522e789505caba224"}";
+
adminPasswordFile = "${pkgs.writeText "davisAdminPass" "nixos"}";
+
nginx = { };
};
+
};
-
testScript = ''
-
start_all()
-
machine.wait_for_unit("postgresql.service")
-
machine.wait_for_unit("davis-env-setup.service")
-
machine.wait_for_unit("davis-db-migrate.service")
-
machine.wait_for_unit("nginx.service")
-
machine.wait_for_unit("phpfpm-davis.service")
+
testScript = ''
+
start_all()
+
machine.wait_for_unit("postgresql.service")
+
machine.wait_for_unit("davis-env-setup.service")
+
machine.wait_for_unit("davis-db-migrate.service")
+
machine.wait_for_unit("nginx.service")
+
machine.wait_for_unit("phpfpm-davis.service")
-
with subtest("welcome screen loads"):
-
machine.succeed(
-
"curl -sSfL --resolve davis.example.com:80:127.0.0.1 http://davis.example.com/ | grep '<title>Davis</title>'"
-
)
+
with subtest("welcome screen loads"):
+
machine.succeed(
+
"curl -sSfL --resolve davis.example.com:80:127.0.0.1 http://davis.example.com/ | grep '<title>Davis</title>'"
+
)
-
with subtest("login works"):
-
csrf_token = machine.succeed(
-
"curl -c /tmp/cookies -sSfL --resolve davis.example.com:80:127.0.0.1 http://davis.example.com/login | grep '_csrf_token' | sed -E 's,.*value=\"(.*)\".*,\\1,g'"
-
)
-
r = machine.succeed(
-
f"curl -b /tmp/cookies --resolve davis.example.com:80:127.0.0.1 http://davis.example.com/login -X POST -F _username=admin -F _password=nixos -F _csrf_token={csrf_token.strip()} -D headers"
-
)
-
print(r)
-
machine.succeed(
-
"[[ $(grep -i 'location: ' headers | cut -d: -f2- | xargs echo) == /dashboard* ]]"
-
)
-
'';
-
}
-
)
+
with subtest("login works"):
+
csrf_token = machine.succeed(
+
"curl -c /tmp/cookies -sSfL --resolve davis.example.com:80:127.0.0.1 http://davis.example.com/login | grep '_csrf_token' | sed -E 's,.*value=\"(.*)\".*,\\1,g'"
+
)
+
r = machine.succeed(
+
f"curl -b /tmp/cookies --resolve davis.example.com:80:127.0.0.1 http://davis.example.com/login -X POST -F _username=admin -F _password=nixos -F _csrf_token={csrf_token.strip()} -D headers"
+
)
+
print(r)
+
machine.succeed(
+
"[[ $(grep -i 'location: ' headers | cut -d: -f2- | xargs echo) == /dashboard* ]]"
+
)
+
'';
+
}