FILE / ScuroNeko/mtg

network/v2/base_http_test.go

Исходный файл и его история в репозитории.
FILE 42927c8bdc2ed15f28a577894ef4fabfcf3e817e
Files
mtg/network/v2/base_http_test.go
T
2026-02-27 15:50:21 +01:00

50 lines
999 B
Go

package network_test
import (
"io"
"net/http"
"net/http/httptest"
"testing"
"github.com/9seconds/mtg/v2/network/v2"
"github.com/stretchr/testify/suite"
)
type BaseHTTPTestSuite struct {
suite.Suite
http *httptest.Server
client *http.Client
}
func (suite *BaseHTTPTestSuite) SetupSuite() {
suite.http = httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusOK)
w.Write([]byte(r.Header.Get("User-Agent")))
}))
}
func (suite *BaseHTTPTestSuite) SetupTest() {
suite.client = network.New(nil, "mtg/1", 0, 0, 0).MakeHTTPClient(nil)
}
func (suite *BaseHTTPTestSuite) TestGet() {
resp, err := suite.client.Get(suite.http.URL)
suite.NoError(err)
defer resp.Body.Close()
data, err := io.ReadAll(resp.Body)
suite.NoError(err)
suite.Equal("mtg/1", string(data))
}
func (suite *BaseHTTPTestSuite) TearDownSuite() {
suite.http.Close()
}
func TestBaseHTTP(t *testing.T) {
t.Parallel()
suite.Run(t, &BaseHTTPTestSuite{})
}