From 3d14dcc45ce0f09b8c8d2843492064f5395263e0 Mon Sep 17 00:00:00 2001 From: Rasmus Dahlberg Date: Mon, 11 Oct 2021 22:48:14 +0200 Subject: fixed bug in handler path construction A path is expected to always start with the '/' character. --- pkg/instance/instance_test.go | 41 +++++++++++++++++++++++++++++------------ 1 file changed, 29 insertions(+), 12 deletions(-) (limited to 'pkg/instance/instance_test.go') diff --git a/pkg/instance/instance_test.go b/pkg/instance/instance_test.go index 1706e86..9eeee5b 100644 --- a/pkg/instance/instance_test.go +++ b/pkg/instance/instance_test.go @@ -62,19 +62,36 @@ func TestServeHTTP(t *testing.T) { } } +// TestPath checks that Path works for an endpoint (add-leaf) func TestPath(t *testing.T) { - instance := &Instance{ - Config: Config{ - Prefix: "testonly", + for _, table := range []struct { + description string + prefix string + want string + }{ + { + description: "no prefix", + want: "/sigsum/v0/add-leaf", }, - } - handler := Handler{ - Instance: instance, - Handler: addLeaf, - Endpoint: types.EndpointAddLeaf, - Method: http.MethodPost, - } - if got, want := handler.Path(), "testonly/sigsum/v0/add-leaf"; got != want { - t.Errorf("got path %v but wanted %v", got, want) + { + description: "a prefix", + prefix: "test-prefix", + want: "/test-prefix/sigsum/v0/add-leaf", + }, + } { + instance := &Instance{ + Config: Config{ + Prefix: table.prefix, + }, + } + handler := Handler{ + Instance: instance, + Handler: addLeaf, + Endpoint: types.EndpointAddLeaf, + Method: http.MethodPost, + } + if got, want := handler.Path(), table.want; got != want { + t.Errorf("got path %v but wanted %v", got, want) + } } } -- cgit v1.2.3