nixos/tests/lxd-ui: init lxd-ui tests

This commit is contained in:
Jon Seager 2023-07-03 17:57:55 +01:00
parent 2fbb85e2c9
commit 21e36654c8
No known key found for this signature in database
2 changed files with 36 additions and 0 deletions

View file

@ -435,6 +435,7 @@ in {
lxd = handleTest ./lxd.nix {};
lxd-nftables = handleTest ./lxd-nftables.nix {};
lxd-image-server = handleTest ./lxd-image-server.nix {};
lxd-ui = handleTest ./lxd-ui.nix {};
#logstash = handleTest ./logstash.nix {};
lorri = handleTest ./lorri/default.nix {};
maddy = discoverTests (import ./maddy { inherit handleTest; });

35
nixos/tests/lxd-ui.nix Normal file
View file

@ -0,0 +1,35 @@
import ./make-test-python.nix ({ pkgs, lib, ... }: {
name = "lxd-ui";
meta = with pkgs.lib.maintainers; {
maintainers = [ jnsgruk ];
};
nodes.machine = { lib, ... }: {
virtualisation = {
lxd.enable = true;
lxd.ui.enable = true;
};
environment.systemPackages = [ pkgs.curl ];
};
testScript = ''
machine.wait_for_unit("sockets.target")
machine.wait_for_unit("lxd.service")
machine.wait_for_file("/var/lib/lxd/unix.socket")
# Wait for lxd to settle
machine.succeed("lxd waitready")
# Configure LXC listen address
machine.succeed("lxc config set core.https_address :8443")
machine.succeed("systemctl restart lxd")
# Check that the LXD_UI environment variable is populated in the systemd unit
machine.succeed("cat /etc/systemd/system/lxd.service | grep 'LXD_UI'")
# Ensure the endpoint returns an HTML page with 'LXD UI' in the title
machine.succeed("curl -kLs https://localhost:8443/ui | grep '<title>LXD UI</title>'")
'';
})