Skip to content

Commit

Permalink
Replace mockResponseWithRequestValidator with MockResponder
Browse files Browse the repository at this point in the history
  • Loading branch information
adlio committed Mar 28, 2022
1 parent c967f19 commit a78a5da
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 37 deletions.
30 changes: 13 additions & 17 deletions card_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -119,23 +119,21 @@ func TestBoardContainsCopyOfCard(t *testing.T) {

func TestCreateCard(t *testing.T) {
c := testClient()
server := mockResponseWithRequestValidator(t, func(r *http.Request) error {
server := NewMockResponder(t, "cards", "card-create.json")
defer server.Close()
server.AssertRequest(func(t *testing.T, r *http.Request) {
due := r.URL.Query().Get("due")

if _, err := time.Parse(time.RFC3339, due); err != nil {
return fmt.Errorf("Expected due to be in RFC3339 format, but value was '%v'", due)
t.Errorf("Expected due to be in RFC3339 format, but value was '%v'", due)
}

start := r.URL.Query().Get("start")

if _, err := time.Parse(time.RFC3339, start); err != nil {
return fmt.Errorf("Expected start to be in RFC3339 format, but value was '%v'", start)
t.Errorf("Expected start to be in RFC3339 format, but value was '%v'", start)
}
return nil
}, "cards", "card-create.json")
defer server.Close()
})

c.BaseURL = server.URL
c.BaseURL = server.URL()
dueDate := time.Now().AddDate(0, 0, 3)
startDate := time.Now().AddDate(0, 0, 2)

Expand Down Expand Up @@ -173,22 +171,20 @@ func TestCreateCard(t *testing.T) {
func TestAddCardToList(t *testing.T) {
l := testList(t)

server := mockResponseWithRequestValidator(t, func(r *http.Request) error {
server := NewMockResponder(t, "cards", "card-posted-to-bottom-of-list.json")
server.AssertRequest(func(t *testing.T, r *http.Request) {
due := r.URL.Query().Get("due")

if _, err := time.Parse(time.RFC3339, due); err != nil {
return fmt.Errorf("Expected due to be in RFC3339 format, but value was '%v'", due)
t.Errorf("Expected due to be in RFC3339 format, but value was '%v'", due)
}

start := r.URL.Query().Get("start")

if _, err := time.Parse(time.RFC3339, start); err != nil {
return fmt.Errorf("Expected start to be in RFC3339 format, but value was '%v'", start)
t.Errorf("Expected start to be in RFC3339 format, but value was '%v'", start)
}
return nil
}, "cards", "card-posted-to-bottom-of-list.json")
})
defer server.Close()
l.client.BaseURL = server.URL
l.client.BaseURL = server.URL()
dueDate := time.Now().AddDate(0, 0, 2)
startDate := time.Now().AddDate(0, 0, 1)

Expand Down
20 changes: 0 additions & 20 deletions mock-response_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ import (
"os"
"path/filepath"
"strings"
"testing"
)

func mockResponse(paths ...string) *httptest.Server {
Expand All @@ -31,25 +30,6 @@ func mockResponse(paths ...string) *httptest.Server {
}))
}

func mockResponseWithRequestValidator(t *testing.T, validatorFn func(r *http.Request) error, paths ...string) *httptest.Server {
parts := []string{".", "testdata"}
filename := filepath.Join(append(parts, paths...)...)

mockData, err := ioutil.ReadFile(filename)
if err != nil {
log.Fatal(err)
}
return httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) {
if err := validatorFn(r); err != nil {
t.Errorf("Request validation failed: %v", err)
t.FailNow()
return
}

rw.Write(mockData)
}))
}

func mockDynamicPathResponse() *httptest.Server {
return httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) {

Expand Down

0 comments on commit a78a5da

Please sign in to comment.