import ./make-test-python.nix ({ pkgs, ... }: {

  name = "jotta-cli";
  meta.maintainers = with pkgs.lib.maintainers; [ evenbrenden ];

  nodes.machine = { pkgs, ... }: {
    services.jotta-cli.enable = true;
    imports = [ ./common/user-account.nix ];
  };

  testScript = { nodes, ... }:
    let uid = toString nodes.machine.users.users.alice.uid;
    in ''
      machine.start()

      machine.succeed("loginctl enable-linger alice")
      machine.wait_for_unit("user@${uid}.service")

      machine.wait_for_unit("jottad.service", "alice")
      machine.wait_for_open_unix_socket("/run/user/${uid}/jottad/jottad.socket")

      # "jotta-cli version" should fail if jotta-cli cannot connect to jottad
      machine.succeed('XDG_RUNTIME_DIR=/run/user/${uid} su alice -c "jotta-cli version"')
    '';
})
