From 21cb9bb110933ba355ccecbd09fe98611e724440 Mon Sep 17 00:00:00 2001 From: andig Date: Thu, 20 Feb 2025 21:11:00 +0100 Subject: [PATCH] chore: better tests --- plugin/config_test.go | 30 +++++++++++++++++++++++++++++- plugin/http.go | 5 +++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/plugin/config_test.go b/plugin/config_test.go index cef0ca164..dbbd686a7 100644 --- a/plugin/config_test.go +++ b/plugin/config_test.go @@ -7,7 +7,35 @@ import ( "github.com/stretchr/testify/assert" ) -func TestConfig(t *testing.T) { +func TestRequiredConfig(t *testing.T) { + var c Config + + _, err := c.BoolGetter(context.TODO()) + assert.Error(t, err) + + _, err = c.IntSetter(context.TODO(), "foo") + assert.Error(t, err) + + c = Config{ + Source: "http", + Other: map[string]any{"uri": "http://localhost"}, + } + + g, err := c.BoolGetter(context.TODO()) + assert.NoError(t, err) + assert.NotNil(t, g) + + s, err := c.IntSetter(context.TODO(), "foo") + assert.NoError(t, err) + assert.NotNil(t, s) + + c = Config{Source: "foo"} + + _, err = c.BoolGetter(context.TODO()) + assert.Error(t, err) +} + +func TestOptionalConfig(t *testing.T) { var c *Config g, err := c.BoolGetter(context.TODO()) diff --git a/plugin/http.go b/plugin/http.go index 917fa4b6e..0a0b89fe6 100644 --- a/plugin/http.go +++ b/plugin/http.go @@ -2,6 +2,7 @@ package plugin import ( "context" + "errors" "fmt" "io" "net/http" @@ -60,6 +61,10 @@ func NewHTTPPluginFromConfig(ctx context.Context, other map[string]interface{}) return nil, err } + if cc.URI == "" { + return nil, errors.New("missing uri") + } + log := contextLogger(ctx, util.NewLogger("http")) p := NewHTTP( log,