mirror of
https://github.com/adnanh/webhook.git
synced 2025-05-23 22:02:28 +00:00
Refactor to remove helpers package
This commit removes the "helpers" package by moving functions from the package into the other packages that use them. CheckPayloadSignature() and ExtractParamater() are simply moved to the "hook" package. I'm not sure of the usefulness of having these functions exported, but I left them allow for now. ValuesToMap() is moved to the "main" webhook package and renamed to valuesToMap(). Tests were moved into the "hook" package since we only test ExtractParameter() right now. This commit closes adnanh/webhook#12.
This commit is contained in:
parent
d8a21582a3
commit
7dd55f5232
4 changed files with 77 additions and 84 deletions
29
hook/hook_test.go
Normal file
29
hook/hook_test.go
Normal file
|
@ -0,0 +1,29 @@
|
|||
package hook
|
||||
|
||||
import "testing"
|
||||
|
||||
var extractParameterTests = []struct {
|
||||
s string
|
||||
params map[string]interface{}
|
||||
value string
|
||||
ok bool
|
||||
}{
|
||||
{"a", map[string]interface{}{"a": "z"}, "z", true},
|
||||
{"a.b", map[string]interface{}{"a": map[string]interface{}{"b": "z"}}, "z", true},
|
||||
{"a.b.c", map[string]interface{}{"a": map[string]interface{}{"b": map[string]interface{}{"c": "z"}}}, "z", true},
|
||||
{"a.1.b", map[string]interface{}{"a": []interface{}{map[string]interface{}{"b": "y"}, map[string]interface{}{"b": "z"}}}, "z", true},
|
||||
{"a.1.b.c", map[string]interface{}{"a": []interface{}{map[string]interface{}{"b": map[string]interface{}{"c": "y"}}, map[string]interface{}{"b": map[string]interface{}{"c": "z"}}}}, "z", true},
|
||||
// failures
|
||||
{"a.X", map[string]interface{}{"a": map[string]interface{}{"b": "z"}}, "", false},
|
||||
{"a.500.b", map[string]interface{}{"a": map[string]interface{}{"b": "z"}}, "", false},
|
||||
{"a.501.b", map[string]interface{}{"a": []interface{}{map[string]interface{}{"b": "y"}, map[string]interface{}{"b": "z"}}}, "", false},
|
||||
}
|
||||
|
||||
func TestExtractParameter(t *testing.T) {
|
||||
for _, tt := range extractParameterTests {
|
||||
s, ok := ExtractParameter(tt.s, tt.params)
|
||||
if ok != tt.ok || s != tt.value {
|
||||
t.Errorf("failed to extract parameter %q:\nexpected {value:%#v, ok:%#v},\ngot {value:%#v, ok:%#v}", tt.s, tt.value, tt.ok, s, ok)
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue