Skip to content
Snippets Groups Projects
Commit 86233321 authored by Bayu Samudra's avatar Bayu Samudra
Browse files

fix: test error

parent ce464779
Branches
3 merge requests!13Staging,!7Adding Mailing and Register,!6Finished Login API
Pipeline #51682 passed with stage
in 2 minutes and 19 seconds
package test
import (
"gitlab.informatika.org/ocw/ocw-backend/test/db"
"gitlab.informatika.org/ocw/ocw-backend/utils/app"
)
type ApiTestPack struct {
*db.MockDatabase
app.Server
}
......@@ -15,12 +15,13 @@ import (
"gitlab.informatika.org/ocw/ocw-backend/test/db"
"gitlab.informatika.org/ocw/ocw-backend/utils"
"gitlab.informatika.org/ocw/ocw-backend/utils/app"
"gitlab.informatika.org/ocw/ocw-backend/utils/env"
)
func CreateServer(logger logger.Logger, envTest *env.Environment) (app.Server, error) {
func CreateServer(logger logger.Logger, envTest *env.Environment) (*ApiTestPack, error) {
wire.Build(
wire.Struct(new(ApiTestPack), "*"),
utils.UtilSetTest,
repository.RepositoryBasicSet,
handler.HandlerSet,
......
......@@ -4,19 +4,20 @@ import (
"net/http"
"gitlab.informatika.org/ocw/ocw-backend/test"
"gitlab.informatika.org/ocw/ocw-backend/test/db"
"gitlab.informatika.org/ocw/ocw-backend/utils/env"
)
func NewTestHandler() (http.Handler, *MockLogger, error) {
func NewTestHandler() (http.Handler, *MockLogger, *db.MockDatabase, error) {
logger := NewMockLogger()
handler, err := test.CreateServer(logger, &env.Environment{
AppEnvironment: "DEVELOPMENT",
})
if err != nil {
return nil, nil, err
return nil, nil, nil, err
}
logger.CleanLog()
return handler.GetServer(), logger, nil
return handler.GetServer(), logger, handler.MockDatabase, nil
}
......@@ -15,7 +15,7 @@ type RequestData struct {
}
func ExecuteJSON(reqData RequestData) (*http.Response, *MockLogger, error) {
r, log, err := NewTestHandler()
r, log, _, err := NewTestHandler()
if err != nil {
return nil, nil, err
......@@ -50,3 +50,32 @@ func ExecuteJSON(reqData RequestData) (*http.Response, *MockLogger, error) {
return res, log, nil
}
func ExecuteJSONWithHandler(r http.Handler, reqData RequestData) (*http.Response, error) {
var req *http.Request
if reqData.Data == nil {
req = httptest.NewRequest(reqData.Method, reqData.Endpoint, nil)
} else {
byteData, err := json.Marshal(reqData.Data)
if err != nil {
return nil, err
}
reader := bytes.NewReader(byteData)
req = httptest.NewRequest(reqData.Method, reqData.Endpoint, reader)
}
if reqData.Headers != nil {
for key, value := range reqData.Headers {
req.Header.Add(key, value)
}
}
rec := httptest.NewRecorder()
r.ServeHTTP(rec, req)
return rec.Result(), nil
}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment