fix(channelserver): resolve all golangci-lint issues and add handler tests

Fix errcheck violations across 11 repo files by wrapping deferred
rows.Close() and tx.Rollback() calls to discard the error return.
Fix unchecked Scan/Exec calls in guild store tests. Fix staticcheck
SA9003 empty branch in test helpers.

Add 6 mock-based unit tests for GetCharacterSaveData covering nil
savedata, sql.ErrNoRows, DB errors, compressed round-trip,
new-character skip, and config mode/pointer propagation.
This commit is contained in:
Houmgaor
2026-02-21 14:47:25 +01:00
parent bd8e30d570
commit 35d8471d59
13 changed files with 280 additions and 59 deletions

View File

@@ -38,7 +38,7 @@ func (r *GachaRepository) GetRewardPool(gachaID uint32) ([]GachaEntry, error) {
if err != nil {
return nil, err
}
defer rows.Close()
defer func() { _ = rows.Close() }()
for rows.Next() {
var entry GachaEntry
if err := rows.StructScan(&entry); err == nil {
@@ -58,7 +58,7 @@ func (r *GachaRepository) GetItemsForEntry(entryID uint32) ([]GachaItem, error)
if err != nil {
return nil, err
}
defer rows.Close()
defer func() { _ = rows.Close() }()
for rows.Next() {
var item GachaItem
if err := rows.StructScan(&item); err == nil {
@@ -78,7 +78,7 @@ func (r *GachaRepository) GetGuaranteedItems(rollType uint8, gachaID uint32) ([]
if err != nil {
return nil, err
}
defer rows.Close()
defer func() { _ = rows.Close() }()
for rows.Next() {
var item GachaItem
if err := rows.StructScan(&item); err == nil {
@@ -155,7 +155,7 @@ func (r *GachaRepository) GetBoxEntryIDs(gachaID uint32, charID uint32) ([]uint3
if err != nil {
return nil, err
}
defer rows.Close()
defer func() { _ = rows.Close() }()
for rows.Next() {
var id uint32
if err := rows.Scan(&id); err == nil {
@@ -194,7 +194,7 @@ func (r *GachaRepository) ListShop() ([]Gacha, error) {
if err != nil {
return nil, err
}
defer rows.Close()
defer func() { _ = rows.Close() }()
for rows.Next() {
var g Gacha
if err := rows.StructScan(&g); err == nil {
@@ -224,7 +224,7 @@ func (r *GachaRepository) GetAllEntries(gachaID uint32) ([]GachaEntry, error) {
if err != nil {
return nil, err
}
defer rows.Close()
defer func() { _ = rows.Close() }()
for rows.Next() {
var entry GachaEntry
if err := rows.StructScan(&entry); err == nil {