...
1 package ldservices
2
3 import (
4 "bytes"
5 "testing"
6
7 "github.com/launchdarkly/go-test-helpers/v3/httphelpers"
8
9 "github.com/stretchr/testify/assert"
10 "github.com/stretchr/testify/require"
11 )
12
13 func TestServerSideEventsEndpoint(t *testing.T) {
14 handler := ServerSideEventsServiceHandler()
15 client := httphelpers.ClientFromHandler(handler)
16
17 resp, err := client.Post("http://fake/bulk", "text/plain", bytes.NewBufferString("hello"))
18 assert.NoError(t, err)
19 require.NotNil(t, resp)
20 assert.Equal(t, 202, resp.StatusCode)
21 }
22
23 func TestServerSideDiagnosticEventsEndpoint(t *testing.T) {
24 handler := ServerSideEventsServiceHandler()
25 client := httphelpers.ClientFromHandler(handler)
26
27 resp, err := client.Post("http://fake/diagnostic", "text/plain", bytes.NewBufferString("hello"))
28 assert.NoError(t, err)
29 require.NotNil(t, resp)
30 assert.Equal(t, 202, resp.StatusCode)
31 }
32
33 func TestServerSideEventsHandlerReturns404ForWrongURL(t *testing.T) {
34 handler := ServerSideEventsServiceHandler()
35 client := httphelpers.ClientFromHandler(handler)
36
37 resp, err := client.Post("http://fake/other", "text/plain", bytes.NewBufferString("hello"))
38 assert.NoError(t, err)
39 require.NotNil(t, resp)
40 assert.Equal(t, 404, resp.StatusCode)
41 }
42
43 func TestServerSideEventsEndpointReturns405ForWrongMethod(t *testing.T) {
44 handler := ServerSideEventsServiceHandler()
45 client := httphelpers.ClientFromHandler(handler)
46
47 resp, err := client.Get("http://fake/bulk")
48 assert.NoError(t, err)
49 require.NotNil(t, resp)
50 assert.Equal(t, 405, resp.StatusCode)
51 }
52
53 func TestServerSideDiagnosticEventsEndpointReturns405ForWrongMethod(t *testing.T) {
54 handler := ServerSideEventsServiceHandler()
55 client := httphelpers.ClientFromHandler(handler)
56
57 resp, err := client.Get("http://fake/diagnostic")
58 assert.NoError(t, err)
59 require.NotNil(t, resp)
60 assert.Equal(t, 405, resp.StatusCode)
61 }
62
View as plain text