36 lines
940 B
Nix
36 lines
940 B
Nix
import ../make-test-python.nix (
|
|
{ lib, pkgs, ... }:
|
|
{
|
|
name = "ttyd";
|
|
meta.maintainers = with lib.maintainers; [ stunkymonkey ];
|
|
|
|
nodes.readonly =
|
|
{ pkgs, ... }:
|
|
{
|
|
services.ttyd = {
|
|
enable = true;
|
|
entrypoint = [ (lib.getExe pkgs.htop) ];
|
|
writeable = false;
|
|
};
|
|
};
|
|
|
|
nodes.writeable =
|
|
{ pkgs, ... }:
|
|
{
|
|
services.ttyd = {
|
|
enable = true;
|
|
username = "foo";
|
|
passwordFile = pkgs.writeText "password" "bar";
|
|
writeable = true;
|
|
};
|
|
};
|
|
|
|
testScript = ''
|
|
for machine in [readonly, writeable]:
|
|
machine.wait_for_unit("ttyd.service")
|
|
machine.wait_for_open_port(7681)
|
|
response = machine.succeed("curl -vvv -u foo:bar -s -H 'Host: ttyd' http://127.0.0.1:7681/")
|
|
assert '<title>ttyd - Terminal</title>' in response, "Page didn't load successfully"
|
|
'';
|
|
}
|
|
)
|