From e271fcfaf93547621a7f58d1bdef49b569ceb4f8 Mon Sep 17 00:00:00 2001 From: mo khan Date: Tue, 13 May 2025 17:48:35 -0600 Subject: test: add integration test for envoy proxy configuration --- test/integration/container_test.go | 9 +++++++++ test/integration/http.go | 7 +++++++ 2 files changed, 16 insertions(+) (limited to 'test') diff --git a/test/integration/container_test.go b/test/integration/container_test.go index 6739807..6c371ba 100644 --- a/test/integration/container_test.go +++ b/test/integration/container_test.go @@ -69,4 +69,13 @@ func TestContainer(t *testing.T) { assert.Equal(t, http.StatusOK, HttpGet(t, ctx, publicPath).StatusCode) }) } + + t.Run("envoy.yaml", func(t *testing.T) { + response := HttpGet(t, ctx, envoyAdminEndpoint+"/config_dump") + + require.Equal(t, http.StatusOK, response.StatusCode) + body := JSONBody(t, response) + + assert.NotEmpty(t, "listener_0", body["configs"]) + }) } diff --git a/test/integration/http.go b/test/integration/http.go index 43ebac3..452c56d 100644 --- a/test/integration/http.go +++ b/test/integration/http.go @@ -7,6 +7,7 @@ import ( "time" "github.com/stretchr/testify/require" + "github.com/xlgmokha/x/pkg/serde" ) type testTransport struct { @@ -34,3 +35,9 @@ func HttpGet(t *testing.T, ctx context.Context, path string) *http.Response { return response } + +func JSONBody(t *testing.T, r *http.Response) map[string]interface{} { + item, err := serde.FromJSON[map[string]interface{}](r.Body) + require.NoError(t, err) + return item +} -- cgit v1.2.3