nixosTests.consul-template: init

Changed files
+42 -1
nixos
pkgs
tools
system
consul-template
+1
nixos/tests/all-tests.nix
···
collectd = handleTest ./collectd.nix {};
connman = handleTest ./connman.nix {};
consul = handleTest ./consul.nix {};
+
consul-template = handleTest ./consul-template.nix {};
containers-bridge = handleTest ./containers-bridge.nix {};
containers-custom-pkgs.nix = handleTest ./containers-custom-pkgs.nix {};
containers-ephemeral = handleTest ./containers-ephemeral.nix {};
+36
nixos/tests/consul-template.nix
···
+
import ./make-test-python.nix ({ ... }: {
+
name = "consul-template";
+
+
nodes.machine = { ... }: {
+
services.consul-template.instances.example.settings = {
+
template = [{
+
contents = ''
+
{{ key "example" }}
+
'';
+
perms = "0600";
+
destination = "/example";
+
}];
+
};
+
+
services.consul = {
+
enable = true;
+
extraConfig = {
+
server = true;
+
bootstrap_expect = 1;
+
bind_addr = "127.0.0.1";
+
};
+
};
+
};
+
+
testScript = ''
+
machine.wait_for_unit("consul.service")
+
machine.wait_for_open_port(8500)
+
+
machine.wait_for_unit("consul-template-example.service")
+
+
machine.wait_until_succeeds('consul kv put example example')
+
+
machine.wait_for_file("/example")
+
machine.succeed('grep "example" /example')
+
'';
+
})
+5 -1
pkgs/tools/system/consul-template/default.nix
···
-
{ lib, buildGoModule, fetchFromGitHub }:
+
{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
buildGoModule rec {
pname = "consul-template";
···
# consul-template tests depend on vault and consul services running to
# execute tests so we skip them here
doCheck = false;
+
+
passthru.tests = {
+
inherit (nixosTests) consul-template;
+
};
meta = with lib; {
homepage = "https://github.com/hashicorp/consul-template/";