Files
airtable/mock-response_test.go

38 lines
811 B
Go

// Copyright © 2020 Mike Berezin
//
// Use of this source code is governed by an MIT license.
// Details in the LICENSE file.
package airtable
import (
"log"
"net/http"
"net/http/httptest"
"os"
"path/filepath"
)
func mockResponse(paths ...string) *httptest.Server {
parts := []string{".", "testdata"}
filename := filepath.Join(append(parts, paths...)...)
mockData, err := os.ReadFile(filename)
if err != nil {
log.Fatal(err)
}
return httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) {
_, err := rw.Write(mockData)
if err != nil {
log.Fatal(err)
}
}))
}
func mockErrorResponse(code int) *httptest.Server {
return httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, r *http.Request) {
http.Error(rw, "An error occurred", code)
}))
}