nixpkgs/nixos/tests/hound.nix
Bjørn Forsman 5555b70e30 nixosTests.hound: migrate from 'config' to 'settings'
Fixes this eval warning:

  evaluation warning: The option `services.hound.config' defined in `makeTest parameters' has been changed to `services.hound.settings' that has a different type. Please read `services.hound.settings' documentation and update your configuration accordingly.
2025-01-28 19:47:17 +01:00

62 lines
1.7 KiB
Nix

# Test whether `houndd` indexes nixpkgs
import ./make-test-python.nix (
{ pkgs, ... }:
{
name = "hound";
meta = with pkgs.lib.maintainers; {
maintainers = [ grahamc ];
};
nodes.machine =
{ pkgs, ... }:
{
services.hound = {
enable = true;
settings = {
"max-concurrent-indexers" = 1;
"dbpath" = "/var/lib/hound/data";
"repos" = {
"nix" = {
"url" = "file:///var/lib/hound/my-git";
};
};
};
};
systemd.services.houndseed = {
description = "seed hound with a git repo";
requiredBy = [ "hound.service" ];
before = [ "hound.service" ];
serviceConfig = {
User = "hound";
Group = "hound";
WorkingDirectory = "/var/lib/hound";
};
path = [ pkgs.git ];
script = ''
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
git init my-git --bare
git init my-git-clone
cd my-git-clone
echo 'hi nix!' > hello
git add hello
git commit -m "hello there :)"
git remote add origin /var/lib/hound/my-git
git push origin master
'';
};
};
testScript = ''
start_all()
machine.wait_for_unit("network.target")
machine.wait_for_unit("hound.service")
machine.wait_for_open_port(6080)
machine.wait_until_succeeds(
"curl -f http://127.0.0.1:6080/api/v1/search\?stats\=fosho\&repos\=\*\&rng=%3A20\&q\=hi\&files\=\&i=nope | grep 'Filename' | grep 'hello'"
)
'';
}
)