feat: runtime manager
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
package router_test
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"net/http"
|
||||
"net/http/httptest"
|
||||
"testing"
|
||||
|
||||
"galaxy/game/internal/controller"
|
||||
"galaxy/game/internal/router"
|
||||
"galaxy/game/internal/router/handler"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestHealthzReturnsOKWithoutInit(t *testing.T) {
|
||||
r := router.SetupRouter(handler.NewDefaultConfigExecutor(func(p *controller.Param) {
|
||||
p.StoragePath = ""
|
||||
}))
|
||||
|
||||
w := httptest.NewRecorder()
|
||||
req, _ := http.NewRequest(http.MethodGet, "/healthz", nil)
|
||||
r.ServeHTTP(w, req)
|
||||
|
||||
require.Equal(t, http.StatusOK, w.Code, w.Body)
|
||||
|
||||
var body map[string]string
|
||||
require.NoError(t, json.Unmarshal(w.Body.Bytes(), &body))
|
||||
assert.Equal(t, "ok", body["status"])
|
||||
}
|
||||
|
||||
func TestResolveStoragePathPrecedence(t *testing.T) {
|
||||
t.Setenv("STORAGE_PATH", "/tmp/storage")
|
||||
t.Setenv("GAME_STATE_PATH", "/tmp/state")
|
||||
|
||||
got, err := handler.ResolveStoragePath()
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, "/tmp/storage", got)
|
||||
}
|
||||
|
||||
func TestResolveStoragePathFallback(t *testing.T) {
|
||||
t.Setenv("STORAGE_PATH", "")
|
||||
t.Setenv("GAME_STATE_PATH", "/tmp/state")
|
||||
|
||||
got, err := handler.ResolveStoragePath()
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, "/tmp/state", got)
|
||||
}
|
||||
|
||||
func TestResolveStoragePathMissing(t *testing.T) {
|
||||
t.Setenv("STORAGE_PATH", "")
|
||||
t.Setenv("GAME_STATE_PATH", "")
|
||||
|
||||
_, err := handler.ResolveStoragePath()
|
||||
require.Error(t, err)
|
||||
}
|
||||
Reference in New Issue
Block a user