MCPcopy Create free account
hub / github.com/compozy/agh / newGitHubServer

Function newGitHubServer

internal/registry/github/client_test.go:1050–1079  ·  view source on GitHub ↗
(t *testing.T, handler func(http.ResponseWriter, *http.Request))

Source from the content-addressed store, hash-verified

1048}
1049
1050func newGitHubServer(t *testing.T, handler func(http.ResponseWriter, *http.Request)) *httptest.Server {
1051 t.Helper()
1052
1053 var server *httptest.Server
1054 server = httptest.NewServer(http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) {
1055 recorder := httptest.NewRecorder()
1056 handler(recorder, request)
1057 response := recorder.Result()
1058 defer func() {
1059 if err := response.Body.Close(); err != nil {
1060 t.Fatalf("response.Body.Close() error = %v", err)
1061 }
1062 }()
1063
1064 for key, values := range response.Header {
1065 for _, value := range values {
1066 writer.Header().Add(key, value)
1067 }
1068 }
1069 writer.WriteHeader(response.StatusCode)
1070
1071 payload, err := io.ReadAll(response.Body)
1072 if err != nil {
1073 t.Fatalf("io.ReadAll(response.Body) error = %v", err)
1074 }
1075 payload = bytes.ReplaceAll(payload, []byte(serverURLPlaceholder), []byte(server.URL))
1076 _, _ = writer.Write(payload)
1077 }))
1078 return server
1079}
1080
1081func writeJSON(writer http.ResponseWriter, body string) {
1082 writer.Header().Set("Content-Type", "application/json")

Calls 4

CloseMethod · 0.65
WriteMethod · 0.65
handlerFunction · 0.50
AddMethod · 0.45

Tested by

no test coverage detected