Skip to content

Commit

Permalink
Adds tests for http backend
Browse files Browse the repository at this point in the history
  • Loading branch information
ksysoev committed Apr 7, 2024
1 parent a4f9994 commit af6860b
Show file tree
Hide file tree
Showing 3 changed files with 265 additions and 0 deletions.
1 change: 1 addition & 0 deletions .mockery.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@ packages:
Backend:
RequestHandler:
Connection:
Request:
38 changes: 38 additions & 0 deletions backend/http_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package backend

import (
"bytes"
"net/http"
"net/http/httptest"
"testing"

"github.com/ksysoev/wasabi"
"github.com/ksysoev/wasabi/mocks"
)

func TestHTTPBackend_Handle(t *testing.T) {
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte(`OK`))

Check failure on line 15 in backend/http_test.go

View workflow job for this annotation

GitHub Actions / tests

Error return value of `w.Write` is not checked (errcheck)
}))
defer server.Close()

mockConn := mocks.NewMockConnection(t)
mockReq := mocks.NewMockRequest(t)

mockConn.EXPECT().Send([]byte("OK")).Return(nil)
mockReq.EXPECT().Data().Return([]byte("test request"))

backend := NewBackend(func(req wasabi.Request) (*http.Request, error) {
bodyReader := bytes.NewBufferString(string(req.Data()))
httpReq, err := http.NewRequest("GET", server.URL, bodyReader)
if err != nil {
return nil, err
}
return httpReq, nil
})

err := backend.Handle(mockConn, mockReq)
if err != nil {
t.Fatal(err)
}
}
226 changes: 226 additions & 0 deletions mocks/mock_Request.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit af6860b

Please sign in to comment.