let
  port = 3000;
in
{
  name = "open-webui-oci-test";

  nodes.machine =
    { ... }:
    {
      imports = [
        ../../modules/nixos/open-webui-oci
      ];

      config = {
        virtualisation.diskSize = 32768;
        virtualisation.memorySize = 8192;

        services.open-webui-oci = {
          enable = true;
          inherit port;
        };

        networking.firewall.enable = false;
      };
    };

  testScript = ''
    start_all()

    machine.wait_for_unit("default.target")

    machine.wait_for_unit("podman-open-webui.service")
    machine.wait_for_open_port(${toString port})

    machine.succeed("curl --fail --retry 10 --retry-delay 5 --retry-connrefused http://localhost:${toString port}/")
  '';
}
