2016-10-13 00:58:56 +02:00
|
|
|
# Test whether `houndd` indexes nixpkgs
|
|
|
|
import ./make-test.nix ({ pkgs, ... } : {
|
|
|
|
name = "hound";
|
|
|
|
meta = with pkgs.stdenv.lib.maintainers; {
|
|
|
|
maintainers = [ grahamc ];
|
|
|
|
};
|
2018-07-20 22:56:59 +02:00
|
|
|
machine = { pkgs, ... }: {
|
2016-10-13 00:58:56 +02:00
|
|
|
services.hound = {
|
|
|
|
enable = true;
|
|
|
|
config = ''
|
|
|
|
{
|
|
|
|
"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 =
|
|
|
|
'' startAll;
|
|
|
|
|
|
|
|
$machine->waitForUnit("network.target");
|
|
|
|
$machine->waitForUnit("hound.service");
|
|
|
|
$machine->waitForOpenPort(6080);
|
2018-09-24 17:31:46 +02:00
|
|
|
$machine->waitUntilSucceeds('curl http://127.0.0.1:6080/api/v1/search\?stats\=fosho\&repos\=\*\&rng=%3A20\&q\=hi\&files\=\&i=nope | grep "Filename" | grep "hello"');
|
2016-10-13 00:58:56 +02:00
|
|
|
|
|
|
|
'';
|
|
|
|
})
|