From b4cb248f5aa02a78f604c72698a2d213b6550040 Mon Sep 17 00:00:00 2001 From: Cameron Moore Date: Thu, 17 Aug 2017 16:36:33 -0500 Subject: [PATCH] Add tests for hooks template loading --- hook/hook_test.go | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/hook/hook_test.go b/hook/hook_test.go index 4decf1ea..52f273bc 100644 --- a/hook/hook_test.go +++ b/hook/hook_test.go @@ -244,7 +244,9 @@ var hooksLoadFromFileTests = []struct { } func TestHooksLoadFromFile(t *testing.T) { - os.Setenv("XXXTEST_SECRET", `foo"123`) + secret := `foo"123` + os.Setenv("XXXTEST_SECRET", secret) + for _, tt := range hooksLoadFromFileTests { h := &Hooks{} err := h.LoadFromFile(tt.path, tt.asTemplate) @@ -254,6 +256,29 @@ func TestHooksLoadFromFile(t *testing.T) { } } +func TestHooksTemplateLoadFromFile(t *testing.T) { + secret := `foo"123` + os.Setenv("XXXTEST_SECRET", secret) + + for _, tt := range hooksLoadFromFileTests { + if !tt.asTemplate { + continue + } + + h := &Hooks{} + err := h.LoadFromFile(tt.path, tt.asTemplate) + if (err == nil) != tt.ok { + t.Errorf(err.Error()) + continue + } + + s := (*h.Match("webhook").TriggerRule.And)[0].Match.Secret + if s != secret { + t.Errorf("Expected secret of %q, got %q", secret, s) + } + } +} + var hooksMatchTests = []struct { id string hooks Hooks