From f8ba87392d7d00c2e5f3ad1cc111ed4f7143ecab Mon Sep 17 00:00:00 2001 From: Joshua Rich Date: Fri, 12 Jan 2024 17:28:14 +1000 Subject: [PATCH] test(hass/api): :white_check_mark: fix test to use new config embed in context --- internal/hass/api/context.go | 33 ------------------------------- internal/hass/api/request_test.go | 10 ++++++---- 2 files changed, 6 insertions(+), 37 deletions(-) delete mode 100644 internal/hass/api/context.go diff --git a/internal/hass/api/context.go b/internal/hass/api/context.go deleted file mode 100644 index 4f883cc20..000000000 --- a/internal/hass/api/context.go +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright (c) 2023 Joshua Rich -// -// This software is released under the MIT License. -// https://opensource.org/licenses/MIT - -package api - -import "context" - -type APIConfig struct { - APIURL string - Secret string -} - -// key is an unexported type for keys defined in this package. -// This prevents collisions with keys defined in other packages. -type key int - -// userKey is the key for user.User values in Contexts. It is -// unexported; clients use user.NewContext and user.FromContext -// instead of using this key directly. -var userKey key - -// NewContext returns a new Context that carries value u. -func NewContext(ctx context.Context, c *APIConfig) context.Context { - return context.WithValue(ctx, userKey, c) -} - -// FromContext returns the User value stored in ctx, if any. -func FromContext(ctx context.Context) (*APIConfig, bool) { - u, ok := ctx.Value(userKey).(*APIConfig) - return u, ok -} diff --git a/internal/hass/api/request_test.go b/internal/hass/api/request_test.go index 2296c0f0f..7f24d1f98 100644 --- a/internal/hass/api/request_test.go +++ b/internal/hass/api/request_test.go @@ -13,6 +13,7 @@ import ( "reflect" "testing" + "github.com/joshuar/go-hass-agent/internal/agent/config" "github.com/stretchr/testify/assert" ) @@ -95,10 +96,11 @@ func Test_marshalJSON(t *testing.T) { func TestExecuteRequest(t *testing.T) { mockServer := mockServer(t) defer mockServer.Close() - mockConfig := &APIConfig{ - APIURL: mockServer.URL, - } - ctx := NewContext(context.TODO(), mockConfig) + cfg, err := config.Load(t.TempDir()) + assert.Nil(t, err) + err = cfg.Set(config.PrefAPIURL, mockServer.URL) + assert.Nil(t, err) + ctx := config.EmbedInContext(context.TODO(), cfg) mockReq := &RequestMock{ RequestDataFunc: func() json.RawMessage { return json.RawMessage(`{"someField": "someValue"}`)