Use wait_until_succeeds for the first network check to ensure the service is fully ready before testing connectivity.
40 lines
658 B
Nix
40 lines
658 B
Nix
{
|
|
module,
|
|
pkgs,
|
|
...
|
|
}:
|
|
{
|
|
name = "deltachat";
|
|
|
|
clan = {
|
|
directory = ./.;
|
|
inventory = {
|
|
machines.server = { };
|
|
|
|
instances = {
|
|
deltachat-test = {
|
|
module.name = "@clan/deltachat";
|
|
roles.default.machines."server".settings = { };
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
nodes = {
|
|
server = { };
|
|
};
|
|
|
|
testScript = ''
|
|
start_all()
|
|
|
|
server.wait_for_unit("maddy")
|
|
|
|
# imap
|
|
server.wait_until_succeeds("${pkgs.netcat}/bin/nc -z -v ::1 143")
|
|
# smtp submission
|
|
server.succeed("${pkgs.netcat}/bin/nc -z -v ::1 587")
|
|
# smtp
|
|
server.succeed("${pkgs.netcat}/bin/nc -z -v ::1 25")
|
|
'';
|
|
}
|