83 lines
1.7 KiB
Go
83 lines
1.7 KiB
Go
package test
|
|
|
|
import (
|
|
"fmt"
|
|
"io"
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
|
|
"mstore/app/router"
|
|
"mstore/app/server"
|
|
"mstore/app/service"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestFileExists(t *testing.T) {
|
|
var err error
|
|
srv, err := server.NewServer()
|
|
require.NoError(t, err)
|
|
|
|
err = srv.Configure()
|
|
require.NoError(t, err)
|
|
|
|
err = srv.Build()
|
|
require.NoError(t, err)
|
|
|
|
reqPath := "/api/v3/file/foo/bare/abc123"
|
|
routePath := `/api/v3/file/{filepath}`
|
|
|
|
rout := router.NewRouter()
|
|
hand := srv.Handler()
|
|
require.NotNil(t, hand)
|
|
|
|
rout.Head(routePath, hand.FileExists)
|
|
|
|
request, err := http.NewRequest("HEAD", reqPath, nil)
|
|
require.NoError(t, err)
|
|
|
|
recorder := httptest.NewRecorder()
|
|
rout.ServeHTTP(recorder, request)
|
|
require.Equal(t, http.StatusOK, recorder.Code)
|
|
|
|
fmt.Printf("Response code: %d\n", recorder.Code)
|
|
|
|
//bodyReader := recorder.Body
|
|
//bodyBytes, err := io.ReadAll(bodyReader)
|
|
|
|
//fmt.Printf("Response body: %s\n", string(bodyBytes))
|
|
}
|
|
|
|
func xxxTestServiceHello(t *testing.T) {
|
|
var err error
|
|
srv, err := server.NewServer()
|
|
require.NoError(t, err)
|
|
|
|
err = srv.Configure()
|
|
require.NoError(t, err)
|
|
|
|
err = srv.Build()
|
|
require.NoError(t, err)
|
|
|
|
reqPath := service.ServiceHelloPath
|
|
|
|
rout := router.NewRouter()
|
|
hand := srv.Handler()
|
|
rout.Get(reqPath, hand.SendHello)
|
|
|
|
request, err := http.NewRequest("GET", reqPath, nil)
|
|
require.NoError(t, err)
|
|
|
|
recorder := httptest.NewRecorder()
|
|
rout.ServeHTTP(recorder, request)
|
|
require.Equal(t, http.StatusOK, recorder.Code)
|
|
|
|
fmt.Printf("Response code: %d\n", recorder.Code)
|
|
|
|
bodyReader := recorder.Body
|
|
bodyBytes, err := io.ReadAll(bodyReader)
|
|
|
|
fmt.Printf("Response body: %s\n", string(bodyBytes))
|
|
}
|