Files
nixpkgs/nixos/tests/firefox-syncserver.nix
2026-08-05 17:51:32 -07:00

55 lines
1.5 KiB
Nix

let
makeFirefoxSyncserverTest =
name:
{
backend ? name,
}:
import ./make-test-python.nix (
{ lib, pkgs, ... }:
{
name = "firefox-syncserver-${name}";
containers.machine =
{ pkgs, ... }:
lib.mkMerge [
{
mysql = {
services.mysql = {
enable = true;
package = pkgs.mariadb;
};
};
postgresql = { };
}
.${backend}
{
services.firefox-syncserver = {
enable = true;
database.type = backend;
secrets = pkgs.writeText "sync-secrets" ''
SYNC_MASTER_SECRET=a-]test-secret-that-is-not-real
'';
singleNode = {
enable = true;
hostname = "firefox-syncserver.local";
capacity = 1;
};
};
environment.systemPackages = [ pkgs.jq ];
}
];
testScript = ''
machine.wait_for_unit("multi-user.target")
machine.wait_until_succeeds("systemctl is-active firefox-syncserver.service", timeout=120)
machine.wait_until_succeeds("curl -s http://127.0.0.1:5000/__heartbeat__ | jq -e '.database == \"Ok\" and .status == \"Ok\"'")
'';
}
);
in
builtins.mapAttrs (k: v: makeFirefoxSyncserverTest k v) {
mysql = { };
postgresql = { };
}