From 4d523a63537e1f62bada96c1ca130e90889a4723 Mon Sep 17 00:00:00 2001 From: Devon Hudson Date: Thu, 22 Dec 2022 15:35:39 -0700 Subject: [PATCH] Add tests for internal relayapi http interface --- relayapi/inthttp/client_test.go | 65 +++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 relayapi/inthttp/client_test.go diff --git a/relayapi/inthttp/client_test.go b/relayapi/inthttp/client_test.go new file mode 100644 index 000000000..f07a81cc2 --- /dev/null +++ b/relayapi/inthttp/client_test.go @@ -0,0 +1,65 @@ +package inthttp + +import ( + "context" + "net/http" + "net/http/httptest" + "testing" + "time" + + "github.com/matrix-org/dendrite/relayapi/api" + "github.com/stretchr/testify/assert" +) + +func TestRelayAPIClientNil(t *testing.T) { + _, err := NewRelayAPIClient("", nil, nil) + assert.Error(t, err) +} + +func TestRelayAPIClientPerormSync(t *testing.T) { + // Start a local HTTP server + server := httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) { + assert.Equal(t, "/api"+RelayAPIPerformRelayServerSyncPath, req.URL.String()) + })) + defer server.Close() + + cl, err := NewRelayAPIClient(server.URL, server.Client(), nil) + assert.NoError(t, err) + assert.NotNil(t, cl) + + ctx, cancel := context.WithTimeout(context.Background(), 100*time.Millisecond) + defer cancel() + cl.PerformRelayServerSync(ctx, &api.PerformRelayServerSyncRequest{}, &api.PerformRelayServerSyncResponse{}) +} + +func TestRelayAPIClientStore(t *testing.T) { + // Start a local HTTP server + server := httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) { + assert.Equal(t, "/api"+RelayAPIPerformStoreAsyncPath, req.URL.String()) + })) + defer server.Close() + + cl, err := NewRelayAPIClient(server.URL, server.Client(), nil) + assert.NoError(t, err) + assert.NotNil(t, cl) + + ctx, cancel := context.WithTimeout(context.Background(), 100*time.Millisecond) + defer cancel() + cl.PerformStoreAsync(ctx, &api.PerformStoreAsyncRequest{}, &api.PerformStoreAsyncResponse{}) +} + +func TestRelayAPIClientQuery(t *testing.T) { + // Start a local HTTP server + server := httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) { + assert.Equal(t, "/api"+RelayAPIQueryAsyncTransactionsPath, req.URL.String()) + })) + defer server.Close() + + cl, err := NewRelayAPIClient(server.URL, server.Client(), nil) + assert.NoError(t, err) + assert.NotNil(t, cl) + + ctx, cancel := context.WithTimeout(context.Background(), 100*time.Millisecond) + defer cancel() + cl.QueryAsyncTransactions(ctx, &api.QueryAsyncTransactionsRequest{}, &api.QueryAsyncTransactionsResponse{}) +}