From 3e7069bb47e90254811052aff1c295f33ac9f4c7 Mon Sep 17 00:00:00 2001 From: IndeedNotJames Date: Tue, 25 Apr 2023 16:54:08 +0200 Subject: [PATCH] nixosTests.consul-template: init --- nixos/tests/all-tests.nix | 1 + nixos/tests/consul-template.nix | 36 +++++++++++++++++++ pkgs/tools/system/consul-template/default.nix | 6 +++- 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 nixos/tests/consul-template.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 997d38938238..a04db168a150 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -146,6 +146,7 @@ in { 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 {}; diff --git a/nixos/tests/consul-template.nix b/nixos/tests/consul-template.nix new file mode 100644 index 000000000000..cbffa94569e3 --- /dev/null +++ b/nixos/tests/consul-template.nix @@ -0,0 +1,36 @@ +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') + ''; +}) diff --git a/pkgs/tools/system/consul-template/default.nix b/pkgs/tools/system/consul-template/default.nix index 8bcceecee956..9f6f2b842253 100644 --- a/pkgs/tools/system/consul-template/default.nix +++ b/pkgs/tools/system/consul-template/default.nix @@ -1,4 +1,4 @@ -{ lib, buildGoModule, fetchFromGitHub }: +{ lib, buildGoModule, fetchFromGitHub, nixosTests }: buildGoModule rec { pname = "consul-template"; @@ -17,6 +17,10 @@ buildGoModule rec { # 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/"; description = "Generic template rendering and notifications with Consul";