import ./make-test-python.nix ({ lib, ... }: {
  name = "plikd";
  meta = with lib.maintainers; {
    maintainers = [ freezeboy ];
  };

  machine = { pkgs, ... }: let
  in {
    services.plikd.enable = true;
    environment.systemPackages = [ pkgs.plik ];
  };

  testScript = ''
    # Service basic test
    machine.wait_for_unit("plikd")

    # Network test
    machine.wait_for_open_port("8080")
    machine.succeed("curl --fail -v http://localhost:8080")

    # Application test
    machine.execute("echo test > /tmp/data.txt")
    machine.succeed("plik --server http://localhost:8080 /tmp/data.txt | grep curl")

    machine.succeed("diff data.txt /tmp/data.txt")
  '';
})