Refactor Docker and Makefile configurations for improved build processes
- Updated docker-compose.tools.yml to mount source code at /src and set working directory for backend tools, ensuring proper Go module caching. - Modified Dockerfile.tools to install the latest golangci-lint version compatible with Go 1.24 and adjusted working directory for build-time operations. - Enhanced Makefile to build backend tools before running tests and linting, ensuring dependencies are up-to-date and improving overall workflow efficiency. - Refactored test and handler files to include error handling for database operations, enhancing reliability and debugging capabilities.
This commit is contained in:
@@ -57,9 +57,11 @@ func TestGetConfig(t *testing.T) {
|
||||
svc, st := newTestMapService(t)
|
||||
ctx := context.Background()
|
||||
|
||||
st.Update(ctx, func(tx *bbolt.Tx) error {
|
||||
if err := st.Update(ctx, func(tx *bbolt.Tx) error {
|
||||
return st.PutConfig(tx, "title", []byte("Test Map"))
|
||||
})
|
||||
}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
config, err := svc.GetConfig(ctx, app.Auths{app.AUTH_MAP})
|
||||
if err != nil {
|
||||
@@ -93,9 +95,11 @@ func TestGetConfig_Empty(t *testing.T) {
|
||||
func TestGetPage(t *testing.T) {
|
||||
svc, st := newTestMapService(t)
|
||||
ctx := context.Background()
|
||||
st.Update(ctx, func(tx *bbolt.Tx) error {
|
||||
if err := st.Update(ctx, func(tx *bbolt.Tx) error {
|
||||
return st.PutConfig(tx, "title", []byte("Map Page"))
|
||||
})
|
||||
}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
page, err := svc.GetPage(ctx)
|
||||
if err != nil {
|
||||
@@ -112,9 +116,11 @@ func TestGetGrid(t *testing.T) {
|
||||
|
||||
gd := app.GridData{ID: "g1", Map: 1, Coord: app.Coord{X: 5, Y: 10}}
|
||||
raw, _ := json.Marshal(gd)
|
||||
st.Update(ctx, func(tx *bbolt.Tx) error {
|
||||
if err := st.Update(ctx, func(tx *bbolt.Tx) error {
|
||||
return st.PutGrid(tx, "g1", raw)
|
||||
})
|
||||
}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
got, err := svc.GetGrid(ctx, "g1")
|
||||
if err != nil {
|
||||
@@ -158,11 +164,17 @@ func TestGetMaps_HiddenFilter(t *testing.T) {
|
||||
mi2 := app.MapInfo{ID: 2, Name: "hidden", Hidden: true}
|
||||
raw1, _ := json.Marshal(mi1)
|
||||
raw2, _ := json.Marshal(mi2)
|
||||
st.Update(ctx, func(tx *bbolt.Tx) error {
|
||||
st.PutMap(tx, 1, raw1)
|
||||
st.PutMap(tx, 2, raw2)
|
||||
if err := st.Update(ctx, func(tx *bbolt.Tx) error {
|
||||
if err := st.PutMap(tx, 1, raw1); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := st.PutMap(tx, 2, raw2); err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
})
|
||||
}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
maps, err := svc.GetMaps(ctx, false)
|
||||
if err != nil {
|
||||
@@ -201,14 +213,18 @@ func TestGetMarkers_WithData(t *testing.T) {
|
||||
m := app.Marker{Name: "Tower", ID: 1, GridID: "g1", Position: app.Position{X: 10, Y: 20}, Image: "gfx/terobjs/mm/tower"}
|
||||
mRaw, _ := json.Marshal(m)
|
||||
|
||||
st.Update(ctx, func(tx *bbolt.Tx) error {
|
||||
st.PutGrid(tx, "g1", gdRaw)
|
||||
if err := st.Update(ctx, func(tx *bbolt.Tx) error {
|
||||
if err := st.PutGrid(tx, "g1", gdRaw); err != nil {
|
||||
return err
|
||||
}
|
||||
grid, _, err := st.CreateMarkersBuckets(tx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return grid.Put([]byte("g1_10_20"), mRaw)
|
||||
})
|
||||
}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
markers, err := svc.GetMarkers(ctx)
|
||||
if err != nil {
|
||||
@@ -233,9 +249,11 @@ func TestGetTile(t *testing.T) {
|
||||
|
||||
td := app.TileData{MapID: 1, Coord: app.Coord{X: 0, Y: 0}, Zoom: 0, File: "grids/g1.png", Cache: 12345}
|
||||
raw, _ := json.Marshal(td)
|
||||
st.Update(ctx, func(tx *bbolt.Tx) error {
|
||||
if err := st.Update(ctx, func(tx *bbolt.Tx) error {
|
||||
return st.PutTile(tx, 1, 0, "0_0", raw)
|
||||
})
|
||||
}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
got := svc.GetTile(ctx, 1, app.Coord{X: 0, Y: 0}, 0)
|
||||
if got == nil {
|
||||
@@ -287,9 +305,11 @@ func TestGetAllTileCache_WithData(t *testing.T) {
|
||||
|
||||
td := app.TileData{MapID: 1, Coord: app.Coord{X: 1, Y: 2}, Zoom: 0, Cache: 999}
|
||||
raw, _ := json.Marshal(td)
|
||||
st.Update(ctx, func(tx *bbolt.Tx) error {
|
||||
if err := st.Update(ctx, func(tx *bbolt.Tx) error {
|
||||
return st.PutTile(tx, 1, 0, "1_2", raw)
|
||||
})
|
||||
}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
cache := svc.GetAllTileCache(ctx)
|
||||
if len(cache) != 1 {
|
||||
|
||||
Reference in New Issue
Block a user